KrisLibrary
1.0.0
|
Numerical conditioners for a matrix equation A*x=b. More...
#include "matrix.h"
#include "DiagonalMatrix.h"
#include "linalgebra.h"
Go to the source code of this file.
Classes | |
struct | Math::Conditioner_SymmDiag |
A matrix conditioner that does a pre/postmultiply with a diagonal S. More... | |
Namespaces | |
Math | |
Contains all definitions in the Math package. | |
Numerical conditioners for a matrix equation A*x=b.
A conditioner solves a transformed equation A'*x'=b' with better properties (and such that x is readily available from x').
One example is CG preconditioners (these are in conjgrad.h), Uniform scaling: A' = cA, b' = c*b. Matrix premultiply: A' = C*A, b' = C*b. or postmultiply: A' = A*C, x' = C^-1*x.
Would like to retain symmetricity for symmetric matrices, so can use A' = C*A*C^t, x' = C^-t*x, b' = C*b.
The implementation is such that on initialization, the matrices A and b are immediately altered to obtain A',b'. x' is solved for with any method in in MatrixEquation, and x is obtained from x' using the Post() method.