חזרה לתוכן העניינים

# Matrix functions

## 9.1 Calculation of the transposed matrix

To compute the transpose of the matrix $A$ must run transpose(A) or $\mathbf {A \widehat { } {T } }$.

אין תוצאות עד כה

## 9.2 The calculation of adjoint and inverse matrices

### The calculation of inverse matrix

To calculate the inverse matrix for the matrix A, to execute inverse(A) or $\mathbf{A\widehat{ } {(-1)}}$.

אין תוצאות עד כה
אין תוצאות עד כה

To calculate the adjoint matrix for a given matrix $A$ execute adjoint(A) or $\mathbf{A\widehat{ }{\backslash star}}$.

אין תוצאות עד כה
אין תוצאות עד כה

## 9.3 Calculation of the matrix determinant and rank

To calculate the rank of a matrix $A$, you must run rank(A), to calculate its determinant, you must run det(A).

אין תוצאות עד כה

אין תוצאות עד כה
אין תוצאות עד כה
אין תוצאות עד כה

## 9.4 Calculation of the conjugate matrix

To calculate the conjugate matrix, you must run conjugate(A) or $\mathbf {A\widehat{ } { \backslash ast}}$.

אין תוצאות עד כה

## 9.5 Computing SVD-decomposition

To calculate the SVD-decomposition of a matrix, you must execute the command SVD(A). As a result, three matrices $[U, D, V]$ will be calculated. The matrices $U, V$ are unitary, the matrix $D$ is diagonal: $A = UDV$.

\begin {verbatim} SPACE = R64[]; A = [[2,3,4], [1,3,3], [2,4,3]]; B = \SVD(A); \print(B); \end{verbatim}

## 9.6 Calculation of the generalized inverse matrix

To compute the generalized inverse Moore-Penrose matrix must run genInverse(A) or $\mathbf{A\widehat{ } {+}}$.

אין תוצאות עד כה

## 9.7 Computation of the kernel and echelon form

### Computation of the echelon form

To compute the echelon form of the matrix $A$, you should run toEchelonForm(A).

אין תוצאות עד כה
אין תוצאות עד כה

### Computation of the kernel

To calculate the kernel of matrix $A$, you should run kernel(A).

אין תוצאות עד כה
אין תוצאות עד כה

## 9.8 Calculating the characteristic polynomial of matrix

To calculate the characteristic polynomial of the matrix A with entries in $R[x_1,…,x_m]$, you should give the ring $R[x_1,…,x_m]R[t]$ or $R[t,x_1,…,x_m]$ with some new variable $t$ and run charPolynom(A).

אין תוצאות עד כה
אין תוצאות עד כה

## 9.9 Calculating LSU-decomposition of the matrix

To calculate the LSU-decomposition of the matrix A, you must run LSU(A).

The result is a vector of three matrices $[L,D,U]$. Where $L$ is a lower triangular matrix, $U$ — upper triangular matrix, $D$ — permutation matrix, multiplied by the inverse of the diagonal matrix. If the elements of the matrix A are elements of commutative domain R, then elements of matrices $L$, $D^{-1}$, $U$ are elements of the same domain R.

אין תוצאות עד כה
אין תוצאות עד כה
אין תוצאות עד כה

\section {Choletsky Decomposition}

