Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

4.1 Defining Factorizations

The matrix classes described in Chapter 3 are the basic classes used to represent linear operators in LAPACK.h++. For some operations, however, representing a system of equations via its coefficient matrix is not suitable. The most important of these operations is computation using the reverse mapping, more commonly known as solving the system of equations. For this operation, it is more convenient to represent the system of equations as a factorization. The type of factorization constructed, which is LU for a general system or Cholesky for a positive definite system, is part of the implementation. You don't have to know about it.

The factorization classes are used to calculate determinants, inverses, and the condition number of a matrix, and to solve systems of equations. These operations are done in two steps:

In LAPACK.h++, the factorization of the matrix is calculated by the class constructor. The resulting object can then be used to calculate determinants or inverses, or to solve systems of equations. For simple operations, you may not want to know about factorizations at all. By using automatic type conversion, you don't have to know! However, for situations where the same matrix is used for more than one operation, or for more complex situations where the condition number is required, for example, it is much more efficient to calculate the factorization once and use it multiple times.

There are factorization classes for general square, symmetric, positive-definite symmetric, banded, and positive-definite banded matrices in float, double, and double complex precisions. Every factorization class has a virtually identical interface. Once you learn to use one type, you can use them all.


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.