|
fortran-lapack
|
Householder reflectors: generation, blocking, application. More...
Functions/Subroutines | |
| pure subroutine, public | la_slarf (side, m, n, v, incv, tau, c, ldc, work) |
| SLARF: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_dlarf (side, m, n, v, incv, tau, c, ldc, work) |
| DLARF: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_qlarf (side, m, n, v, incv, tau, c, ldc, work) |
| QLARF: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_slarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork) |
| SLARFB: applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right. | |
| pure subroutine, public | la_dlarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork) |
| DLARFB: applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right. | |
| pure subroutine, public | la_qlarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork) |
| QLARFB: applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right. | |
| pure subroutine, public | la_slarft (direct, storev, n, k, v, ldv, tau, t, ldt) |
| SLARFT: forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**T If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**T * T * V. | |
| pure subroutine, public | la_dlarft (direct, storev, n, k, v, ldv, tau, t, ldt) |
| DLARFT: forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**T If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**T * T * V. | |
| pure subroutine, public | la_qlarft (direct, storev, n, k, v, ldv, tau, t, ldt) |
| QLARFT: forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**T If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**T * T * V. | |
| pure subroutine, public | la_slarfx (side, m, n, v, tau, c, ldc, work) |
| SLARFX: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11. | |
| pure subroutine, public | la_dlarfx (side, m, n, v, tau, c, ldc, work) |
| DLARFX: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11. | |
| pure subroutine, public | la_qlarfx (side, m, n, v, tau, c, ldc, work) |
| QLARFX: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11. | |
| pure subroutine, public | la_slarfy (uplo, n, v, incv, tau, c, ldc, work) |
| SLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n symmetric matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_dlarfy (uplo, n, v, incv, tau, c, ldc, work) |
| DLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n symmetric matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_qlarfy (uplo, n, v, incv, tau, c, ldc, work) |
| QLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n symmetric matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_slarfg (n, alpha, x, incx, tau) |
| SLARFG: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2. | |
| pure subroutine, public | la_dlarfg (n, alpha, x, incx, tau) |
| DLARFG: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2. | |
| pure subroutine, public | la_qlarfg (n, alpha, x, incx, tau) |
| QLARFG: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2. | |
| subroutine, public | la_slarfgp (n, alpha, x, incx, tau) |
| SLARFGP: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. | |
| subroutine, public | la_dlarfgp (n, alpha, x, incx, tau) |
| DLARFGP: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. | |
| subroutine, public | la_qlarfgp (n, alpha, x, incx, tau) |
| QLARFGP: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. | |
| pure subroutine, public | la_clarf (side, m, n, v, incv, tau, c, ldc, work) |
| CLARF: applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply H**H (the conjugate transpose of H), supply conjg(tau) instead tau. | |
| pure subroutine, public | la_zlarf (side, m, n, v, incv, tau, c, ldc, work) |
| ZLARF: applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply H**H, supply conjg(tau) instead tau. | |
| pure subroutine, public | la_wlarf (side, m, n, v, incv, tau, c, ldc, work) |
| WLARF: applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply H**H, supply conjg(tau) instead tau. | |
| pure subroutine, public | la_clarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork) |
| CLARFB: applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right. | |
| pure subroutine, public | la_zlarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork) |
| ZLARFB: applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right. | |
| pure subroutine, public | la_wlarfb (side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork) |
| WLARFB: applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right. | |
| pure subroutine, public | la_clarfg (n, alpha, x, incx, tau) |
| CLARFG: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 . | |
| pure subroutine, public | la_zlarfg (n, alpha, x, incx, tau) |
| ZLARFG: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 . | |
| pure subroutine, public | la_wlarfg (n, alpha, x, incx, tau) |
| WLARFG: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 . | |
| subroutine, public | la_clarfgp (n, alpha, x, incx, tau) |
| CLARFGP: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. | |
| subroutine, public | la_zlarfgp (n, alpha, x, incx, tau) |
| ZLARFGP: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. | |
| subroutine, public | la_wlarfgp (n, alpha, x, incx, tau) |
| WLARFGP: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. | |
| pure subroutine, public | la_clarft (direct, storev, n, k, v, ldv, tau, t, ldt) |
| CLARFT: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**H If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**H * T * V. | |
| pure subroutine, public | la_zlarft (direct, storev, n, k, v, ldv, tau, t, ldt) |
| ZLARFT: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**H If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**H * T * V. | |
| pure subroutine, public | la_wlarft (direct, storev, n, k, v, ldv, tau, t, ldt) |
| WLARFT: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**H If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**H * T * V. | |
| pure subroutine, public | la_clarfx (side, m, n, v, tau, c, ldc, work) |
| CLARFX: applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11. | |
| pure subroutine, public | la_zlarfx (side, m, n, v, tau, c, ldc, work) |
| ZLARFX: applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11. | |
| pure subroutine, public | la_wlarfx (side, m, n, v, tau, c, ldc, work) |
| WLARFX: applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11. | |
| pure subroutine, public | la_clarfy (uplo, n, v, incv, tau, c, ldc, work) |
| CLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_zlarfy (uplo, n, v, incv, tau, c, ldc, work) |
| ZLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix. | |
| pure subroutine, public | la_wlarfy (uplo, n, v, incv, tau, c, ldc, work) |
| WLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix. | |
Householder reflectors: generation, blocking, application.
| pure subroutine, public la_lapack_householder_reflectors::la_clarf | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| complex(sp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| complex(sp), intent(in) | tau, | ||
| complex(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(sp), dimension(*), intent(out) | work ) |
CLARF: applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply H**H (the conjugate transpose of H), supply conjg(tau) instead tau.

| pure subroutine, public la_lapack_householder_reflectors::la_clarfb | ( | character, intent(in) | side, |
| character, intent(in) | trans, | ||
| character, intent(in) | direct, | ||
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| complex(sp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| complex(sp), dimension(ldt,*), intent(in) | t, | ||
| integer(ilp), intent(in) | ldt, | ||
| complex(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(sp), dimension(ldwork,*), intent(out) | work, | ||
| integer(ilp), intent(in) | ldwork ) |
CLARFB: applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right.

| pure subroutine, public la_lapack_householder_reflectors::la_clarfg | ( | integer(ilp), intent(in) | n, |
| complex(sp), intent(inout) | alpha, | ||
| complex(sp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| complex(sp), intent(out) | tau ) |
CLARFG: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .

| subroutine, public la_lapack_householder_reflectors::la_clarfgp | ( | integer(ilp), intent(in) | n, |
| complex(sp), intent(inout) | alpha, | ||
| complex(sp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| complex(sp), intent(out) | tau ) |
CLARFGP: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_clarft | ( | character, intent(in) | direct, |
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| complex(sp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| complex(sp), dimension(*), intent(in) | tau, | ||
| complex(sp), dimension(ldt,*), intent(out) | t, | ||
| integer(ilp), intent(in) | ldt ) |
CLARFT: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**H If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**H * T * V.

| pure subroutine, public la_lapack_householder_reflectors::la_clarfx | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| complex(sp), dimension(*), intent(in) | v, | ||
| complex(sp), intent(in) | tau, | ||
| complex(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(sp), dimension(*), intent(out) | work ) |
CLARFX: applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11.

| pure subroutine, public la_lapack_householder_reflectors::la_clarfy | ( | character, intent(in) | uplo, |
| integer(ilp), intent(in) | n, | ||
| complex(sp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| complex(sp), intent(in) | tau, | ||
| complex(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(sp), dimension(*), intent(out) | work ) |
CLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_dlarf | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| real(dp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| real(dp), intent(in) | tau, | ||
| real(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(dp), dimension(*), intent(out) | work ) |
DLARF: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_dlarfb | ( | character, intent(in) | side, |
| character, intent(in) | trans, | ||
| character, intent(in) | direct, | ||
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| real(dp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| real(dp), dimension(ldt,*), intent(in) | t, | ||
| integer(ilp), intent(in) | ldt, | ||
| real(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(dp), dimension(ldwork,*), intent(out) | work, | ||
| integer(ilp), intent(in) | ldwork ) |
DLARFB: applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right.

| pure subroutine, public la_lapack_householder_reflectors::la_dlarfg | ( | integer(ilp), intent(in) | n, |
| real(dp), intent(inout) | alpha, | ||
| real(dp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| real(dp), intent(out) | tau ) |
DLARFG: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2.

| subroutine, public la_lapack_householder_reflectors::la_dlarfgp | ( | integer(ilp), intent(in) | n, |
| real(dp), intent(inout) | alpha, | ||
| real(dp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| real(dp), intent(out) | tau ) |
DLARFGP: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_dlarft | ( | character, intent(in) | direct, |
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| real(dp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| real(dp), dimension(*), intent(in) | tau, | ||
| real(dp), dimension(ldt,*), intent(out) | t, | ||
| integer(ilp), intent(in) | ldt ) |
DLARFT: forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**T If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**T * T * V.

| pure subroutine, public la_lapack_householder_reflectors::la_dlarfx | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| real(dp), dimension(*), intent(in) | v, | ||
| real(dp), intent(in) | tau, | ||
| real(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(dp), dimension(*), intent(out) | work ) |
DLARFX: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11.

| pure subroutine, public la_lapack_householder_reflectors::la_dlarfy | ( | character, intent(in) | uplo, |
| integer(ilp), intent(in) | n, | ||
| real(dp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| real(dp), intent(in) | tau, | ||
| real(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(dp), dimension(*), intent(out) | work ) |
DLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n symmetric matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_qlarf | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| real(qp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| real(qp), intent(in) | tau, | ||
| real(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(qp), dimension(*), intent(out) | work ) |
QLARF: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_qlarfb | ( | character, intent(in) | side, |
| character, intent(in) | trans, | ||
| character, intent(in) | direct, | ||
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| real(qp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| real(qp), dimension(ldt,*), intent(in) | t, | ||
| integer(ilp), intent(in) | ldt, | ||
| real(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(qp), dimension(ldwork,*), intent(out) | work, | ||
| integer(ilp), intent(in) | ldwork ) |
QLARFB: applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right.

| pure subroutine, public la_lapack_householder_reflectors::la_qlarfg | ( | integer(ilp), intent(in) | n, |
| real(qp), intent(inout) | alpha, | ||
| real(qp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| real(qp), intent(out) | tau ) |
QLARFG: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2.

| subroutine, public la_lapack_householder_reflectors::la_qlarfgp | ( | integer(ilp), intent(in) | n, |
| real(qp), intent(inout) | alpha, | ||
| real(qp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| real(qp), intent(out) | tau ) |
QLARFGP: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_qlarft | ( | character, intent(in) | direct, |
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| real(qp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| real(qp), dimension(*), intent(in) | tau, | ||
| real(qp), dimension(ldt,*), intent(out) | t, | ||
| integer(ilp), intent(in) | ldt ) |
QLARFT: forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**T If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**T * T * V.

| pure subroutine, public la_lapack_householder_reflectors::la_qlarfx | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| real(qp), dimension(*), intent(in) | v, | ||
| real(qp), intent(in) | tau, | ||
| real(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(qp), dimension(*), intent(out) | work ) |
QLARFX: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11.

| pure subroutine, public la_lapack_householder_reflectors::la_qlarfy | ( | character, intent(in) | uplo, |
| integer(ilp), intent(in) | n, | ||
| real(qp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| real(qp), intent(in) | tau, | ||
| real(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(qp), dimension(*), intent(out) | work ) |
QLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n symmetric matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_slarf | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| real(sp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| real(sp), intent(in) | tau, | ||
| real(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(sp), dimension(*), intent(out) | work ) |
SLARF: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_slarfb | ( | character, intent(in) | side, |
| character, intent(in) | trans, | ||
| character, intent(in) | direct, | ||
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| real(sp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| real(sp), dimension(ldt,*), intent(in) | t, | ||
| integer(ilp), intent(in) | ldt, | ||
| real(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(sp), dimension(ldwork,*), intent(out) | work, | ||
| integer(ilp), intent(in) | ldwork ) |
SLARFB: applies a real block reflector H or its transpose H**T to a real m by n matrix C, from either the left or the right.

| pure subroutine, public la_lapack_householder_reflectors::la_slarfg | ( | integer(ilp), intent(in) | n, |
| real(sp), intent(inout) | alpha, | ||
| real(sp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| real(sp), intent(out) | tau ) |
SLARFG: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= tau <= 2.

| subroutine, public la_lapack_householder_reflectors::la_slarfgp | ( | integer(ilp), intent(in) | n, |
| real(sp), intent(inout) | alpha, | ||
| real(sp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| real(sp), intent(out) | tau ) |
SLARFGP: generates a real elementary reflector H of order n, such that H * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**T ) , ( v ) where tau is a real scalar and v is a real (n-1)-element vector. If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_slarft | ( | character, intent(in) | direct, |
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| real(sp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| real(sp), dimension(*), intent(in) | tau, | ||
| real(sp), dimension(ldt,*), intent(out) | t, | ||
| integer(ilp), intent(in) | ldt ) |
SLARFT: forms the triangular factor T of a real block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**T If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**T * T * V.

| pure subroutine, public la_lapack_householder_reflectors::la_slarfx | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| real(sp), dimension(*), intent(in) | v, | ||
| real(sp), intent(in) | tau, | ||
| real(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(sp), dimension(*), intent(out) | work ) |
SLARFX: applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**T where tau is a real scalar and v is a real vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11.

| pure subroutine, public la_lapack_householder_reflectors::la_slarfy | ( | character, intent(in) | uplo, |
| integer(ilp), intent(in) | n, | ||
| real(sp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| real(sp), intent(in) | tau, | ||
| real(sp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| real(sp), dimension(*), intent(out) | work ) |
SLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n symmetric matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_wlarf | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| complex(qp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| complex(qp), intent(in) | tau, | ||
| complex(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(qp), dimension(*), intent(out) | work ) |
WLARF: applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply H**H, supply conjg(tau) instead tau.

| pure subroutine, public la_lapack_householder_reflectors::la_wlarfb | ( | character, intent(in) | side, |
| character, intent(in) | trans, | ||
| character, intent(in) | direct, | ||
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| complex(qp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| complex(qp), dimension(ldt,*), intent(in) | t, | ||
| integer(ilp), intent(in) | ldt, | ||
| complex(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(qp), dimension(ldwork,*), intent(out) | work, | ||
| integer(ilp), intent(in) | ldwork ) |
WLARFB: applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right.

| pure subroutine, public la_lapack_householder_reflectors::la_wlarfg | ( | integer(ilp), intent(in) | n, |
| complex(qp), intent(inout) | alpha, | ||
| complex(qp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| complex(qp), intent(out) | tau ) |
WLARFG: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .

| subroutine, public la_lapack_householder_reflectors::la_wlarfgp | ( | integer(ilp), intent(in) | n, |
| complex(qp), intent(inout) | alpha, | ||
| complex(qp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| complex(qp), intent(out) | tau ) |
WLARFGP: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_wlarft | ( | character, intent(in) | direct, |
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| complex(qp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| complex(qp), dimension(*), intent(in) | tau, | ||
| complex(qp), dimension(ldt,*), intent(out) | t, | ||
| integer(ilp), intent(in) | ldt ) |
WLARFT: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**H If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**H * T * V.

| pure subroutine, public la_lapack_householder_reflectors::la_wlarfx | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| complex(qp), dimension(*), intent(in) | v, | ||
| complex(qp), intent(in) | tau, | ||
| complex(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(qp), dimension(*), intent(out) | work ) |
WLARFX: applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11.

| pure subroutine, public la_lapack_householder_reflectors::la_wlarfy | ( | character, intent(in) | uplo, |
| integer(ilp), intent(in) | n, | ||
| complex(qp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| complex(qp), intent(in) | tau, | ||
| complex(qp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(qp), dimension(*), intent(out) | work ) |
WLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_zlarf | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| complex(dp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| complex(dp), intent(in) | tau, | ||
| complex(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(dp), dimension(*), intent(out) | work ) |
ZLARF: applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply H**H, supply conjg(tau) instead tau.

| pure subroutine, public la_lapack_householder_reflectors::la_zlarfb | ( | character, intent(in) | side, |
| character, intent(in) | trans, | ||
| character, intent(in) | direct, | ||
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| complex(dp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| complex(dp), dimension(ldt,*), intent(in) | t, | ||
| integer(ilp), intent(in) | ldt, | ||
| complex(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(dp), dimension(ldwork,*), intent(out) | work, | ||
| integer(ilp), intent(in) | ldwork ) |
ZLARFB: applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right.

| pure subroutine, public la_lapack_householder_reflectors::la_zlarfg | ( | integer(ilp), intent(in) | n, |
| complex(dp), intent(inout) | alpha, | ||
| complex(dp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| complex(dp), intent(out) | tau ) |
ZLARFG: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .

| subroutine, public la_lapack_householder_reflectors::la_zlarfgp | ( | integer(ilp), intent(in) | n, |
| complex(dp), intent(inout) | alpha, | ||
| complex(dp), dimension(*), intent(inout) | x, | ||
| integer(ilp), intent(in) | incx, | ||
| complex(dp), intent(out) | tau ) |
ZLARFGP: generates a complex elementary reflector H of order n, such that H**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix.

| pure subroutine, public la_lapack_householder_reflectors::la_zlarft | ( | character, intent(in) | direct, |
| character, intent(in) | storev, | ||
| integer(ilp), intent(in) | n, | ||
| integer(ilp), intent(in) | k, | ||
| complex(dp), dimension(ldv,*), intent(in) | v, | ||
| integer(ilp), intent(in) | ldv, | ||
| complex(dp), dimension(*), intent(in) | tau, | ||
| complex(dp), dimension(ldt,*), intent(out) | t, | ||
| integer(ilp), intent(in) | ldt ) |
ZLARFT: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * V**H If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - V**H * T * V.

| pure subroutine, public la_lapack_householder_reflectors::la_zlarfx | ( | character, intent(in) | side, |
| integer(ilp), intent(in) | m, | ||
| integer(ilp), intent(in) | n, | ||
| complex(dp), dimension(*), intent(in) | v, | ||
| complex(dp), intent(in) | tau, | ||
| complex(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(dp), dimension(*), intent(out) | work ) |
ZLARFX: applies a complex elementary reflector H to a complex m by n matrix C, from either the left or the right. H is represented in the form H = I - tau * v * v**H where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix This version uses inline code if H has order < 11.

| pure subroutine, public la_lapack_householder_reflectors::la_zlarfy | ( | character, intent(in) | uplo, |
| integer(ilp), intent(in) | n, | ||
| complex(dp), dimension(*), intent(in) | v, | ||
| integer(ilp), intent(in) | incv, | ||
| complex(dp), intent(in) | tau, | ||
| complex(dp), dimension(ldc,*), intent(inout) | c, | ||
| integer(ilp), intent(in) | ldc, | ||
| complex(dp), dimension(*), intent(out) | work ) |
ZLARFY: applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.
