-
Notifications
You must be signed in to change notification settings - Fork 9
MGroup.LinearAlgebra.Iterative.MinimumResidual
Implements the MINRES algorithm for solving an n-by-n system of linear equations: A*x = b, where A is symmetric and b is a given vector of length n. A may be indefinite. It can also be singular, in which case the least squares problem is solved instead. The MINRES method is presented by C. C. Paige, M. A. Saunders in https://www.researchgate.net/publication/243578401_Solution_of_Sparse_Indefinite_Systems_of_Linear_Equations. Reorthogonalization is introduced by D. Maddix. For more information, including the Matlab scripts from which this code is ported from, see http://web.stanford.edu/group/SOL/software/minres/. Authors: Serafeim Bakalakos
public class MGroup.LinearAlgebra.Iterative.MinimumResidual.MinRes
Methods
Type | Name | Summary |
---|---|---|
ValueTuple<IVector, MinresStatistics> |
Solve(IMatrixView matrix, IVector rhsVector, Double shift = 0) |
Solves the linear system (A - sI) * x = b, where A = , b = and s = ``. If the matrix A - sI is singular, it solves the same linear least squares problem. |
ValueTuple<IVector, MinresStatistics> |
Solve(IMatrixView matrix, IVector rhsVector, IPreconditioner preconditioner, Double shift = 0) |
Solves the linear system (A - sI) * x = b, where A = , b = and s = ``. If the matrix A - sI is singular, it solves the same linear least squares problem. |
ValueTuple<IVector, MinresStatistics> |
Solve(ILinearTransformation matrix, IVector rhsVector, Double shift = 0) |
Solves the linear system (A - sI) * x = b, where A = , b = and s = ``. If the matrix A - sI is singular, it solves the same linear least squares problem. |
ValueTuple<IVector, MinresStatistics> |
Solve(ILinearTransformation matrix, IVector rhsVector, IPreconditioner preconditioner, Double shift = 0) |
Solves the linear system (A - sI) * x = b, where A = , b = and s = ``. If the matrix A - sI is singular, it solves the same linear least squares problem. |
Data Transfer Object that collects information about the execution and convergence when solving a linear system with the Minimum Redidual algorithm. Authors: Serafeim Bakalakos
public class MGroup.LinearAlgebra.Iterative.MinimumResidual.MinresStatistics
Properties
Type | Name | Summary |
---|---|---|
Int32 |
IterationsRequired | The number of iterations that were run before the algorithm terminated. |
Double |
MatrixCondition | Estimate for cond(A). In the current version of MINRES, it is computed from the diagonals of R in the factorization of the lower Hessenberg matrix, Q* H = R, where H is the tridiagonal matrix from Lanczos with one extra row, beta(k + 1) e_k^T. |
Double |
MatrixNorm | Estimate for the induced norm2 of the matrix A. |
Double |
MatrixTimesResidualNorm | Estimate for norm2(A * (b-A*x) ) at the previous to last iteration. Note that it lags one iteration behind MGroup.LinearAlgebra.Iterative.MinimumResidual.MinresStatistics.ResidualNorm . |
Double |
ResidualNorm | Estimate for norm2(b-A*x) at the last iteration. |
Int32 |
TerminationCause | A code that describes why the algorithm has terminated. For a more readable form, use MGroup.LinearAlgebra.Iterative.MinimumResidual.MinresStatistics.TerminationMessage instead. |
String |
TerminationMessage | A message that describes why the algorithm has terminated. |
Double |
YNorm | Value of norm2(x) at the last iteration. |
Methods
Type | Name | Summary |
---|---|---|
String |
ToString() | Reports the accumulated data of this MGroup.LinearAlgebra.Iterative.MinimumResidual.MinresStatistics instance. |