Rajesh Subramanian - 8 months ago 61

Python Question

i was trying to normalize a vector in python using numpy. I did the following:

`matrix_norm = numpy.linalg.norm(matrix1[:,0], ord='fro')`

print(matrix_norm)

The matrix1 is of size: 1000 X 1400. I tried find the normalization value for the first column of the matrix. And it gives me the following exception:

"Invalid norm order for vectors"

Please help !

Thanks in advance... :)

Answer

`ord='fro'`

is the Frobenius norm (https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.norm.html) and in numpy it is considered an invalid for vector norms (see https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.norm.html). If you want the 2-norm for vectors, just drop `ord`

:

```
norm_of_first_column = numpy.linalg.norm(matrix1[:,0])
```

Source (Stackoverflow)