This decomposition is done with a command where the argument is the original matrix: cholesky} {(A) or cholesky(A, 0). In this case, the matrix must be symmetric and positive definite, only in this case the expansion will be correctly calculated.

The result is two lower triangular matrices: $[L, S]$, with $A=l*L^{T}$ and $S*L=I$.

For large dense matrices, starting from a size of 100x100, you can use a fast algorithm that uses multiplication of blocks by the Winograd-Strassen algorithm: cholesky(A, 1).

אין תוצאות עד כה

## 9.10 LSUWMdet decomposition

To calculate the LSU-decomposition of the matrix $A$ together with decomposition of the pseudo inverse matrix $A^{\times}=(1/det^2)WSM$, you must run LSUWMdet(A).

The result is a vector of five matrices and determinant of the largest non-degenerate corner block $[L, D, U, W, M,det]$. Here $L$ and $U$ ~ are the lower and upper triangular matrices, $S$ ~ — truncated weighted permutation matrix, $DM$ and $WD$ ~ — lower and upper triangular matrices. Moreover, $A = LSU$ and $A ^ {\times} = (1/det^2) WSM$. If the elements of the matrix $A$ are taken from the commutative domain, then all matrices, except for $S$, also belong to this domain.

אין תוצאות עד כה

## 9.11 Calculating Bruhat decomposition of the matrix

To calculate the Bruhat decomposition of the matrix A, you must run BruhatDecomposition(A).

The result is a vector of three matrices $[V,D,U]$. Where $V$ and $U$ — upper triangular matrices, $D$ — permutation matrix, multiplied by the inverse of the diagonal matrix. If the elements of the matrix $A$ are elements of commutative domain $R$, then elements of matrices $V$, $D^{-1}$, $U$ are elements of the same domain $R$.

אין תוצאות עד כה
אין תוצאות עד כה

\

Other functions:

\

LSUWMdet — Result is a vector of 6 matrices $[L, S, U, W, M, [[det]]]$. A = LSU, pseudoInverse(A) = $(1/det^2)$WSM, det is a nonzero maximum in size angular minor.

pseudoInverse} { — Pseudo inverse of a matrix. It, unlike the Moore-Penrose matrix, satisfies only two of the four identities. However, it is faster to compute;

SVD} { — SVD decomposition of a matrix over real numbers. The result is a vector of three matrices $[U, D, V^{T}]$. Here $U, V^{T}$ — are orthogonal matrices, $D$ is a diagonal matrix.

QR} { — QR decomposition of a matrix over real numbers. The result is a vector of two matrices $[Q, R]$. Here $Q$ — is an orthogonal matrix, $R$ — is an upper triangular matrix.

sylvesterp1, p2, kind=0 or 1 — the Sylvester matrix is constructed from the coefficients of the polynomials $p1, p2$. The ring Z [x, y, z, u] will be considered as a ring Z[u][x, y, z] (ring in one variable u with coefficients from Z[x, y, z].) If kind = 0, then the size of the matrix is (n1 + n2), if kind = 1, then the size of the matrix is 2*max(n1, n2).

## 9.12 Linear programming

Let there be given the objective function $\sum_{j = 1}^n c_j x_j$ and conditions $$\sum_{j = 1}^n a_{ij}x_j\leqslant b_i,\text{ here }i = 1,2,…,m,$$ $$x_j\geqslant 0,\text{ here }j = 1,2,…,n.$$

We define $m\times n$-matrix $A = (a_{ij})$, $m$-dimensional vector $b = (b_i)$, $n$-dimensional vector $c = (c_j)$ and $n$-dimensional vector $x = (x_j)$.

Then the objective function can be written as $c^Tx,$ and and conditions can be written as $$Ax \leqslant b,$$ $$x \geqslant 0.$$

For solving linear programming problems, you can use one of the following two commands SimplexMax or SimplexMin. The result is a vector.

Depending on the type of problem you have the following options.

1. To solve the problem $$c^Tx \rightarrow max$$ under conditions $$Ax \leqslant b,$$ $$x \geqslant 0,$$ we use the SimplexMax(A, b, c).

If the objective function needs to be minimized, , i.e. $$c^Tx \rightarrow min,$$ then we use the SimplexMin(A, b, c).

Example.

We need to maximize the $$3x_1 + x_2 + 2x_3$$ under the conditions $$x_1 + x_2 + 3x_3 \leqslant 30, 2x_1 + 2x_2 + 5x_3 \leqslant 24, 4x_1 + x_2 + 2x_3 \leqslant 36, x_1, x_2, x_3 \geqslant 0.$$

אין תוצאות עד כה

2. To solve the problem $$c^Tx \rightarrow max$$ under the conditions $$A_1 x\leqslant b_1,$$ $$A_2 x= b_2,$$ $$x \geqslant 0,$$ we use the SimplexMax(A_1,A_2, b_1, b_2, c).

If the objective function needs to be minimized, i.e. $$c^Tx \rightarrow min,$$ then we use the SimplexMin(A_1,A_2, b_1, b_2, c).

Example.

We need to maximize the $$7x_1 + x_3 - 4x_4$$

under the conditions $$x_1 - x_2 + 2x_3 - x_4 \leqslant 6, 2x_1 + x_2 - x_3 = -1, x_1, x_2, x_3, x_4 \geqslant 0.$$

אין תוצאות עד כה

3. To solve the problem $$c^Tx \rightarrow max$$ under the conditions $$A_1 x\leqslant b_1,$$ $$A_2 x= b_2,$$ $$A_3 x\geqslant b_3,$$ we use the SimplexMax(A_1,A_2, A_3,b_1, b_2, b_3,c).

If the objective function needs to be minimized, i.e. $$c^Tx \rightarrow min,$$ then we use the SimplexMin(A_1,A_2, A_3,b_1, b_2, b_3, c).

Example.

$$7x_1 + x_3 - 4x_4$$ We need to maximize the $$x_1 + x_2$$ under the conditions $$4x_1 - x_2 \leqslant 8, 2x_1 + x_2 \leqslant 10, -5x_1 + 2x_2 \geqslant -2, x_1, x_2 \geqslant 0.$$

אין תוצאות עד כה

4. To solve the problem $$c^Tx \rightarrow max$$ in mixed conditions desired by the matrix $A$ and vector $b$, you can use the command SimplexMax(A,signs,b,c), where an array of integers $signs$ determines the signs of comparison:

-1 means "less than or equal to",

0 means "equal to",

1 means "greater than or equal to".

The array $signs$ must contain the same number of elements as the vector $b$. If the objective function needs to be minimized, i.e. $$c^Tx \rightarrow min,$$ then we use the SimplexMin(A,signs,b,c).

Example.

We need to minimize the $$-2x_1-4x_2-2x_3$$ under the conditions

$$-2x_1 + x_2 + x_3 \leqslant 4, - x_1 + x_2 + 3x_3 \leqslant 6, x_1 - 3x_2 + x_3 \leqslant 2, x_1, x_2, x_3 \geqslant 0.$$ In:

אין תוצאות עד כה
חזרה לתוכן העניינים