NAME

do_native_cholesky_decomposition - Performs Cholesky decomposition on a matrix, using a method hand-coded for

SYNOPSIS

#include "n/n_cholesky.h"

Example compile flags (system dependent):
  -DLINUX_X86_64 -DLINUX_X86_64_OPTERON  -DGNU_COMPILER 
   -I/home/kobus/include
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 


int do_native_cholesky_decomposition
(
	Matrix **L,
	const Matrix *A
);

DESCRIPTION

the KJB library. This routine finds matrix L such that LL' = A. A must be positive definite. The first argument is the adress of the target matrix. If the target matrix itself is null, then a matrix of the appropriate size is created. If the target matrix is the wrong size, it is resized. Finally, if it is the right size, then the storage is recycled, as is. If input and output matrices point to the same address, a temporary matrix will be allocated as a workspace, which will swapped with A before returning. Passing NULL as the source matrix will free L, set it to NULL and return NO_ERROR.

RETURNS

Returns ERROR on failure, setting the the errors string accordingly, and NO_ERROR otherwise.

NOTE

This function sometimes returns an "not positive definite" error if the matrix is too ill-conditioned. The lapack version is slightly more forgiving in this regard.

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Ernesto Brau

DOCUMENTER

Ernesto Brau

SEE ALSO

cholesky_decomposition