NMath includes decomposition classes for constructing and manipulating QR and singular value decompositions of the general matrix types. NMath also provides decomposition server classes that construct instances of the decomposition classes, allowing you greater control over how decomposition is performed.
For example, class DoubleQRDecomp computes the QR decomposition of a DoubleMatrix. By default, this decomposition class performs pivoting—that is, it may move columns in the input matrix to increase the robustness of the calculation. For control over how pivoting is performed, or to turn off pivoting altogether, the associated decomposition server class, DoubleQRDecompServer, may be used to create instances of DoubleQRDecomp with non-default decomposition parameters.
This chapter describes the NMath decomposition and decomposition server classes, and how to construct and use them.