Chapter 14
MATRIX – Blocks for matrix and vector operations

The MATRIX library is designed for advanced matrix computations and manipulations. It encompasses a wide range of blocks such as MB_DGEMM, MB_DTRMM, and MB_DGER for matrix-matrix and matrix-vector operations. The library includes functions for matrix decomposition (ML_DGEBRD, ML_DGEQRF), eigenvalue problems (ML_DGEEV, ML_DGEES), and singular value decomposition (ML_DGESDD). Additionally, it offers utility blocks like MX_MAT, MX_VEC, and MX_FILL for matrix creation and manipulation, as well as specialized blocks such as MX_DTRNSP for matrix transposition and MX_RAND for generating random matrices. This library is essential for complex mathematical operations involving matrices in various applications.

 14.1 Implementation notice:
 CNA – Array (vector/matrix) constant
 MB_DASUM – Sum of the absolute values
 MB_DAXPY – Performs y := a*x + y for vectors x,y
 MB_DCOPY – Copies vector x to vector y
 MB_DDOT – Dot product of two vectors
 MB_DGEMM – Performs C := alpha*op(A)*op(B) + beta*C, where op(X) = X or op(X) = X^T
 MB_DGEMV – Performs y := alpha*A*x + beta*y or y := alpha*A^T*x + beta*y
 MB_DGER – Performs A := alpha*x*y^T + A
 MB_DNRM2 – Euclidean norm of a vector
 MB_DROT – Plain rotation of a vector
 MB_DSCAL – Scales a vector by a constant
 MB_DSWAP – Interchanges two vectors
 MB_DTRMM – Performs B := alpha*op(A)*B or B := alpha*B*op(A), where op(X) = X or op(X) = X^T for triangular matrix A
 MB_DTRMV – Performs x := A*x or x := A^T*x for triangular matrix A
 MB_DTRSV – Solves one of the system of equations A*x = b or A^T*x = b for triangular matrix A
 ML_DGEBAK – Backward transformation to ML_DGEBAL of left or right eigenvectors
 ML_DGEBAL – Balancing of a general real matrix
 ML_DGEBRD – Reduces a general real matrix to bidiagonal form by an orthogonal transformation
 ML_DGECON – Estimates the reciprocal of the condition number of a general real matrix
 ML_DGEES – Computes the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors
 ML_DGEEV – Computes the eigenvalues and, optionally, the left and/or right eigenvectors
 ML_DGEHRD – Reduces a real general matrix A to upper Hessenberg form
 ML_DGELQF – Computes an LQ factorization of a real M-by-N matrix A
 ML_DGELSD – Computes the minimum-norm solution to a real linear least squares problem
 ML_DGEQRF – Computes an QR factorization of a real M-by-N matrix A
 ML_DGESDD – Computes the singular value decomposition (SVD) of a real M-by-N matrix A
 ML_DLACPY – Copies all or part of one matrix to another matrix
 ML_DLANGE – Computes one of the matrix norms of a general matrix
 ML_DLASET – Initilizes the off-diagonal elements and the diagonal elements of a matrix to given values
 ML_DTRSYL – Solves the real Sylvester matrix equation for quasi-triangular matrices A and B
 MX_AT – Get Matrix/Vector element
 MX_ATSET – Set Matrix/Vector element
 MX_CNADD – Add scalar to each Matrix/Vector element
 MX_CNMUL – Multiply a Matrix/Vector by a scalar
 MX_CTODPA – Discretizes continuous model given by (A,B) to (Ad,Bd) using Pade approximations
 MX_DIM – Matrix/Vector dimensions
 MX_DIMSET – Set Matrix/Vector dimensions
 MX_DSAGET – Set subarray of A into B
 MX_DSAREF – Set reference to subarray of A into B
 MX_DSASET – Set A into subarray of B
 MX_DTRNSP – General matrix transposition: B := alpha*A^T
 MX_DTRNSQ – Square matrix in-place transposition: A := alpha*A^T
 MX_FILL – Fill real matrix or vector
 MX_MAT – Matrix data storage block
 MX_RAND – Randomly generated matrix or vector
 MX_REFCOPY – Copies input references of matrices A and B to their output references
 MX_SLFS – Save or load a Matrix/Vector into file or string
 MX_VEC – Vector data storage block
 MX_WRITE – Write a Matrix/Vector to the console/system log
 RTOV – Vector multiplexer
 SWVMR – Vector/matrix/reference signal switch
 VTOR – Vector demultiplexer

2024 © REX Controls s.r.o., www.rexygen.com