Class: ComplexLU

LinearAlgebra. ComplexLU


new ComplexLU()

This class represents a complex LU factorization of a square ComplexSparseMatrix.
The factorization is computed on the first call to solveSquare, and is reused
in subsequent calls to solveSquare (e.g. when only the right hand side b
of the linear system Ax = b changes) unless the complex sparse matrix itself
is altered through operations such as *=, += and -=. Do not use the constructor
to initialize this class, instead access the complex LU factorization
of a complex sparse matrix directly from the matrix itself.

Example
// solve the linear system Ax = b, where A is a square and complex sparse matrix
let A = ComplexSparseMatrix.identity(5, 5);
let b = ComplexDenseMatrix.ones(5, 1);

let lu = A.lu();
let x = lu.solveSquare(b);

b.scaleBy(new Complex(5, 0));
x = lu.solveSquare(b); // factorization is reused

Methods


solveSquare(b)

Solves the linear system Ax = b, where A is a square and complex sparse matrix.

Parameters:
Name Type Description
b module:LinearAlgebra.ComplexDenseMatrix

The complex dense right hand side of the linear system Ax = b.

Returns:
Type
module:LinearAlgebra.ComplexDenseMatrix