Loading...
Searching...
No Matches
hb2st: 2nd stage, band to tridiagonal
Dense LA » Eigenvalues » Symmetric/Hermitian eigenvalues » 2-stage variant

## 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.
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.

## Detailed Description

## Function Documentation

## magma_chetrd_hb2st()

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_zhetrd_hb2st()

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