---
name: "hb2st_kernels"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/hb2st_kernels"
---

# hb2st\_kernels(3)

{hb,sb}2st\_kernels: band to tridiagonal (2nd stage)

## NAME

hb2st\_kernels - {hb,sb}2st\_kernels: band to tridiagonal (2nd stage)

## SYNOPSIS

### Functions

subroutine **chb2st\_kernels** (uplo, wantz, ttype, st, ed, sweep, n, nb, ib, a, lda, v, tau, ldvt, work)\
 **CHB2ST\_KERNELS**  subroutine **dsb2st\_kernels** (uplo, wantz, ttype, st, ed, sweep, n, nb, ib, a, lda, v, tau, ldvt, work)\
 **DSB2ST\_KERNELS**  subroutine **ssb2st\_kernels** (uplo, wantz, ttype, st, ed, sweep, n, nb, ib, a, lda, v, tau, ldvt, work)\
 **SSB2ST\_KERNELS**  subroutine **zhb2st\_kernels** (uplo, wantz, ttype, st, ed, sweep, n, nb, ib, a, lda, v, tau, ldvt, work)\
 **ZHB2ST\_KERNELS**

## Detailed Description

## Function Documentation

### subroutine chb2st\_kernels (character uplo, logical wantz, integer ttype, integer st, integer ed, integer sweep, integer n, integer nb, integer ib, complex, dimension( lda, \* ) a, integer lda, complex, dimension( \* ) v, complex, dimension( \* ) tau, integer ldvt, complex, dimension( \* ) work)

**CHB2ST\_KERNELS**

**Purpose:**

```
!>
!> CHB2ST_KERNELS is an internal routine used by the CHETRD_HB2ST
!> subroutine.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>
```

*WANTZ*

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

*TTYPE*

```
!>          TTYPE is INTEGER
!>
```

*ST*

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

*ED*

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

*SWEEP*

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

*N*

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

*NB*

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

*IB*

```
!>          IB is INTEGER.
!>
```

*A*

```
!>          A is COMPLEX array. A pointer to the matrix A.
!>
```

*LDA*

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

*V*

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

*TAU*

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

*LDVT*

```
!>          LDVT is INTEGER.
!>
```

*WORK*

```
!>          WORK is COMPLEX 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
!>
!>
```

Definition at line **169** of file **chb2st\_kernels.f**.

### subroutine dsb2st\_kernels (character uplo, logical wantz, integer ttype, integer st, integer ed, integer sweep, integer n, integer nb, integer ib, double precision, dimension( lda, \* ) a, integer lda, double precision, dimension( \* ) v, double precision, dimension( \* ) tau, integer ldvt, double precision, dimension( \* ) work)

**DSB2ST\_KERNELS**

**Purpose:**

```
!>
!> DSB2ST_KERNELS is an internal routine used by the DSYTRD_SB2ST
!> subroutine.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>
```

*WANTZ*

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

*TTYPE*

```
!>          TTYPE is INTEGER
!>
```

*ST*

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

*ED*

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

*SWEEP*

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

*N*

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

*NB*

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

*IB*

```
!>          IB is INTEGER.
!>
```

*A*

```
!>          A is DOUBLE PRECISION array. A pointer to the matrix A.
!>
```

*LDA*

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

*V*

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

*TAU*

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

*LDVT*

```
!>          LDVT is INTEGER.
!>
```

*WORK*

```
!>          WORK is DOUBLE PRECISION 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
!>
!>
```

Definition at line **169** of file **dsb2st\_kernels.f**.

### subroutine ssb2st\_kernels (character uplo, logical wantz, integer ttype, integer st, integer ed, integer sweep, integer n, integer nb, integer ib, real, dimension( lda, \* ) a, integer lda, real, dimension( \* ) v, real, dimension( \* ) tau, integer ldvt, real, dimension( \* ) work)

**SSB2ST\_KERNELS**

**Purpose:**

```
!>
!> SSB2ST_KERNELS is an internal routine used by the SSYTRD_SB2ST
!> subroutine.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>
```

*WANTZ*

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

*TTYPE*

```
!>          TTYPE is INTEGER
!>
```

*ST*

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

*ED*

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

*SWEEP*

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

*N*

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

*NB*

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

*IB*

```
!>          IB is INTEGER.
!>
```

*A*

```
!>          A is REAL array. A pointer to the matrix A.
!>
```

*LDA*

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

*V*

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

*TAU*

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

*LDVT*

```
!>          LDVT is INTEGER.
!>
```

*WORK*

```
!>          WORK is REAL 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
!>
!>
```

Definition at line **170** of file **ssb2st\_kernels.f**.

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

**Purpose:**

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

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>
```

*WANTZ*

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

*TTYPE*

```
!>          TTYPE is INTEGER
!>
```

*ST*

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

*ED*

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

*SWEEP*

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

*N*

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

*NB*

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

*IB*

```
!>          IB is INTEGER.
!>
```

*A*

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

*LDA*

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

*V*

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

*TAU*

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

*LDVT*

```
!>          LDVT is INTEGER.
!>
```

*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
!>
!>
```

Definition at line **169** of file **zhb2st\_kernels.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
