Loading...
Searching...
No Matches

## zhb2st_kernels()

subroutine zhb2st_kernels | ( | character | uplo,
|  | logical | wantz,
|  | integer | ttype,
|  | integer | st,
|  | integer | ed,
|  | integer | sweep,
|  | integer | n,
|  | integer | nb,
|  | integer | ib,
|  | complex*16, dimension( lda, * ) | a,
|  | integer | lda,
|  | complex*16, dimension( * ) | v,
|  | complex*16, dimension( * ) | tau,
|  | integer | ldvt,
|  | complex*16, dimension( * ) | work )

ZHB2ST_KERNELS

Download ZHB2ST_KERNELS + dependencies [TGZ] [ZIP] [TXT]

Purpose:

      !>
      !> ZHB2ST_KERNELS is an internal routine used by the ZHETRD_HB2ST
      !> subroutine.
      !>

Parameters

  [in]

  UPLO

      !>          UPLO is CHARACTER*1
      !>

  [in]

  WANTZ

      !>          WANTZ is LOGICAL which indicate if Eigenvalue are requested or both
      !>          Eigenvalue/Eigenvectors.
      !>

  [in]

  TTYPE

      !>          TTYPE is INTEGER
      !>

  [in]

  ST

      !>          ST is INTEGER
      !>          internal parameter for indices.
      !>

  [in]

  ED

      !>          ED is INTEGER
      !>          internal parameter for indices.
      !>

  [in]

  SWEEP

      !>          SWEEP is INTEGER
      !>          internal parameter for indices.
      !>

  [in]

  N

      !>          N is INTEGER. The order of the matrix A.
      !>

  [in]

  NB

      !>          NB is INTEGER. The size of the band.
      !>

  [in]

  IB

      !>          IB is INTEGER.
      !>

  [in,out]

  A

      !>          A is COMPLEX*16 array. A pointer to the matrix A.
      !>

  [in]

  LDA

      !>          LDA is INTEGER. The leading dimension of the matrix A.
      !>

  [out]

  V

      !>          V is COMPLEX*16 array, dimension 2*n if eigenvalues only are
      !>          requested or to be queried for vectors.
      !>

  [out]

  TAU

      !>          TAU is COMPLEX*16 array, dimension (2*n).
      !>          The scalar factors of the Householder reflectors are stored
      !>          in this array.
      !>

  [in]

  LDVT

      !>          LDVT is INTEGER.
      !>

  [out]

  WORK

      !>          WORK is COMPLEX*16 array. Workspace of size nb.
      !>

Further Details:

      !>
      !>  Implemented by Azzam Haidar.
      !>
      !>  All details are available on technical report, SC11, SC13 papers.
      !>
      !>  Azzam Haidar, Hatem Ltaief, and Jack Dongarra.
      !>  Parallel reduction to condensed forms for symmetric eigenvalue problems
      !>  using aggregated fine-grained and memory-aware kernels. In Proceedings
      !>  of 2011 International Conference for High Performance Computing,
      !>  Networking, Storage and Analysis (SC '11), New York, NY, USA,
      !>  Article 8 , 11 pages.
      !>  http://doi.acm.org/10.1145/2063384.2063394
      !>
      !>  A. Haidar, J. Kurzak, P. Luszczek, 2013.
      !>  An improved parallel singular value algorithm and its implementation
      !>  for multicore hardware, In Proceedings of 2013 International Conference
      !>  for High Performance Computing, Networking, Storage and Analysis (SC '13).
      !>  Denver, Colorado, USA, 2013.
      !>  Article 90, 12 pages.
      !>  http://doi.acm.org/10.1145/2503210.2503292
      !>
      !>  A. Haidar, R. Solca, S. Tomov, T. Schulthess and J. Dongarra.
      !>  A novel hybrid CPU-GPU generalized eigensolver for electronic structure
      !>  calculations based on fine-grained memory aware tasks.
      !>  International Journal of High Performance Computing Applications.
      !>  Volume 28 Issue 2, Pages 196-209, May 2014.
      !>  http://hpc.sagepub.com/content/28/2/196
      !>
      !>