Man page - hesv_aa_2stage(3)
Packages contains this manual
- hptrd(3)
- potri(3)
- xerbla_array(3)
- ggsvd_driver_grp(3)
- hfrk(3)
- getsqr_comp_grp(3)
- laed6(3)
- gtrfs(3)
- lasdq(3)
- gglse(3)
- la_xisnan_la_isnan(3)
- unmr2(3)
- hetrs_aa(3)
- tpttr(3)
- gerz_comp_grp(3)
- potrf(3)
- hegv_driver(3)
- laqps(3)
- ggqr_comp_grp(3)
- ilalc(3)
- ung2r(3)
- heevd(3)
- pstf2(3)
- lacn2(3)
- ptrfs(3)
- ungrq(3)
- gelqf(3)
- ppsv_comp(3)
- blas2_full(3)
- gemlqt(3)
- unml2(3)
- tplqt(3)
- tpcon(3)
- getf2(3)
- ggbak(3)
- bdsvd_driver(3)
- lamch(3)
- gelq(3)
- gebal(3)
- laqr1(3)
- ptsvx(3)
- lahr2(3)
- larscl2(3)
- geqrt(3)
- larfb(3)
- gtsv_comp(3)
- gesvd_aux(3)
- hbevx_2stage(3)
- hbgvx(3)
- tprfs(3)
- params_grp(3)
- lahef(3)
- laqr_group(3)
- unmqr(3)
- tgsy2(3)
- tfsv_comp(3)
- ggls_driver_grp(3)
- geev(3)
- latrd(3)
- unbdb4(3)
- bbcsd(3)
- lange(3)
- gelq_comp3(3)
- gttrs(3)
- lasy2(3)
- hetf2_rook(3)
- gtsv(3)
- lalsd(3)
- lanhb(3)
- laqhb(3)
- hgeqz(3)
- gesvj(3)
- gsvj0(3)
- ungtsqr_row(3)
- gelq_comp1(3)
- gemmtr(3)
- pbequ(3)
- heev_driver(3)
- unhr_col(3)
- syconvf_rook(3)
- getc2(3)
- syconv(3)
- norm_grp(3)
- larrc(3)
- laqr4(3)
- posv_comp(3)
- geev_driver_grp(3)
- heev_comp(3)
- pfsv(3)
- trevc3(3)
- gesv_driver_grp(3)
- reflector_aux_grp(3)
- langt(3)
- lacrt(3)
- latdf(3)
- hetrs_aa_2stage(3)
- lamc1(3)
- hpev_driver(3)
- hegvd(3)
- pptri(3)
- geqrt3(3)
- gelqt3(3)
- lasd5(3)
- laeda(3)
- geqr(3)
- lamtsqr(3)
- heev(3)
- hpev_comp(3)
- larfg(3)
- blas2_grp(3)
- hesv_rook(3)
- laexc(3)
- hetrd(3)
- geesx(3)
- ppsvx(3)
- blas_top(3)
- gtts2(3)
- la_herpvgrw(3)
- hpevx(3)
- ggevx(3)
- lahqr(3)
- gelq_comp_grp(3)
- hesv_comp_v3(3)
- tplqt2(3)
- hpev(3)
- hbtrd(3)
- getrs(3)
- hecon_3(3)
- lasrt(3)
- lanhe(3)
- gesv_comp(3)
- gbequ(3)
- hetrf_rk(3)
- laqr3(3)
- heev_comp_grp(3)
- ungtsqr(3)
- ppcon(3)
- ggrq_comp_grp(3)
- larmm(3)
- ieeeck(3)
- geqrf(3)
- solve_aux_grp(3)
- herfs(3)
- posvx(3)
- posvxx(3)
- gges3(3)
- hbgvd(3)
- lantb(3)
- lasd_comp_grp(3)
- hpgvx(3)
- lapy2(3)
- lauu2(3)
- copy(3)
- getsqrhrt(3)
- stev_comp_grp(3)
- laev2(3)
- larfb_gett(3)
- trti2(3)
- laqz4(3)
- hegv_driver_grp(3)
- la_porfsx_extended(3)
- laruv(3)
- ggsvd_comp_grp(3)
- dot(3)
- gehd2(3)
- lanhf(3)
- hetri_rook(3)
- pfsv_comp(3)
- gbtrf(3)
- hpgst(3)
- getri(3)
- trevc(3)
- unmrz(3)
- hsein(3)
- lsamen(3)
- lasd6(3)
- trtri(3)
- ggglm(3)
- las2(3)
- latrs(3)
- lapll(3)
- gemlq(3)
- geqpf_comp_grp(3)
- stemr(3)
- rotm(3)
- disna(3)
- ggrqf(3)
- pptrf(3)
- lasd0(3)
- lals0(3)
- laqz2(3)
- hbev_driver2(3)
- geswlq_comp_grp(3)
- laqr0(3)
- trttp(3)
- stedc(3)
- lasq4(3)
- geev_comp_grp(3)
- ungbr(3)
- lanv2(3)
- hpsv(3)
- pprfs(3)
- gehrd(3)
- ppsv(3)
- lagtm(3)
- hpgv(3)
- trsv_comp(3)
- larfx(3)
- gesv_driver(3)
- gerfsx(3)
- la_geamv(3)
- laed9(3)
- tpqrt2(3)
- uncsd(3)
- gecs_comp_grp(3)
- bdsqr(3)
- hegv_comp_grp(3)
- labad(3)
- geqp3(3)
- gesvdq(3)
- tfttp(3)
- laln2(3)
- uncsd2by1(3)
- blas2_like_grp(3)
- latbs(3)
- hbgst(3)
- larrv(3)
- ilaenv2stage(3)
- bdsvdx(3)
- hegs2(3)
- lasq_comp_grp(3)
- hpr2(3)
- laqhe(3)
- larra(3)
- gemqrt(3)
- hbmv(3)
- hpsv_driver(3)
- lacp2(3)
- lapmt(3)
- gecon(3)
- unbdb5(3)
- la_gerpvgrw(3)
- tgex2(3)
- laqhp(3)
- tftri(3)
- getrf2(3)
- porfs(3)
- lartg(3)
- lagts(3)
- ggev_comp_grp(3)
- lasd3(3)
- geqr_comp2(3)
- laqz_group(3)
- pftri(3)
- hetri2x(3)
- lahef_aa(3)
- svd_driver_grp(3)
- gbsv_driver(3)
- hesv_comp_aasen2(3)
- laqtr(3)
- lag2(3)
- la_porcond(3)
- hbev(3)
- pbtrf(3)
- lascl(3)
- larr_comp_grp(3)
- hecon(3)
- pttrs(3)
- lasd8(3)
- lsame(3)
- unm2l(3)
- potrs(3)
- tptrs(3)
- lartv(3)
- trtrs(3)
- gsvj1(3)
- sum1(3)
- larrj(3)
- gbmv(3)
- posv(3)
- gghd3(3)
- geev_top(3)
- geqr_comp_grp(3)
- laset(3)
- hesvxx(3)
- posv_comp_grp(3)
- lahef_rk(3)
- lasd1(3)
- tprfb(3)
- potf2(3)
- laein(3)
- lamc4(3)
- stevd(3)
- gtsv_driver(3)
- gesvd_comp_grp(3)
- la_constants(3)
- gesvx(3)
- hseqr(3)
- launhr_col_getrfnp2(3)
- trcon(3)
- larre(3)
- gelsy(3)
- ptsv(3)
- lacon(3)
- laed_comp_grp(3)
- hpsvx(3)
- gemm(3)
- poequ(3)
- laesy(3)
- lagtf(3)
- trrfs(3)
- ggev3(3)
- pbstf(3)
- poequb(3)
- heevr(3)
- lanhp(3)
- unbdb3(3)
- tgsyl(3)
- lamc5(3)
- geqr2p(3)
- ungqr(3)
- laqz3(3)
- imax1(3)
- gels_top(3)
- hesv(3)
- gelqt(3)
- pfsv_driver(3)
- stegr(3)
- gerqf(3)
- laisnan(3)
- ilatrans(3)
- gbsv_comp(3)
- pbrfs(3)
- lascl2(3)
- larz(3)
- la_hercond(3)
- tgexc(3)
- ggesx(3)
- unbdb6(3)
- ungl2(3)
- laed_comp2(3)
- rscl(3)
- hegv(3)
- gelst(3)
- gbtrs(3)
- pftrf(3)
- langb(3)
- lantr(3)
- laqgb(3)
- ggsvp3(3)
- bdsdc(3)
- ladiv(3)
- laqge(3)
- iparmq(3)
- ggbal(3)
- hb2st_kernels(3)
- lartgs(3)
- lartgp(3)
- rot(3)
- ppequ(3)
- laed3(3)
- her(3)
- hptri(3)
- stevx(3)
- upgtr(3)
- lar2v(3)
- hbev_2stage(3)
- gejsv(3)
- ppsv_driver(3)
- unm22(3)
- gesvxx(3)
- laqz0(3)
- unmtr(3)
- laed5(3)
- tptri(3)
- laed0(3)
- heev_driver2(3)
- hpcon(3)
- lasd4(3)
- hetrf_aa(3)
- geqr_comp3(3)
- rot_aux_grp(3)
- aux_grp(3)
- laebz(3)
- trsyl3(3)
- gges(3)
- gesdd(3)
- trexc(3)
- ung2l(3)
- gesv(3)
- laed4(3)
- md__r_e_a_d_m_e(3)
- blas3_like_grp(3)
- laed1(3)
- larcm(3)
- hbevx(3)
- hesv_driver_grp(3)
- hetrs(3)
- hbevd_2stage(3)
- blas1_grp(3)
- laic1(3)
- geql_comp_grp(3)
- heev_2stage(3)
- hpmv(3)
- pbtf2(3)
- hetrf_aa_2stage(3)
- hbgv(3)
- pptrs(3)
- lapmr(3)
- tpqr_comp_grp(3)
- larfy(3)
- gedmd(3)
- lasr(3)
- hetrd_2stage(3)
- gerfs(3)
- ungtr(3)
- porfsx(3)
- tpmv(3)
- lasd_comp2(3)
- unmbr(3)
- tbtrs(3)
- hetd2(3)
- trsv_comp_grp(3)
- lapy3(3)
- ptts2(3)
- unmhr(3)
- hbev_driver(3)
- lalsa(3)
- tbsv_comp(3)
- hesv_comp_v1(3)
- geql2(3)
- sterf(3)
- larrd(3)
- larft(3)
- lagv2(3)
- gttrf(3)
- tpqrt(3)
- la_lin_berr(3)
- rotg(3)
- solve_top(3)
- lacgv(3)
- larrf(3)
- tbmv(3)
- trsyl(3)
- geequ(3)
- upmtr(3)
- hpgv_driver(3)
- tbsv(3)
- hesvx(3)
- latrz(3)
- tfttr(3)
- gesv_comp_grp(3)
- xerbla_grp(3)
- tpsv(3)
- blas3_grp(3)
- gesvd_driver(3)
- geqr_comp1(3)
- ggev_driver_grp(3)
- la_gbamv(3)
- tpmlqt(3)
- trttf(3)
- larzb(3)
- unmr3(3)
- hecon_rook(3)
- stebz(3)
- lantp(3)
- laqz1(3)
- hesv_rk(3)
- tbcon(3)
- xerbla(3)
- posv_mixed(3)
- latps(3)
- hesv_aa_driver(3)
- gemqr(3)
- larrr(3)
- gebrd(3)
- tgsna(3)
- la_gercond(3)
- gbsv(3)
- hesv_comp_grp(3)
- gesv_mixed(3)
- gghrd(3)
- gbrfs(3)
- tpmqrt(3)
- lasq3(3)
- tpsv_comp(3)
- largv(3)
- gelsd(3)
- pftrs(3)
- asum(3)
- launhr_col_getrfnp(3)
- hptrf(3)
- lacpy(3)
- gesc2(3)
- lasda(3)
- second(3)
- hprfs(3)
- hpsv_comp(3)
- lamrg(3)
- pbsv_comp(3)
- hegv_2stage(3)
- gerq2(3)
- lasdt(3)
- abs1(3)
- hbevd(3)
- hbev_comp(3)
- trsv(3)
- la_porpvgrw(3)
- la_gbrpvgrw(3)
- hbgv_driver(3)
- tgsja(3)
- gebd2(3)
- geqr2(3)
- unm2r(3)
- unmql(3)
- la_gbrfsx_extended(3)
- gelq_comp2(3)
- iparam2stage(3)
- ger(3)
- larf(3)
- ilaprec(3)
- labrd(3)
- unbdb1(3)
- unmlq(3)
- geequb(3)
- la_herfsx_extended(3)
- unbdb2(3)
- lapack_top(3)
- ptsv_driver(3)
- hetrs2(3)
- geqr_comp4(3)
- pbsv(3)
- posv_driver(3)
- steqr(3)
- gels(3)
- lar1v(3)
- hemv(3)
- la_transtype(3)
- hesv_aa(3)
- lacrm(3)
- stevr(3)
- hetf2_rk(3)
- blas2_banded(3)
- stein(3)
- unmrq(3)
- larrk(3)
- hetri2(3)
- hesv_aa_2stage(3)
- pttrf(3)
- gelss(3)
- pbsv_driver(3)
- lasq5(3)
- heevx_2stage(3)
- hetri(3)
- lasd2(3)
- laed2(3)
- pbcon(3)
- ptcon(3)
- laed7(3)
- gels_aux_grp(3)
- hpgvd(3)
- hetf2(3)
- tzrzf(3)
- hpr(3)
- unitary_top(3)
- latsqr(3)
- ungql(3)
- her2(3)
- hetri_3x(3)
- hetrd_hb2st(3)
- tgsen(3)
- ggsvd3(3)
- lasq6(3)
- set_grp(3)
- larfgp(3)
- gels_driver_grp(3)
- pbtrs(3)
- lamswlq(3)
- lanht(3)
- gbsvxx(3)
- tgevc(3)
- ilaenv(3)
- swap(3)
- lae2(3)
- iladiag(3)
- lasq2(3)
- la_heamv(3)
- blas_like_top(3)
- la_gerfsx_extended(3)
- hegst(3)
- tfsm(3)
- gesvd(3)
- ungr2(3)
- ggev(3)
- aux_top(3)
- blas2_packed(3)
- geqlf(3)
- hetrs_rook(3)
- gelq2(3)
- geqrfp(3)
- gbequb(3)
- stev(3)
- lauum(3)
- potrf2(3)
- lamc3(3)
- gbrfsx(3)
- gerq_comp_grp(3)
- pocon(3)
- tbrfs(3)
- heswapr(3)
- lamc2(3)
- hpevd(3)
- hesv_comp_aasen(3)
- scalar_grp(3)
- gemv(3)
- lasv2(3)
- lanhs(3)
- svd_top(3)
- gbsvx(3)
- gesvdx(3)
- tplq_comp_grp(3)
- hesv_driver(3)
- hesv_comp_v2(3)
- trsen(3)
- syconvf(3)
- lasd7(3)
- gbcon(3)
- unbdb(3)
- heev_driver_grp(3)
- ggqrf(3)
- heevx(3)
- gtsvx(3)
- lahef_rook(3)
- hetrf_rook(3)
- hetrf(3)
- trsna(3)
- gebak(3)
- larnv(3)
- ptsv_comp(3)
- laswlq(3)
- lags2(3)
- laed8(3)
- laswp(3)
- hptrs(3)
- unglq(3)
- la_wwaddw(3)
- getrf(3)
- gees(3)
- gbtf2(3)
- hegvx(3)
- latrs3(3)
- roundup_lwork(3)
- unghr(3)
- iamax(3)
- larzt(3)
- pteqr(3)
- ilaver(3)
- trmv(3)
- la_gbrcond(3)
- blas0_like_grp(3)
- nrm2(3)
- heev_top(3)
- gtcon(3)
- heevr_2stage(3)
- pstrf(3)
- rot_comp(3)
- laqr5(3)
- heevd_2stage(3)
- getsls(3)
- hetrd_he2hb(3)
- heequb(3)
- laqp2(3)
- axpy(3)
- blast_aux(3)
- rotmg(3)
- pbsvx(3)
- ilauplo(3)
- herfsx(3)
- laqr2(3)
- blas1_like_grp(3)
- lassq(3)
- larrb(3)
- stev_driver(3)
- geevx(3)
- tpttf(3)
- scal(3)
- laneg(3)
- posv_driver_grp(3)
- lasq1(3)
- hetrs_3(3)
- geqrt2(3)
- gbbrd(3)
- ilalr(3)
- hetri_3(3)
apt-get install liblapack-doc
Manual
hesv_aa_2stage
NAMESYNOPSIS
Functions
Detailed Description
Function Documentation
subroutine chesv_aa_2stage (character uplo, integer n, integer nrhs,complex, dimension( lda, * ) a, integer lda, complex, dimension( * )tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension( * )ipiv2, complex, dimension( ldb, * ) b, integer ldb, complex, dimension(* ) work, integer lwork, integer info)
subroutine csysv_aa_2stage (character uplo, integer n, integer nrhs,complex, dimension( lda, * ) a, integer lda, complex, dimension( * )tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension( * )ipiv2, complex, dimension( ldb, * ) b, integer ldb, complex, dimension(* ) work, integer lwork, integer info)
subroutine dsysv_aa_2stage (character uplo, integer n, integer nrhs, doubleprecision, dimension( lda, * ) a, integer lda, double precision,dimension( * ) tb, integer ltb, integer, dimension( * ) ipiv, integer,dimension( * ) ipiv2, double precision, dimension( ldb, * ) b, integerldb, double precision, dimension( * ) work, integer lwork, integerinfo)
subroutine ssysv_aa_2stage (character uplo, integer n, integer nrhs, real,dimension( lda, * ) a, integer lda, real, dimension( * ) tb, integerltb, integer, dimension( * ) ipiv, integer, dimension( * ) ipiv2, real,dimension( ldb, * ) b, integer ldb, real, dimension( * ) work, integerlwork, integer info)
subroutine zhesv_aa_2stage (character uplo, integer n, integer nrhs,complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension(* ) tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension(* ) ipiv2, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,dimension( * ) work, integer lwork, integer info)
subroutine zsysv_aa_2stage (character uplo, integer n, integer nrhs,complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension(* ) tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension(* ) ipiv2, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,dimension( * ) work, integer lwork, integer info)
Author
NAME
hesv_aa_2stage - {he,sy}sv_aa_2stage: Aasen, blocked 2-stage
SYNOPSIS
Functions
subroutine
chesv_aa_2stage
(uplo, n, nrhs, a, lda, tb, ltb,
ipiv, ipiv2, b, ldb, work, lwork, info)
CHESV_AA_2STAGE computes the solution to system of linear
equations A * X = B for HE matrices
subroutine
csysv_aa_2stage
(uplo, n, nrhs, a, lda,
tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
CSYSV_AA_2STAGE computes the solution to system of linear
equations A * X = B for SY matrices
subroutine
dsysv_aa_2stage
(uplo, n, nrhs, a, lda,
tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
DSYSV_AA_2STAGE computes the solution to system of linear
equations A * X = B for SY matrices
subroutine
ssysv_aa_2stage
(uplo, n, nrhs, a, lda,
tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
SSYSV_AA_2STAGE computes the solution to system of linear
equations A * X = B for SY matrices
subroutine
zhesv_aa_2stage
(uplo, n, nrhs, a, lda,
tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
ZHESV_AA_2STAGE computes the solution to system of linear
equations A * X = B for HE matrices
subroutine
zsysv_aa_2stage
(uplo, n, nrhs, a, lda,
tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
ZSYSV_AA_2STAGE computes the solution to system of linear
equations A * X = B for SY matrices
Detailed Description
Function Documentation
subroutine chesv_aa_2stage (character uplo, integer n, integer nrhs,complex, dimension( lda, * ) a, integer lda, complex, dimension( * )tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension( * )ipiv2, complex, dimension( ldb, * ) b, integer ldb, complex, dimension(* ) work, integer lwork, integer info)
CHESV_AA_2STAGE computes the solution to system of linear equations A * X = B for HE matrices
Purpose:
CHESV_AA_2STAGE
computes the solution to a complex system of
linear equations
A * X = B,
where A is an N-by-N Hermitian matrix and X and B are
N-by-NRHS
matrices.
Aasenβs
2-stage algorithm is used to factor A as
A = U**H * T * U, if UPLO = βUβ, or
A = L * T * L**H, if UPLO = βLβ,
where U (or L) is a product of permutation and unit upper
(lower)
triangular matrices, and T is Hermitian and band. The matrix
T is
then LU-factored with partial pivoting. The factored form of
A
is then used to solve the system of equations A * X = B.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Parameters
UPLO
UPLO is
CHARACTER*1
= βUβ: Upper triangle of A is stored;
= βLβ: Lower triangle of A is stored.
N
N is INTEGER
The order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A
A is COMPLEX
array, dimension (LDA,N)
On entry, the hermitian matrix A. If UPLO = βUβ,
the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO =
βLβ, the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, L is
stored below (or above) the subdiagonal blocks,
when UPLO is βLβ (or βUβ).
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TB
TB is COMPLEX
array, dimension (MAX(1,LTB)).
On exit, details of the LU factorization of the band
matrix.
LTB
LTB is INTEGER
The size of the array TB. LTB >= MAX(1,4*N), internally
used to select NB such that LTB >= (3*NB+1)*N.
If LTB = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of LTB,
returns this value as the first entry of TB, and
no error message related to LTB is issued by XERBLA.
IPIV
IPIV is INTEGER
array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of A were interchanged with the
row and column IPIV(k).
IPIV2
IPIV2 is
INTEGER array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of T were interchanged with the
row and column IPIV(k).
B
B is COMPLEX
array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
WORK
WORK is COMPLEX
workspace of size (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK
LWORK is
INTEGER
The size of WORK. LWORK >= MAX(1,N), internally used to
select NB such that LWORK >= N*NB.
If LWORK = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and
no error message related to LWORK is issued by XERBLA.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value.
> 0: if INFO = i, band LU factorization failed on i-th
column
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine csysv_aa_2stage (character uplo, integer n, integer nrhs,complex, dimension( lda, * ) a, integer lda, complex, dimension( * )tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension( * )ipiv2, complex, dimension( ldb, * ) b, integer ldb, complex, dimension(* ) work, integer lwork, integer info)
CSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
Purpose:
CSYSV_AA_2STAGE
computes the solution to a complex system of
linear equations
A * X = B,
where A is an N-by-N symmetric matrix and X and B are
N-by-NRHS
matrices.
Aasenβs
2-stage algorithm is used to factor A as
A = U**T * T * U, if UPLO = βUβ, or
A = L * T * L**T, if UPLO = βLβ,
where U (or L) is a product of permutation and unit upper
(lower)
triangular matrices, and T is symmetric and band. The matrix
T is
then LU-factored with partial pivoting. The factored form of
A
is then used to solve the system of equations A * X = B.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Parameters
UPLO
UPLO is
CHARACTER*1
= βUβ: Upper triangle of A is stored;
= βLβ: Lower triangle of A is stored.
N
N is INTEGER
The order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A
A is COMPLEX
array, dimension (LDA,N)
On entry, the symmetric matrix A. If UPLO = βUβ,
the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO =
βLβ, the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, L is
stored below (or above) the subdiagonal blocks,
when UPLO is βLβ (or βUβ).
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TB
TB is COMPLEX
array, dimension (LTB)
On exit, details of the LU factorization of the band
matrix.
LTB
LTB is INTEGER
The size of the array TB. LTB >= 4*N, internally
used to select NB such that LTB >= (3*NB+1)*N.
If LTB = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of LTB,
returns this value as the first entry of TB, and
no error message related to LTB is issued by XERBLA.
IPIV
IPIV is INTEGER
array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of A were interchanged with the
row and column IPIV(k).
IPIV2
IPIV2 is
INTEGER array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of T were interchanged with the
row and column IPIV(k).
B
B is COMPLEX
array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
WORK
WORK is COMPLEX workspace of size LWORK
LWORK
LWORK is
INTEGER
The size of WORK. LWORK >= N, internally used to select
NB
such that LWORK >= N*NB.
If LWORK = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and
no error message related to LWORK is issued by XERBLA.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value.
> 0: if INFO = i, band LU factorization failed on i-th
column
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine dsysv_aa_2stage (character uplo, integer n, integer nrhs, doubleprecision, dimension( lda, * ) a, integer lda, double precision,dimension( * ) tb, integer ltb, integer, dimension( * ) ipiv, integer,dimension( * ) ipiv2, double precision, dimension( ldb, * ) b, integerldb, double precision, dimension( * ) work, integer lwork, integerinfo)
DSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
Purpose:
DSYSV_AA_2STAGE
computes the solution to a real system of
linear equations
A * X = B,
where A is an N-by-N symmetric matrix and X and B are
N-by-NRHS
matrices.
Aasenβs
2-stage algorithm is used to factor A as
A = U**T * T * U, if UPLO = βUβ, or
A = L * T * L**T, if UPLO = βLβ,
where U (or L) is a product of permutation and unit upper
(lower)
triangular matrices, and T is symmetric and band. The matrix
T is
then LU-factored with partial pivoting. The factored form of
A
is then used to solve the system of equations A * X = B.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Parameters
UPLO
UPLO is
CHARACTER*1
= βUβ: Upper triangle of A is stored;
= βLβ: Lower triangle of A is stored.
N
N is INTEGER
The order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A
A is DOUBLE
PRECISION array, dimension (LDA,N)
On entry, the symmetric matrix A. If UPLO = βUβ,
the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO =
βLβ, the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, L is
stored below (or above) the subdiagonal blocks,
when UPLO is βLβ (or βUβ).
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TB
TB is DOUBLE
PRECISION array, dimension (MAX(1,LTB))
On exit, details of the LU factorization of the band
matrix.
LTB
LTB is INTEGER
The size of the array TB. LTB >= MAX(1,4*N), internally
used to select NB such that LTB >= (3*NB+1)*N.
If LTB = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of LTB,
returns this value as the first entry of TB, and
no error message related to LTB is issued by XERBLA.
IPIV
IPIV is INTEGER
array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of A were interchanged with the
row and column IPIV(k).
IPIV2
IPIV2 is
INTEGER array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of T were interchanged with the
row and column IPIV(k).
B
B is DOUBLE
PRECISION array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
WORK
WORK is DOUBLE
PRECISION workspace of size (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK
LWORK is
INTEGER
The size of WORK. LWORK >= MAX(1,N), internally used to
select NB such that LWORK >= N*NB.
If LWORK = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and
no error message related to LWORK is issued by XERBLA.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value.
> 0: if INFO = i, band LU factorization failed on i-th
column
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine ssysv_aa_2stage (character uplo, integer n, integer nrhs, real,dimension( lda, * ) a, integer lda, real, dimension( * ) tb, integerltb, integer, dimension( * ) ipiv, integer, dimension( * ) ipiv2, real,dimension( ldb, * ) b, integer ldb, real, dimension( * ) work, integerlwork, integer info)
SSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
Purpose:
SSYSV_AA_2STAGE
computes the solution to a real system of
linear equations
A * X = B,
where A is an N-by-N symmetric matrix and X and B are
N-by-NRHS
matrices.
Aasenβs
2-stage algorithm is used to factor A as
A = U**T * T * U, if UPLO = βUβ, or
A = L * T * L**T, if UPLO = βLβ,
where U (or L) is a product of permutation and unit upper
(lower)
triangular matrices, and T is symmetric and band. The matrix
T is
then LU-factored with partial pivoting. The factored form of
A
is then used to solve the system of equations A * X = B.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Parameters
UPLO
UPLO is
CHARACTER*1
= βUβ: Upper triangle of A is stored;
= βLβ: Lower triangle of A is stored.
N
N is INTEGER
The order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A
A is REAL
array, dimension (LDA,N)
On entry, the symmetric matrix A. If UPLO = βUβ,
the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO =
βLβ, the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, L is
stored below (or above) the subdiagonal blocks,
when UPLO is βLβ (or βUβ).
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TB
TB is REAL
array, dimension (MAX(1,LTB))
On exit, details of the LU factorization of the band
matrix.
LTB
LTB is INTEGER
The size of the array TB. LTB >= MAX(1,4*N), internally
used to select NB such that LTB >= (3*NB+1)*N.
If LTB = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of LTB,
returns this value as the first entry of TB, and
no error message related to LTB is issued by XERBLA.
IPIV
IPIV is INTEGER
array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of A were interchanged with the
row and column IPIV(k).
IPIV2
IPIV2 is
INTEGER array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of T were interchanged with the
row and column IPIV(k).
B
B is REAL
array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
WORK
WORK is REAL
workspace of size (MAX(1,LWORK))
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK
LWORK is
INTEGER
The size of WORK. LWORK >= MAX(1,N), internally used to
select NB such that LWORK >= N*NB.
If LWORK = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and
no error message related to LWORK is issued by XERBLA.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value.
> 0: if INFO = i, band LU factorization failed on i-th
column
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine zhesv_aa_2stage (character uplo, integer n, integer nrhs,complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension(* ) tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension(* ) ipiv2, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,dimension( * ) work, integer lwork, integer info)
ZHESV_AA_2STAGE computes the solution to system of linear equations A * X = B for HE matrices
Purpose:
ZHESV_AA_2STAGE
computes the solution to a complex system of
linear equations
A * X = B,
where A is an N-by-N Hermitian matrix and X and B are
N-by-NRHS
matrices.
Aasenβs
2-stage algorithm is used to factor A as
A = U**H * T * U, if UPLO = βUβ, or
A = L * T * L**H, if UPLO = βLβ,
where U (or L) is a product of permutation and unit upper
(lower)
triangular matrices, and T is Hermitian and band. The matrix
T is
then LU-factored with partial pivoting. The factored form of
A
is then used to solve the system of equations A * X = B.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Parameters
UPLO
UPLO is
CHARACTER*1
= βUβ: Upper triangle of A is stored;
= βLβ: Lower triangle of A is stored.
N
N is INTEGER
The order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A
A is COMPLEX*16
array, dimension (LDA,N)
On entry, the hermitian matrix A. If UPLO = βUβ,
the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO =
βLβ, the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, L is
stored below (or above) the subdiagonal blocks,
when UPLO is βLβ (or βUβ).
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TB
TB is
COMPLEX*16 array, dimension (MAX(1,LTB)).
On exit, details of the LU factorization of the band
matrix.
LTB
LTB is INTEGER
The size of the array TB. LTB >= MAX(1,4*N), internally
used to select NB such that LTB >= (3*NB+1)*N.
If LTB = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of LTB,
returns this value as the first entry of TB, and
no error message related to LTB is issued by XERBLA.
IPIV
IPIV is INTEGER
array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of A were interchanged with the
row and column IPIV(k).
IPIV2
IPIV2 is
INTEGER array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of T were interchanged with the
row and column IPIV(k).
B
B is COMPLEX*16
array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
WORK
WORK is
COMPLEX*16 workspace of size (MAX(1,LWORK)).
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK
LWORK is
INTEGER
The size of WORK. LWORK >= MAX(1,N), internally used to
select NB such that LWORK >= N*NB.
If LWORK = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and
no error message related to LWORK is issued by XERBLA.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value.
> 0: if INFO = i, band LU factorization failed on i-th
column
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
subroutine zsysv_aa_2stage (character uplo, integer n, integer nrhs,complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension(* ) tb, integer ltb, integer, dimension( * ) ipiv, integer, dimension(* ) ipiv2, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,dimension( * ) work, integer lwork, integer info)
ZSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
Purpose:
ZSYSV_AA_2STAGE
computes the solution to a complex system of
linear equations
A * X = B,
where A is an N-by-N symmetric matrix and X and B are
N-by-NRHS
matrices.
Aasenβs
2-stage algorithm is used to factor A as
A = U**T * T * U, if UPLO = βUβ, or
A = L * T * L**T, if UPLO = βLβ,
where U (or L) is a product of permutation and unit upper
(lower)
triangular matrices, and T is symmetric and band. The matrix
T is
then LU-factored with partial pivoting. The factored form of
A
is then used to solve the system of equations A * X = B.
This is the blocked version of the algorithm, calling Level 3 BLAS.
Parameters
UPLO
UPLO is
CHARACTER*1
= βUβ: Upper triangle of A is stored;
= βLβ: Lower triangle of A is stored.
N
N is INTEGER
The order of the matrix A. N >= 0.
NRHS
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A
A is COMPLEX*16
array, dimension (LDA,N)
On entry, the symmetric matrix A. If UPLO = βUβ,
the leading
N-by-N upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO =
βLβ, the
leading N-by-N lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, L is
stored below (or above) the subdiagonal blocks,
when UPLO is βLβ (or βUβ).
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
TB
TB is
COMPLEX*16 array, dimension (LTB)
On exit, details of the LU factorization of the band
matrix.
LTB
LTB is INTEGER
The size of the array TB. LTB >= 4*N, internally
used to select NB such that LTB >= (3*NB+1)*N.
If LTB = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of LTB,
returns this value as the first entry of TB, and
no error message related to LTB is issued by XERBLA.
IPIV
IPIV is INTEGER
array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of A were interchanged with the
row and column IPIV(k).
IPIV2
IPIV2 is
INTEGER array, dimension (N)
On exit, it contains the details of the interchanges, i.e.,
the row and column k of T were interchanged with the
row and column IPIV(k).
B
B is COMPLEX*16
array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,N).
WORK
WORK is COMPLEX*16 workspace of size LWORK
LWORK
LWORK is
INTEGER
The size of WORK. LWORK >= N, internally used to select
NB
such that LWORK >= N*NB.
If LWORK = -1,
then a workspace query is assumed; the
routine only calculates the optimal size of the WORK array,
returns this value as the first entry of the WORK array, and
no error message related to LWORK is issued by XERBLA.
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value.
> 0: if INFO = i, band LU factorization failed on i-th
column
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Author
Generated automatically by Doxygen for LAPACK from the source code.