This library provides functions operating on matrices. Below, the functions are ordered according to categories and a typical call of the respective function is shown. Most functions are solely an interface to the external LAPACK library.
Note: A' is a short hand notation of transpose(A):
Basic Information
Linear Equations
Matrix Factorizations
Matrix Properties
Matrix Exponentials
Matrix Equations
Matrix Manipulation
| Name | Description |
|---|---|
| Examples demonstrating the usage of the Math.Matrices functions | |
| Convert a matrix into its string representation | |
| Compare whether two Real matrices are identical | |
| Solve real system of linear equations A*x=b with a b vector (Gaussian elimination with partial pivoting) | |
| Solve real system of linear equations A*X=B with a B matrix (Gaussian elimination with partial pivoting) | |
| Solve linear equation A*x = b (exactly if possible, or otherwise in a least square sense; A may be non-square and may be rank deficient) | |
| Solve linear equation A*X = B (exactly if possible, or otherwise in a least square sense; A may be non-square and may be rank deficient) | |
| Solve a linear equality constrained least squares problem | |
| LU decomposition of square or rectangular matrix | |
| Solve real system of linear equations P*L*U*x=b with a b vector and an LU decomposition (from LU(..)) | |
| Solve real system of linear equations P*L*U*X=B with a B matrix and an LU decomposition (from LU(..)) | |
| Return eigenvalues and eigenvectors for a real, nonsymmetric matrix in a Real representation | |
| Return real valued block diagonal matrix J of eigenvalues of matrix A (A=V*J*Vinv) | |
| Return singular values and left and right singular vectors | |
| Return the QR decomposition of a square matrix with optional column pivoting (A(:,p) = Q*R) | |
| Return upper Hessenberg form of a matrix | |
| Return the real Schur form (rsf) S of a square matrix A, A=QZ*S*QZ' | |
| Return the Cholesky factorization of a symmetric positive definite matrix | |
| Return a balanced form of matrix A to improve the condition of A | |
| Return a balanced form of a system [A,B;C,0] to improve its condition by a state transformation | |
| Return the trace of matrix A, i.e., the sum of the diagonal elements | |
| Return determinant of a matrix (computed by LU decomposition; try to avoid det(..)) | |
| Return inverse of a matrix (try to avoid inv(..)) | |
| Return rank of a rectangular matrix (computed with singular values) | |
| Return the condition number norm(A)*norm(inv(A)) of a matrix A | |
| Return the reciprocal condition number of a matrix | |
| Return the p-norm of a matrix | |
| Return the Frobenius norm of a matrix | |
| Return the orthonormal nullspace of a matrix | |
| Return the exponential of a matrix by adaptive Taylor series expansion with scaling and balancing | |
| Return the exponential and the integral of the exponential of a matrix | |
| Return the exponential, the integral of the exponential, and time-weighted integral of the exponential of a matrix | |
| Return solution X of the continuous-time Lyapunov equation X*A + A'*X = C | |
| Return solution X of the continuous-time Sylvester equation A*X + X*B = C | |
| Return solution X of the continuous-time algebraic Riccati equation A'*X + X*A - X*B*inv(R)*B'*X + Q = 0 (care) | |
| Return solution X of the discrete-time Lyapunov equation A'*X*A + sgn*X = C | |
| Return solution of the discrete-time Sylvester equation A*X*B + sgn*X = C | |
| Return solution of discrete-time algebraic Riccati equation A'*X*A - X - A'*X*B*inv(R + B'*X*B)*B'*X*A + Q = 0 (dare) | |
| Sort the rows or columns of a matrix in ascending or descending order | |
| Flip the columns of a matrix in left/right direction | |
| Flip the rows of a matrix in up/down direction | |
| Interface to LAPACK library (should usually not directly be used but only indirectly via Modelica.Math.Matrices) | |
| Utility functions that should not be directly utilized by the user |