latrs Interface

public interface latrs

LATRS solves one of the triangular systems A * x = sb, AT * x = sb, or AH * x = s*b, with scaling to prevent overflow. Here A is an upper or lower triangular matrix, AT denotes the transpose of A, A*H denotes the conjugate transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine CTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to Ax = 0 is returned.


Subroutines

public pure subroutine clatrs(uplo, trans, diag, normin, n, a, lda, x, scale, cnorm, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: uplo
character(len=1), intent(in) :: trans
character(len=1), intent(in) :: diag
character(len=1), intent(in) :: normin
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=sp), intent(inout) :: x(*)
real(kind=sp), intent(out) :: scale
real(kind=sp), intent(inout) :: cnorm(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine dlatrs(uplo, trans, diag, normin, n, a, lda, x, scale, cnorm, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: uplo
character(len=1), intent(in) :: trans
character(len=1), intent(in) :: diag
character(len=1), intent(in) :: normin
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(inout) :: x(*)
real(kind=dp), intent(out) :: scale
real(kind=dp), intent(inout) :: cnorm(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine slatrs(uplo, trans, diag, normin, n, a, lda, x, scale, cnorm, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: uplo
character(len=1), intent(in) :: trans
character(len=1), intent(in) :: diag
character(len=1), intent(in) :: normin
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(inout) :: x(*)
real(kind=sp), intent(out) :: scale
real(kind=sp), intent(inout) :: cnorm(*)
integer(kind=ilp), intent(out) :: info

public pure subroutine zlatrs(uplo, trans, diag, normin, n, a, lda, x, scale, cnorm, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: uplo
character(len=1), intent(in) :: trans
character(len=1), intent(in) :: diag
character(len=1), intent(in) :: normin
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(in) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
complex(kind=dp), intent(inout) :: x(*)
real(kind=dp), intent(out) :: scale
real(kind=dp), intent(inout) :: cnorm(*)
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_clatrs()

Arguments

None

public interface stdlib_dlatrs()

Arguments

None

public interface stdlib_slatrs()

Arguments

None

public interface stdlib_zlatrs()

Arguments

None