Go to the source code of this file.
|void||LaBandMatFactorize (LaBandMatDouble &A, LaBandFactDouble &AF)|
|void||LaLinearSolve (LaBandFactDouble &AF, LaGenMatDouble &X, LaGenMatDouble &B)|
Do not use this unless you are really sure you understand what this class does.
Calculate the LU factorization of a matrix A.
Note: The class LaBandFactDouble is probably broken by design, because the matrices L and U do not exist separately in the internal lapack but they are part of the modified input matrix A. The factorization classes need a complete redesign.
However, the intended behaviour can be achieved when the LaBandFactDouble object is constructed with the original matrix A as argument. This work if and only if 1. the original matrix A is allowed to be destroyed by the factorization, and 2. you use the same original matrix for calling this function. Use the following code:
// original matrix A: LaBandMatDouble A(m,n); // fill A somehow. Then construct the factorization: LaBandFactDouble AF(A); LaBandMatFactorize(A, AF); // AF refers to the factorization. A may no longer be used, which is // fine. Now use the factorization: LaLinearSolve(AF, X, B); // ... and so on.