Normalize a vector
This functionality does not run in MATLAB.
linalg::normalize(v) normalizes the vector with respect to the 2-norm ( ).
The result of linalg::normalize(v) is a vector that has norm 1 and the same direction as v.
The scalar product for a vector is implemented by the function linalg::scalarProduct.
If the norm is an object that cannot be converted into an element of the component ring of v, then an error occurs (see Example 2).
We define the following vector:
u := matrix([[1, 2]])
Then the vector of norm 1 with the same direction as u is given by:
The following computation fails because the vector (1, 2) cannot be normalized over the rationals:
v := Dom::Matrix(Dom::Rational)([[1, 2]]): linalg::normalize(v)
Error: Cannot normalize the given vector over its component ring. [linalg::normalize]
If we define v over the real numbers, then we get the normalized vector of v as follows:
w := Dom::Matrix(Dom::Real)(v): linalg::normalize(w)
A vector, i.e., an n ⨉ 1 or 1 ⨉ n matrix of a domain of category Cat::Matrix