Learn practical skills, build real-world projects, and advance your career

Matrix Calculations in PyTorch

  • function 1: torch.mm(input, mat2, *, out=None)

Performs multiplication of two matrices.
This function takes two parameters namely: input -> first matrix to be multiplied and mat2-> second matrix to be multiplied.
The out keyword argument is optional.
Unlike the torch.matmul() function, this function does not broadcast matrix products.

  • function 2: torch.mv(input, vec)

Performs a matrix-vector product of the matrix 'input' and the vector 'vec'.
This function takes two parameters namely: input -> matrix to be multiplied and vec-> vector to be multiplied.
Just like the torch.mm() function, it does not support broadcasting.

  • function 3: torch.bmm(input, mat2, *, deterministic=False, out=None)

Performs a batch matrix-matrix product of matrices stored in input and mat2.
input -> first matrix to be multiplied and mat2-> second matrix to be multiplied.
input and mat2 must be 3-D tensors each containing the same number of matrices.
It does not support broadcasting. The out keyword argument is optional.

  • function 5: torch.dot(input, tensor)

Performs an elementwise dot product of two tensors (input and tensor). This function does not broadcast.

  • function 5: torch.inverse((input, *, out=None) )

Computes the inverse of a square matrix input.
input -> can be batches of 2D square tensors, in which case this function would return a tensor composed of individual inverses.

# Import torch and other required modules
import torch

Function 1 - torch.mm(input, mat2)

This function performs a multiplication of two given matrices as illustrated by the examples below

# Example 1

# We create our first matrix for multiplication

tensor1 = torch.Tensor(
    [
    [1, 1], 
    [2, 2]
    ])
tensor1
tensor([[1., 1.],
        [2., 2.]])
# We create our second matrix for multiplication

tensor2 = torch.Tensor(
    [
    [3, 4], 
    [3, 4]
    ])
tensor2
tensor([[3., 4.],
        [3., 4.]])