Go to the previous, next section.

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.