chol Interface

public interface chol

Computes the Cholesky factorization , or . (Specification)

Summary

Pure function interface for computing the Cholesky triangular factors.

Description

This interface provides methods for computing the lower- or upper- triangular matrix from the Cholesky factorization of a real symmetric or complex Hermitian matrix. Supported data types include real and complex.

Note

The solution is based on LAPACK's *POTRF methods.


Functions

private pure module function stdlib_linalg_c_cholesky_fun(a, lower, other_zeroed) result(c)

Arguments

Type IntentOptional Attributes Name
complex(kind=sp), intent(in) :: a(:,:)

Input matrix a[m,n]

logical(kind=lk), intent(in), optional :: lower

[optional] is the lower or upper triangular factor required? Default = lower

logical(kind=lk), intent(in), optional :: other_zeroed

[optional] should the unused half of the return matrix be zeroed out? Default: yes

Return Value complex(kind=sp), (size(a,1),size(a,2))

Output matrix with Cholesky factors c[n,n]

private pure module function stdlib_linalg_d_cholesky_fun(a, lower, other_zeroed) result(c)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: a(:,:)

Input matrix a[m,n]

logical(kind=lk), intent(in), optional :: lower

[optional] is the lower or upper triangular factor required? Default = lower

logical(kind=lk), intent(in), optional :: other_zeroed

[optional] should the unused half of the return matrix be zeroed out? Default: yes

Return Value real(kind=dp), (size(a,1),size(a,2))

Output matrix with Cholesky factors c[n,n]

private pure module function stdlib_linalg_s_cholesky_fun(a, lower, other_zeroed) result(c)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: a(:,:)

Input matrix a[m,n]

logical(kind=lk), intent(in), optional :: lower

[optional] is the lower or upper triangular factor required? Default = lower

logical(kind=lk), intent(in), optional :: other_zeroed

[optional] should the unused half of the return matrix be zeroed out? Default: yes

Return Value real(kind=sp), (size(a,1),size(a,2))

Output matrix with Cholesky factors c[n,n]

private pure module function stdlib_linalg_z_cholesky_fun(a, lower, other_zeroed) result(c)

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(in) :: a(:,:)

Input matrix a[m,n]

logical(kind=lk), intent(in), optional :: lower

[optional] is the lower or upper triangular factor required? Default = lower

logical(kind=lk), intent(in), optional :: other_zeroed

[optional] should the unused half of the return matrix be zeroed out? Default: yes

Return Value complex(kind=dp), (size(a,1),size(a,2))

Output matrix with Cholesky factors c[n,n]