qr_space Interface

public interface qr_space

Computes the working array space required by the QR factorization solver (Specification)

Description

This interface returns the size of the real or complex working storage required by the QR factorization solver. The working size only depends on the kind (real or complex) and size of the matrix being factorized. Storage size can be used to pre-allocate a working array in case several repeated QR factorizations to a same-size matrix are sought. If pre-allocated working arrays are provided, no internal allocations will take place during the factorization.


Subroutines

private pure module subroutine get_qr_c_workspace(a, lwork, err)

Arguments

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

Input matrix a[m,n]

integer(kind=ilp), intent(out) :: lwork

Minimum workspace size for both operations

type(linalg_state_type), intent(out), optional :: err

State return flag. Returns an error if the query failed

private pure module subroutine get_qr_d_workspace(a, lwork, err)

Arguments

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

Input matrix a[m,n]

integer(kind=ilp), intent(out) :: lwork

Minimum workspace size for both operations

type(linalg_state_type), intent(out), optional :: err

State return flag. Returns an error if the query failed

private pure module subroutine get_qr_s_workspace(a, lwork, err)

Arguments

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

Input matrix a[m,n]

integer(kind=ilp), intent(out) :: lwork

Minimum workspace size for both operations

type(linalg_state_type), intent(out), optional :: err

State return flag. Returns an error if the query failed

private pure module subroutine get_qr_z_workspace(a, lwork, err)

Arguments

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

Input matrix a[m,n]

integer(kind=ilp), intent(out) :: lwork

Minimum workspace size for both operations

type(linalg_state_type), intent(out), optional :: err

State return flag. Returns an error if the query failed