The class Complex instantiates an object as being of type Complex and provides methods for double precision complex arithmetic. Methods for the addition, subtraction, multiplication, division, negation, and conugation of complex numbers are included. These methods are overloaded to allow for mixed double and Complex operands. The linear algebra classes manipulate rectangular or square arrays of type double or Complex. A square matrix is a rectangular matrix with the number of columns equal to the number of rows.
All matrices are row major with zero as the index of the first element of any row or column.
The class DoubleVector contains static methods for manipulating vectors. There are methods for vector norms, maximum and minimum elements, and dot product. The class DoubleMatrix contains static methods for manipulating matrices. There are methods for matrix multiplication, inversion and solving linear systems. The classes DoubleCholesky , DoubleLU , DoubleQR and DoubleSVD encapsulate standard matrix decompositions.