NAME

get_MP_inverse - Calculates the Moore-Penrose inverse

SYNOPSIS

#include "n/n_invert.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 get_MP_inverse
(
	Matrix **result_mpp,
	const Matrix *mp
);

DESCRIPTION

This routine calculates the Moore-Penrose inverse of a matrix. If A is the matrix pointed to by mp, then the MP inverse is

                                 -1
                            (A'A)  A'         (' means transpose).

The result is put into the matrix pointed to by *result_mpp, which is created if it is NULL, resized if it is the wrong sized, and reused otherwise.

RETURNS

NO_ERROR on success, and ERROR on failure, with an appropriate error message being set.

DISCLAIMER

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

AUTHOR

Kobus Barnard

DOCUMENTER

Kobus Barnard

SEE ALSO

get_matrix_inverse , do_gaussian_elimination_matrix_inversion , get_MP_inverse_of_transpose