MAGMA  2.3.0 Matrix Algebra for GPU and Multicore Architectures
hb2st: 2nd stage, band to tridiagonal

Functions

magma_int_t magma_chetrd_hb2st (magma_uplo_t uplo, magma_int_t n, magma_int_t nb, magma_int_t Vblksiz, magmaFloatComplex *A, magma_int_t lda, float *d, float *e, magmaFloatComplex *V, magma_int_t ldv, magmaFloatComplex *TAU, magma_int_t wantz, magmaFloatComplex *T, magma_int_t ldt)
Reduces Hermitian band matrix to real symmetric tridiagonal. More...

magma_int_t magma_zhetrd_hb2st (magma_uplo_t uplo, magma_int_t n, magma_int_t nb, magma_int_t Vblksiz, magmaDoubleComplex *A, magma_int_t lda, double *d, double *e, magmaDoubleComplex *V, magma_int_t ldv, magmaDoubleComplex *TAU, magma_int_t wantz, magmaDoubleComplex *T, magma_int_t ldt)
Reduces Hermitian band matrix to real symmetric tridiagonal. More...

Function Documentation

 magma_int_t magma_chetrd_hb2st ( magma_uplo_t uplo, magma_int_t n, magma_int_t nb, magma_int_t Vblksiz, magmaFloatComplex * A, magma_int_t lda, float * d, float * e, magmaFloatComplex * V, magma_int_t ldv, magmaFloatComplex * TAU, magma_int_t wantz, magmaFloatComplex * T, magma_int_t ldt )

Reduces Hermitian band matrix to real symmetric tridiagonal.

Parameters
 [in] uplo magma_uplo_t = MagmaUpper: Upper triangles of A is stored; = MagmaLower: Lower triangles of A is stored. [in] n INTEGER The order of the matrix A. n >= 0. [in] nb INTEGER The order of the band matrix A. n >= nb >= 0. [in] Vblksiz INTEGER The size of the block of householder vectors applied at once. [in] A (workspace) COMPLEX array, dimension (lda, n) On entry the band matrix stored in the following way: [in] lda INTEGER The leading dimension of the array A. lda >= 2*nb. [out] d DOUBLE array, dimension (n) The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i). [out] e DOUBLE array, dimension (n-1) The off-diagonal elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO = MagmaUpper, E(i) = A(i+1,i) if UPLO = MagmaLower. [out] V COMPLEX array, dimension (BLKCNT, LDV, VBLKSIZ) On exit it contains the blocks of householder reflectors BLKCNT is the number of block and it is returned by the funtion MAGMA_BULGE_GET_BLKCNT. [in] ldv INTEGER The leading dimension of V. LDV > nb + VBLKSIZ + 1 [out] TAU COMPLEX dimension(BLKCNT, VBLKSIZ) ??? [in] wantz INTEGER if COMPT = 0 T is not computed if COMPT = 1 T is computed [out] T COMPLEX dimension(LDT *) if COMPT = 1 on exit contains the matrices T needed for Q2 if COMPT = 0 T is not referenced [in] ldt INTEGER The leading dimension of T. LDT > Vblksiz
 magma_int_t magma_zhetrd_hb2st ( magma_uplo_t uplo, magma_int_t n, magma_int_t nb, magma_int_t Vblksiz, magmaDoubleComplex * A, magma_int_t lda, double * d, double * e, magmaDoubleComplex * V, magma_int_t ldv, magmaDoubleComplex * TAU, magma_int_t wantz, magmaDoubleComplex * T, magma_int_t ldt )

Reduces Hermitian band matrix to real symmetric tridiagonal.

Parameters
 [in] uplo magma_uplo_t = MagmaUpper: Upper triangles of A is stored; = MagmaLower: Lower triangles of A is stored. [in] n INTEGER The order of the matrix A. n >= 0. [in] nb INTEGER The order of the band matrix A. n >= nb >= 0. [in] Vblksiz INTEGER The size of the block of householder vectors applied at once. [in] A (workspace) COMPLEX_16 array, dimension (lda, n) On entry the band matrix stored in the following way: [in] lda INTEGER The leading dimension of the array A. lda >= 2*nb. [out] d DOUBLE array, dimension (n) The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i). [out] e DOUBLE array, dimension (n-1) The off-diagonal elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO = MagmaUpper, E(i) = A(i+1,i) if UPLO = MagmaLower. [out] V COMPLEX_16 array, dimension (BLKCNT, LDV, VBLKSIZ) On exit it contains the blocks of householder reflectors BLKCNT is the number of block and it is returned by the funtion MAGMA_BULGE_GET_BLKCNT. [in] ldv INTEGER The leading dimension of V. LDV > nb + VBLKSIZ + 1 [out] TAU COMPLEX_16 dimension(BLKCNT, VBLKSIZ) ??? [in] wantz INTEGER if COMPT = 0 T is not computed if COMPT = 1 T is computed [out] T COMPLEX_16 dimension(LDT *) if COMPT = 1 on exit contains the matrices T needed for Q2 if COMPT = 0 T is not referenced [in] ldt INTEGER The leading dimension of T. LDT > Vblksiz