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 |