functionsolveSymRight
Solve real system of linear equations X*A=B in X where A is symmetrix positive definite
Extends from Modelica.Icons.Function (Icon for functions).
Information
This function solves the equationwhere matrix A with symmetric positiv definite matrix. The calculation is rather efficient since symmetrie and decomposition of positive definite matrices is exploited.X*A = B
Due to symmetrie, Matrix A is uniquely defined by a triangle, i.e. the upper or the lower triangular matrix. It is assumed, that the input to describe A is either a Cholesky factor or part of matrix A itself. This is defined by the user with the boolean inputs isCholesky and upper which is true when A is already Cholesky factor and when A is upper triangular respectively.
Considering the Cholesky decomposition
T
A = L*L
with lower triangular matrix L the equation above could be rewritten as
T
X*L*L = B
which is solved with BLAS function dtrmm applied to a upper triangular matrix and subsequently to a lower triangular matrix.Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| Real[:,size(A, 1)] | A | Matrix A of X*A = B | |
| Real[:,:] | B | Matrix B of X*op(A) = B | |
| Boolean | isCholesky | false | True if the A is already lower Cholesky factor |
| Boolean | upper | false | True if A is upper triAngular |
Outputs
| Type | Name | Default | Description |
|---|---|---|---|
| Real[size(B, 1),size(B, 2)] | X | B | Matrix X such that X*A = B |
Revisions
| Date | Author | Comment |
|---|---|---|
| 2010-05-31 | Marcus Baur, DLR-RM | Realization |