Processing math: 100%
fortran-lapack
All Classes Namespaces Files Functions Variables Pages
la_pseudoinverse::operator(.pinv.) Interface Reference

Compute the pseudo-inverse of a matrix using the .pinv. operator. More...

Public Member Functions

real(sp) function, dimension(size(a, 2, kind=ilp), size(a, 1, kind=ilp)) la_pinv_s_operator (a)
 
real(dp) function, dimension(size(a, 2, kind=ilp), size(a, 1, kind=ilp)) la_pinv_d_operator (a)
 
real(qp) function, dimension(size(a, 2, kind=ilp), size(a, 1, kind=ilp)) la_pinv_q_operator (a)
 
complex(sp) function, dimension(size(a, 2, kind=ilp), size(a, 1, kind=ilp)) la_pinv_c_operator (a)
 
complex(dp) function, dimension(size(a, 2, kind=ilp), size(a, 1, kind=ilp)) la_pinv_z_operator (a)
 
complex(qp) function, dimension(size(a, 2, kind=ilp), size(a, 1, kind=ilp)) la_pinv_w_operator (a)
 

Detailed Description

Compute the pseudo-inverse of a matrix using the .pinv. operator.

This operator computes the Moore-Penrose pseudo-inverse of a real or complex matrix A using 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]AThe input matrix of size [m, n] .
Returns
The pseudo-inverse matrix A^+ of size [n, m] .
Note
This operator is a shorthand for calling pinv(A), allowing expressions such as: X = .pinv.A
Warning
The accuracy of the pseudo-inverse depends on the condition number of A .

Member Function/Subroutine Documentation

◆ la_pinv_c_operator()

complex(sp) function, dimension(size(a,2,kind=ilp),size(a,1,kind=ilp)) la_pseudoinverse::operator(.pinv.)::la_pinv_c_operator ( complex(sp), dimension(:,:), intent(in), target a)
Parameters
[in]aInput matrix a[m,n]
Returns
Result matrix

◆ la_pinv_d_operator()

real(dp) function, dimension(size(a,2,kind=ilp),size(a,1,kind=ilp)) la_pseudoinverse::operator(.pinv.)::la_pinv_d_operator ( real(dp), dimension(:,:), intent(in), target a)
Parameters
[in]aInput matrix a[m,n]
Returns
Result matrix

◆ la_pinv_q_operator()

real(qp) function, dimension(size(a,2,kind=ilp),size(a,1,kind=ilp)) la_pseudoinverse::operator(.pinv.)::la_pinv_q_operator ( real(qp), dimension(:,:), intent(in), target a)
Parameters
[in]aInput matrix a[m,n]
Returns
Result matrix

◆ la_pinv_s_operator()

real(sp) function, dimension(size(a,2,kind=ilp),size(a,1,kind=ilp)) la_pseudoinverse::operator(.pinv.)::la_pinv_s_operator ( real(sp), dimension(:,:), intent(in), target a)
Parameters
[in]aInput matrix a[m,n]
Returns
Result matrix

◆ la_pinv_w_operator()

complex(qp) function, dimension(size(a,2,kind=ilp),size(a,1,kind=ilp)) la_pseudoinverse::operator(.pinv.)::la_pinv_w_operator ( complex(qp), dimension(:,:), intent(in), target a)
Parameters
[in]aInput matrix a[m,n]
Returns
Result matrix

◆ la_pinv_z_operator()

complex(dp) function, dimension(size(a,2,kind=ilp),size(a,1,kind=ilp)) la_pseudoinverse::operator(.pinv.)::la_pinv_z_operator ( complex(dp), dimension(:,:), intent(in), target a)
Parameters
[in]aInput matrix a[m,n]
Returns
Result matrix

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