Processing math: 100%
fortran-lapack
All Classes Namespaces Files Functions Variables Pages
la_pseudoinverse::pseudoinvert Interface Reference

Compute the pseudo-inverse of a matrix (subroutine version). More...

Public Member Functions

subroutine la_pseudoinvert_s (a, pinva, rtol, err)
 
subroutine la_pseudoinvert_d (a, pinva, rtol, err)
 
subroutine la_pseudoinvert_q (a, pinva, rtol, err)
 
subroutine la_pseudoinvert_c (a, pinva, rtol, err)
 
subroutine la_pseudoinvert_z (a, pinva, rtol, err)
 
subroutine la_pseudoinvert_w (a, pinva, rtol, err)
 

Detailed Description

Compute the pseudo-inverse of a matrix (subroutine version).

This subroutine computes the Moore-Penrose pseudo-inverse of a real or complex matrix A , storing the result in a pre-allocated output matrix A^+ . The computation is based on Singular Value Decomposition (SVD):

A^+ = V \Sigma^+ U^T

where U and V are unitary matrices, and \Sigma^+ is the pseudo-inverse of the singular values.

Parameters
[in,out]AThe input matrix of size [m, n] . Its contents may be modified.
[out]pinvaThe output pseudo-inverse matrix of size [n, m] .
[in]rtol(Optional) Relative tolerance for singular value truncation.
[out]err(Optional) A state return flag. If an error occurs and err is not provided, the function will stop execution.
Note
This subroutine is useful when the output matrix pinva is already allocated and avoids memory allocation inside the routine.
Warning
The input matrix A may be modified during computation.

Member Function/Subroutine Documentation

◆ la_pseudoinvert_c()

subroutine la_pseudoinverse::pseudoinvert::la_pseudoinvert_c ( complex(sp), dimension(:,:), intent(inout) a,
complex(sp), dimension(:,:), intent(inout) pinva,
real(sp), intent(in), optional rtol,
type(la_state), intent(out), optional err )
Parameters
[in,out]aInput matrix a[m,n]
[in,out]pinvaOutput pseudo-inverse matrix
[in]rtol[optional] ....
[out]err[optional] state return flag. On error if not requested, the code will stop

◆ la_pseudoinvert_d()

subroutine la_pseudoinverse::pseudoinvert::la_pseudoinvert_d ( real(dp), dimension(:,:), intent(inout) a,
real(dp), dimension(:,:), intent(inout) pinva,
real(dp), intent(in), optional rtol,
type(la_state), intent(out), optional err )
Parameters
[in,out]aInput matrix a[m,n]
[in,out]pinvaOutput pseudo-inverse matrix
[in]rtol[optional] ....
[out]err[optional] state return flag. On error if not requested, the code will stop

◆ la_pseudoinvert_q()

subroutine la_pseudoinverse::pseudoinvert::la_pseudoinvert_q ( real(qp), dimension(:,:), intent(inout) a,
real(qp), dimension(:,:), intent(inout) pinva,
real(qp), intent(in), optional rtol,
type(la_state), intent(out), optional err )
Parameters
[in,out]aInput matrix a[m,n]
[in,out]pinvaOutput pseudo-inverse matrix
[in]rtol[optional] ....
[out]err[optional] state return flag. On error if not requested, the code will stop

◆ la_pseudoinvert_s()

subroutine la_pseudoinverse::pseudoinvert::la_pseudoinvert_s ( real(sp), dimension(:,:), intent(inout) a,
real(sp), dimension(:,:), intent(inout) pinva,
real(sp), intent(in), optional rtol,
type(la_state), intent(out), optional err )
Parameters
[in,out]aInput matrix a[m,n]
[in,out]pinvaOutput pseudo-inverse matrix
[in]rtol[optional] ....
[out]err[optional] state return flag. On error if not requested, the code will stop

◆ la_pseudoinvert_w()

subroutine la_pseudoinverse::pseudoinvert::la_pseudoinvert_w ( complex(qp), dimension(:,:), intent(inout) a,
complex(qp), dimension(:,:), intent(inout) pinva,
real(qp), intent(in), optional rtol,
type(la_state), intent(out), optional err )
Parameters
[in,out]aInput matrix a[m,n]
[in,out]pinvaOutput pseudo-inverse matrix
[in]rtol[optional] ....
[out]err[optional] state return flag. On error if not requested, the code will stop

◆ la_pseudoinvert_z()

subroutine la_pseudoinverse::pseudoinvert::la_pseudoinvert_z ( complex(dp), dimension(:,:), intent(inout) a,
complex(dp), dimension(:,:), intent(inout) pinva,
real(dp), intent(in), optional rtol,
type(la_state), intent(out), optional err )
Parameters
[in,out]aInput matrix a[m,n]
[in,out]pinvaOutput pseudo-inverse matrix
[in]rtol[optional] ....
[out]err[optional] state return flag. On error if not requested, the code will stop

The documentation for this interface was generated from the following file: