Go to the previous, next section.
A number of vector-vector operations are provided. These include
addition, subtraction, multiplication and division. Either a new matrix
can be created (i.e. x = y + z) or the result can be stored into
one of the operands (i.e. x += y). Also, the method dot
calculates the dot product of two vectors.
The fract_vector class has methods that operate on every element
of the vector. These include functions that add, subtract, multiply or
divide a fraction or integer to every element.
A number of miscellaneous math operations on vectors are also available.
The method inverse returns a fract_vector where every
element is the inverse of the original vector. The proportional
method checks to see if two vectors are proportional (i.e. all the
corresponding elements have the same ratio). The
reduce_magnitude method will try to maximally reduce the
numerator of all the fractions in the vector.
The projection method takes a fract_vector as an argument
and returns a fract_vector representing the point that's the
projection of the current vector onto the line spanned by the argument
vector. Let a be the argument, b be the current vector,
and p be the resulting point. Also let aT be the
transpose of a. The projection is calculated using the following
equation: p = a * (aT * b / aT * a).
Go to the previous, next section.