type(matrix) mod_matrix::m_pinv ( type(matrix),intent(in)  m,
real*4,intent(in),optional  eps_svd,
real*4,intent(in),optional  eps_chol,
integer,intent(in),optional  iter_max,
character*(*),intent(in),optional  meth_qr,
real*4,intent(in),optional  eps_gsortho,
character*(*),intent(in),optional  meth_pinv 
)

pseudo inverse of m by svd

Author:
Abal-Kassim Cheik Ahamed <akcheik@gmail.com>
Parameters:
m : type(matrix)
eps_svd : real*4 , precision svd (optional)
eps_chol : real*4 , optional tolerance error for cholseky factorization
iter_max : maximum iteration, for svd decomposition
meth_qr : character*(*), 'ho'=>householder or 'gs'=>gram-schmidt or 'gsro'=>gram-schmidt reorthogonalization, for svd decomposition (optional)
eps_gsortho : real*4 , precision gramm-schimdt reortho..., for svd/qr decomposition (optional)
meth_pinv : character*(*), 'svd'=>svd decomposition or 'chol'=> cholesky decompositiion (optional)
Date:
05th of April, 2011
Remarks:
pseudo inverse (by svd or cholesky decomposition method)
Returns:
res : type(matrix) pseudo inverse of m
 Étant donné une matrice A à coefficients réels ou complexes 
 avec n lignes et p colonnes, son pseudo-inverse A + est l'unique matrice 
 à p lignes et n colonnes vérifiant les conditions suivantes 
    1. A A^+A = A\, ;
    2. A^+A A^+ = A^+\,       (A + est un inverse pour le semi-groupe multiplicatif) ;
    3. (AA^+)^* = AA^+\,       (AA + est une matrice hermitienne) ;
    4. (A^+A)^* = A^+A\,       (A + A est également hermitienne).
 

Definition at line 3026 of file matrix.f90.

 All Classes Namespaces Files Functions Variables Defines