# 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.]])
```