Triangular matrix inversion, Matrix multiplication, Matrix inversion operation – Altera Floating-Point User Manual

Page 29: Triangular matrix inversion -5, Matrix multiplication -5, Matrix inversion operation -5

Advertising
background image

Triangular Matrix Inversion

The triangular matrix, L, obtained from the Cholesky decomposition function is computed using the

triangular matrix inversion algorithm to get its inversion. The following MatLab pseudo code shows how

the inversion is carried out:

for j = n:-1:1,

X(j,j) = 1/L(j, j);

for k = j+1:n

for i = j+1:n

X(k, j) = X(k, j) + X(k, i)*L(i, j);

end;

end;

for k = j+1:n

X(k, j) = -X(j, j)*X(k, j);

end;

The pseudo code is converted into an RTL file. The result, L-1 is stored in the input matrix storage in the

Cholesky decomposition function.

Matrix Multiplication

The final stage of the matrix inversion process involves multiplying the transpose of the inverse triangular

matrix with the inverse triangular matrix using the Altera Floating-Point Matrix Multiplier. The original

version of the matrix multiplier is modified for this purpose. As there are memory blocks already available

for the storage of the input matrices in the Cholesky decomposition function, the memory blocks in the

matrix multiplier are redundant and can be removed. Data is instead fed directly from the results stored at

the end stage of the triangular matrix inversion algorithm.

Matrix Inversion Operation

UG-01058

2014.12.19

Triangular Matrix Inversion

2-5

ALTERA_FP_MATRIX_INV IP Core

Altera Corporation

Send Feedback

Advertising