CHOLESKY

CHOLESKY calculates the Cholesky decomposition of a symmetric positive definite matrix. Matrix decomposition A=LL^T.

# Usage

cholesky gdxin i a gdxout L


where

gdxin

name of gdxfile with matrix

i

name of set used in matrix

a

name of 2 dimensional parameter inside gdxin

gdxout

name of gdxfile for results (factor L)

L

name of 2 dimensional parameter inside gdxout

Calculates the Cholesky decomposition A=LL^t of a symmetric positive definite matrix A=a(i,j) where i and j are aliased sets. L will contain the Cholesky factor L(i,j).

# Example

$onText Finds the Cholesky decomposition A=LL' of a positive definite symmetric matrix A through an external program. Erwin Kalvelagen, may 2008$offText

Set i / i1*i5 /;

Alias (i,j);

Table a(i,j) 'original matrix'
i1   i2   i3   i4   i5
i1   64   48   24    8    8
i2   48   72   42   54   36
i3   24   42   89  107   95
i4    8   54  107  210  186
i5    8   36   95  186  187;

Parameter L(i,j) 'cholesky factor';

execute '=cholesky.exe a.gdx i a b.gdx L';

display a, L;

*
* only lower triangular part of A is used
*
Table a2(i,j) 'original matrix'
i1   i2   i3   i4   i5
i1   64
i2   48   72
i3   24   42   89
i4    8   54  107  210
i5    8   36   95  186  187;

Parameter L2(i,j) 'cholesky factor';

execute '=cholesky.exe a.gdx i a2 b.gdx L2';

display a2, L2;

GAMS Development Corp.
GAMS Software GmbH

General Information and Sales
U.S. (+1) 202 342-0180
Europe: (+49) 221 949-9170