Computes the solution of a sparse Hermitian positive definite system of linear equations Ax=b.

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
public Complex[] Solve(
	Complex[] b
)
Visual Basic (Declaration)
Public Function Solve ( _
	b As Complex() _
) As Complex()
Visual C++
public:
array<Complex>^ Solve(
	array<Complex>^ b
)

Parameters

b
Type: array< Imsl.Math..::.Complex >[]()[]
A Complex vector of length equal to the order of matrix A containing the right-hand side.

Return Value

A Complex vector of length equal to the order of matrix A containing the solution of the system Ax=b.

Remarks

This method solves the linear system Ax=b, where A is Hermitian positive definite. The solution is obtained in several steps:

  1. First, matrix A is permuted to reduce fill-in, leading to a sparse Hermitian positive definite system PAP^T(Px)=Pb.
  2. Then, matrix PAP^T is symbolically and numerically factored.
  3. The final solution is obtained by solving the systems Ly_1=Pb, L^Ty_2=y_1 and x=P^Ty_2.

By default this method implements all of the above steps. The factorizations are retained for later use by subsequent solves. By choosing appropriate methods within this class, the computation can be reduced to the solution of the system Ax=b for a given or precomputed symbolic or numeric factor.

Exceptions

ExceptionCondition
Imsl.Math..::.NotSPDException is thrown when the input matrix is not Hermitian, positive definite.

See Also