Cholesky decomposition function, Cholesky decomposition function -3 – Altera Floating-Point User Manual

Page 27

Advertising
background image

= (LT)-1 × L-1
= (L-1)T × L-1
where a Cholesky decomposition function is needed to obtain L, a triangular matrix inversion is needed to

obtain L-1, and a matrix multiplication is needed for (L-1)T × L-1.

Figure 2-1: Matrix Inversion Flow Diagram

A

A

L

L

-1

L

A

(L )

Matrix A

Storage 1

Storage 2

Cholesky

Decomposition

Triangular Matrix

Inversion

Matrix

Multiplication

-f

X

=

T

-1

L

-1

Cholesky Decomposition Function

The functions consists of two memory and two processing blocks. One of the memory blocks is the input

matrix memory block and is loaded with the input matrix in a row order, one element at a time. However,

during processing, this block is read in a column order, one element at a time when required.
The other memory block is the processing matrix block which consists of multiple column memories to

enable an entire row to be read at once. During the loading of the input memory, the FPC datapath

preprocesses the input elements to generate the first column of the resulting triangular matrix. The top

element of the first column, l00, is the square root of the input matrix value

a00

. The rest of the first

column,

li0

is the input value

ai0

divided by l00. This preprocessing step introduces latency into the

load, during which the

INIT_BUSY

signal is asserted. The

CALCULATE

signal initiates and starts processing

after the

INIT_BUSY

signal is deasserted.

This figure shows the top-level architecture of the Cholesky decomposition function, where the

monolithic input memory and the column-wise processing memory, also known as the vector matrix, are

shown. The gray block is the FPC datapath section.

UG-01058

2014.12.19

Cholesky Decomposition Function

2-3

ALTERA_FP_MATRIX_INV IP Core

Altera Corporation

Send Feedback

Advertising