Go to the previous, next section.

Vector Space Utilities

The perpendicular method takes a fract_vector as an argument. It returns TRUE if the dot product of its argument and each of the basis vectors in the space is 0. The space_full method checks to see if the vector space's basis vectors span the entire space.

The proj_matrix method calculates the projection matrix for the vector space. This matrix projects any vector b onto the vector space. Let the current vector space be the column space for a matrix A, and resulting matrix be P. Also, let AT be the transpose of A. The projection is calculated using: P = A * ((AT * A)^-1)*AT.

The beautify method simplifies the basis vectors in the space. For example:

{(3, 0, 0), (8, 0, -5)}  ==> {(1, 0, 0), (0, 0, 1)}

The reduce_magnitude method will try to maximally reduce the numerator of the fractions in the basis vectors of the space. The fill_space method increases the space dimension of the vector space to the value given as its argument.

The method in determines if its fract_vector argument is spanned by the vector space. The argument is factored with the LU decomposition of the vector space's matrix representation. If the resulting factored vector is dependent, then it is already in the vector space. Finally, the method insert will insert its fract_vector argument into the vector space, if the argument is not already in the space.

Go to the previous, next section.