| IGLib 1.4 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Properties

# IG::Num::ILinearSolver Interface Reference

Classes that can be used for solution of linear systems of equations. This interface is mainly used for matrix dexompositions. More...

Inheritance diagram for IG::Num::ILinearSolver:
[legend]
Collaboration diagram for IG::Num::ILinearSolver:
[legend]

List of all members.

## Public Member Functions
void | GetProduct (ref IMatrix product)
| Calculates the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition, and stores it to the specified matrix.
IMatrix | GetProduct ()
| Calculates and returns the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition.
void | Inverse (ref IMatrix inv)
| Calculates inverse of the decomposed matrix represented by the current object, and stores it in the specified matrix.
IMatrix | Inverse ()
| Calculates and returns inverse of the decomposed matrix represented by the current object.
void | Solve (IMatrix B, ref IMatrix X)
| Solves A*X = B (a set of linear systems of equations), where B is the matrix whose colums are right-hand sides of equations to be solved. Solutions are stored to the specified matrix. Decomposed matrix of coefficients A is represented by the current object.
IMatrix | Solve (IMatrix B)
| Solves A*X = B (a set of linear systems of equations), where B is the matrix whose colums are right-hand sides of equations to be solved, and returns a matrix whose columns are solutions of the specified systems of equations. Decomposed matrix of coefficients A is represented by the current object.
void | Solve (IVector b, ref IVector x)
| Solves a system of linear equations A*x=b, and stores the solution in the specified vector. Decomposed matrix of coefficients A is represented by the current object.
IVector | Solve (IVector b)
| Solves a system of linear equations A*x=b, and returns the solution. Decomposed matrix of coefficients A is represented by the current object.
## Properties
bool | IsNonSingular`[get]`
| Indicates whether the matrix of coefficients of a linear system represented by the current decomposition object, is nonsingular.

## Detailed Description

Classes that can be used for solution of linear systems of equations.

This interface is mainly used for matrix dexompositions.

$A Igor Apr12;

## Member Function Documentation

void IG::Num::ILinearSolver::GetProduct | ( | ref IMatrix | product | ) |

Calculates the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition, and stores it to the specified matrix.

Parameters:

  product | Matrix where re-calculated product of the decomposed matrix is stored.

Implemented in IG::Num::LUDecomposition, IG::Num::QRDecomposition, IG::Num::CholeskyDecomposition, IG::Num::EigenValueDecomposition, and IG::Num::SingularValueDecomposition.

IMatrix IG::Num::ILinearSolver::GetProduct | ( |  | ) |

Calculates and returns the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition.

Implemented in IG::Num::LUDecomposition, IG::Num::QRDecomposition, IG::Num::CholeskyDecomposition, IG::Num::EigenValueDecomposition, and IG::Num::SingularValueDecomposition.

void IG::Num::ILinearSolver::Inverse | ( | ref IMatrix | inv | ) |

Calculates inverse of the decomposed matrix represented by the current object, and stores it in the specified matrix.

Parameters:

  inv | Matrix where calculated inverse is stored.

Implemented in IG::Num::LUDecomposition, IG::Num::QRDecomposition, IG::Num::CholeskyDecomposition, IG::Num::EigenValueDecomposition, and IG::Num::SingularValueDecomposition.

IMatrix IG::Num::ILinearSolver::Inverse | ( |  | ) |

Calculates and returns inverse of the decomposed matrix represented by the current object.

Implemented in IG::Num::LUDecomposition, IG::Num::QRDecomposition, IG::Num::CholeskyDecomposition, IG::Num::EigenValueDecomposition, and IG::Num::SingularValueDecomposition.

void IG::Num::ILinearSolver::Solve | ( | IMatrix | B,
|  | ref IMatrix | X
| ) |  |

Solves A*X = B (a set of linear systems of equations), where B is the matrix whose colums are right-hand sides of equations to be solved. Solutions are stored to the specified matrix. Decomposed matrix of coefficients A is represented by the current object.

Parameters:

  B | A Matrix with as many rows as A and any number of columns (right-hand sides).
  X | Matrix where results are stored (one column for each right-hand side).

Exceptions:

  System.ArgumentException | Matrix row dimensions must agree.
  System.SystemException | Matrix is singular.

IMatrix IG::Num::ILinearSolver::Solve | ( | IMatrix | B | ) |

Solves A*X = B (a set of linear systems of equations), where B is the matrix whose colums are right-hand sides of equations to be solved, and returns a matrix whose columns are solutions of the specified systems of equations. Decomposed matrix of coefficients A is represented by the current object.

Parameters:

  B | A Matrix with as many rows as A and any number of columns (right-hand sides).

Returns:
  X so that L*U*X = B(piv,:)

Exceptions:

  System.ArgumentException | Matrix row dimensions must agree.
  System.SystemException | Matrix is singular.

void IG::Num::ILinearSolver::Solve | ( | IVector | b,
|  | ref IVector | x
| ) |  |

Solves a system of linear equations A*x=b, and stores the solution in the specified vector. Decomposed matrix of coefficients A is represented by the current object.

Parameters:

  b | Vector of right-hand sides.
  x | Vector where solution is stored.

IVector IG::Num::ILinearSolver::Solve | ( | IVector | b | ) |

Solves a system of linear equations A*x=b, and returns the solution. Decomposed matrix of coefficients A is represented by the current object.

Parameters:

  b | Right-hand side vector.

Returns:
  Solution of the System such that L*U*x=s(piv,:).

## Property Documentation

bool IG::Num::ILinearSolver::IsNonSingular`[get]`

Indicates whether the matrix of coefficients of a linear system represented by the current decomposition object, is nonsingular.

Returns:
  True if the decomposed matrix represented by the current object is snonsingular, false otherwise.

Implemented in IG::Num::LUDecomposition, IG::Num::QRDecomposition, IG::Num::CholeskyDecomposition, IG::Num::EigenValueDecomposition, and IG::Num::SingularValueDecomposition.

The documentation for this interface was generated from the following file:

- MatrixDecompositions.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events