# ApCoCoA-1:Num.SimDiag

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## Num.SimDiag

Computes an approximate diagonalization of a set of matrices.

### Syntax

```Num.SimDiag(A:LSIT):[B:MAT, C:MAT]
```

### Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

This function returns a list of two matrices, containing the approximate (almost) eigenvectors of the matrices in A and its inverse.

• @param A A list of quadratic matrices with rational entries.

• @return The output is a list of two matrices [B:MAT, C:MAT]. The first matrix B contains the real almost eigenvectors of the matrices in A. The matrix C is the inverse of A.

#### Example

```M1 := Mat([[0, 0, -0.079, -0.018],[0, 0,  0.032, -0.012], [1, 0,  1.056, -0.012],[0, 1, -0.060,  1.025]]);
M2 := Mat([[0, -0.063, 0, -0.018],[1,  1.026, 0, -0.012], [0, 0, 0, -0.012], [0, 0, 1, 1.025]]);
M1 := Transposed(M1);
M2 := Transposed(M2);
Result := Num.SimDiag([M1],10);

Dec(Result*M1*Result,3);
Dec(Result*M2*Result,3);
```