Man page - tprfb(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
tprfb
NAMESYNOPSIS
Functions
Detailed Description
Function Documentation
subroutine ctprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l, complex,dimension( ldv, * ) v, integer ldv, complex, dimension( ldt, * ) t,integer ldt, complex, dimension( lda, * ) a, integer lda, complex,dimension( ldb, * ) b, integer ldb, complex, dimension( ldwork, * )work, integer ldwork)
subroutine dtprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l, doubleprecision, dimension( ldv, * ) v, integer ldv, double precision,dimension( ldt, * ) t, integer ldt, double precision, dimension( lda, *) a, integer lda, double precision, dimension( ldb, * ) b, integer ldb,double precision, dimension( ldwork, * ) work, integer ldwork)
subroutine stprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l, real,dimension( ldv, * ) v, integer ldv, real, dimension( ldt, * ) t,integer ldt, real, dimension( lda, * ) a, integer lda, real, dimension(ldb, * ) b, integer ldb, real, dimension( ldwork, * ) work, integerldwork)
subroutine ztprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l,complex*16, dimension( ldv, * ) v, integer ldv, complex*16, dimension(ldt, * ) t, integer ldt, complex*16, dimension( lda, * ) a, integerlda, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,dimension( ldwork, * ) work, integer ldwork)
Author
NAME
tprfb - tprfb: applies Q (like larfb)
SYNOPSIS
Functions
subroutine
ctprfb
(side, trans, direct, storev, m, n, k, l, v,
ldv, t, ldt, a, lda, b, ldb, work, ldwork)
CTPRFB
applies a complex
โtriangular-pentagonalโ block reflector to a
complex matrix, which is composed of two blocks.
subroutine
dtprfb
(side, trans, direct, storev, m, n,
k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
DTPRFB
applies a real
โtriangular-pentagonalโ block reflector to a
real matrix, which is composed of two blocks.
subroutine
stprfb
(side, trans, direct, storev, m, n,
k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
STPRFB
applies a real
โtriangular-pentagonalโ block reflector to a
real matrix, which is composed of two blocks.
subroutine
ztprfb
(side, trans, direct, storev, m, n,
k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
ZTPRFB
applies a complex
โtriangular-pentagonalโ block reflector to a
complex matrix, which is composed of two blocks.
Detailed Description
Function Documentation
subroutine ctprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l, complex,dimension( ldv, * ) v, integer ldv, complex, dimension( ldt, * ) t,integer ldt, complex, dimension( lda, * ) a, integer lda, complex,dimension( ldb, * ) b, integer ldb, complex, dimension( ldwork, * )work, integer ldwork)
CTPRFB applies a complex โtriangular-pentagonalโ block reflector to a complex matrix, which is composed of two blocks.
Purpose:
CTPRFB applies
a complex โtriangular-pentagonalโ block
reflector H or its
conjugate transpose H**H to a complex matrix C, which is
composed of two
blocks A and B, either from the left or right.
Parameters
SIDE
SIDE is
CHARACTER*1
= โLโ: apply H or H**H from the Left
= โRโ: apply H or H**H from the Right
TRANS
TRANS is
CHARACTER*1
= โNโ: apply H (No transpose)
= โCโ: apply H**H (Conjugate transpose)
DIRECT
DIRECT is
CHARACTER*1
Indicates how H is formed from a product of elementary
reflectors
= โFโ: H = H(1) H(2) . . . H(k) (Forward)
= โBโ: H = H(k) . . . H(2) H(1) (Backward)
STOREV
STOREV is
CHARACTER*1
Indicates how the vectors which define the elementary
reflectors are stored:
= โCโ: Columns
= โRโ: Rows
M
M is INTEGER
The number of rows of the matrix B.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
K
K is INTEGER
The order of the matrix T, i.e. the number of elementary
reflectors whose product defines the block reflector.
K >= 0.
L
L is INTEGER
The order of the trapezoidal part of V.
K >= L >= 0. See Further Details.
V
V is COMPLEX
array, dimension
(LDV,K) if STOREV = โCโ
(LDV,M) if STOREV = โRโ and SIDE =
โLโ
(LDV,N) if STOREV = โRโ and SIDE =
โRโ
The pentagonal matrix V, which contains the elementary
reflectors
H(1), H(2), ..., H(K). See Further Details.
LDV
LDV is INTEGER
The leading dimension of the array V.
If STOREV = โCโ and SIDE = โLโ, LDV
>= max(1,M);
if STOREV = โCโ and SIDE = โRโ, LDV
>= max(1,N);
if STOREV = โRโ, LDV >= K.
T
T is COMPLEX
array, dimension (LDT,K)
The triangular K-by-K matrix T in the representation of the
block reflector.
LDT
LDT is INTEGER
The leading dimension of the array T.
LDT >= K.
A
A is COMPLEX
array, dimension
(LDA,N) if SIDE = โLโ or (LDA,K) if SIDE =
โRโ
On entry, the K-by-N or M-by-K matrix A.
On exit, A is overwritten by the corresponding block of
H*C or H**H*C or C*H or C*H**H. See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A.
If SIDE = โLโ, LDA >= max(1,K);
If SIDE = โRโ, LDA >= max(1,M).
B
B is COMPLEX
array, dimension (LDB,N)
On entry, the M-by-N matrix B.
On exit, B is overwritten by the corresponding block of
H*C or H**H*C or C*H or C*H**H. See Further Details.
LDB
LDB is INTEGER
The leading dimension of the array B.
LDB >= max(1,M).
WORK
WORK is COMPLEX
array, dimension
(LDWORK,N) if SIDE = โLโ,
(LDWORK,K) if SIDE = โRโ.
LDWORK
LDWORK is
INTEGER
The leading dimension of the array WORK.
If SIDE = โLโ, LDWORK >= K;
if SIDE = โRโ, LDWORK >= M.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The matrix C is
a composite matrix formed from blocks A and B.
The block B is of size M-by-N; if SIDE = โRโ, A
is of size M-by-K,
and if SIDE = โLโ, A is of size K-by-N.
If SIDE = โRโ and DIRECT = โFโ, C = [A B].
If SIDE =
โLโ and DIRECT = โFโ, C = [A]
[B].
If SIDE = โRโ and DIRECT = โBโ, C = [B A].
If SIDE =
โLโ and DIRECT = โBโ, C = [B]
[A].
The pentagonal
matrix V is composed of a rectangular block V1 and a
trapezoidal block V2. The size of the trapezoidal block is
determined by
the parameter L, where 0<=L<=K. If L=K, the V2 block
of V is triangular;
if L=0, there is no trapezoidal block, thus V = V1 is
rectangular.
If DIRECT =
โFโ and STOREV = โCโ: V = [V1]
[V2]
- V2 is upper trapezoidal (first L rows of K-by-K upper
triangular)
If DIRECT = โFโ and STOREV = โRโ: V = [V1 V2]
- V2 is lower trapezoidal (first L columns of K-by-K lower triangular)
If DIRECT =
โBโ and STOREV = โCโ: V = [V2]
[V1]
- V2 is lower trapezoidal (last L rows of K-by-K lower
triangular)
If DIRECT = โBโ and STOREV = โRโ: V = [V2 V1]
- V2 is upper trapezoidal (last L columns of K-by-K upper triangular)
If STOREV = โCโ and SIDE = โLโ, V is M-by-K with V2 L-by-K.
If STOREV = โCโ and SIDE = โRโ, V is N-by-K with V2 L-by-K.
If STOREV = โRโ and SIDE = โLโ, V is K-by-M with V2 K-by-L.
If STOREV = โRโ and SIDE = โRโ, V is K-by-N with V2 K-by-L.
subroutine dtprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l, doubleprecision, dimension( ldv, * ) v, integer ldv, double precision,dimension( ldt, * ) t, integer ldt, double precision, dimension( lda, *) a, integer lda, double precision, dimension( ldb, * ) b, integer ldb,double precision, dimension( ldwork, * ) work, integer ldwork)
DTPRFB applies a real โtriangular-pentagonalโ block reflector to a real matrix, which is composed of two blocks.
Purpose:
DTPRFB applies
a real โtriangular-pentagonalโ block reflector H
or its
transpose H**T to a real matrix C, which is composed of two
blocks A and B, either from the left or right.
Parameters
SIDE
SIDE is
CHARACTER*1
= โLโ: apply H or H**T from the Left
= โRโ: apply H or H**T from the Right
TRANS
TRANS is
CHARACTER*1
= โNโ: apply H (No transpose)
= โTโ: apply H**T (Transpose)
DIRECT
DIRECT is
CHARACTER*1
Indicates how H is formed from a product of elementary
reflectors
= โFโ: H = H(1) H(2) . . . H(k) (Forward)
= โBโ: H = H(k) . . . H(2) H(1) (Backward)
STOREV
STOREV is
CHARACTER*1
Indicates how the vectors which define the elementary
reflectors are stored:
= โCโ: Columns
= โRโ: Rows
M
M is INTEGER
The number of rows of the matrix B.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
K
K is INTEGER
The order of the matrix T, i.e. the number of elementary
reflectors whose product defines the block reflector.
K >= 0.
L
L is INTEGER
The order of the trapezoidal part of V.
K >= L >= 0. See Further Details.
V
V is DOUBLE
PRECISION array, dimension
(LDV,K) if STOREV = โCโ
(LDV,M) if STOREV = โRโ and SIDE =
โLโ
(LDV,N) if STOREV = โRโ and SIDE =
โRโ
The pentagonal matrix V, which contains the elementary
reflectors
H(1), H(2), ..., H(K). See Further Details.
LDV
LDV is INTEGER
The leading dimension of the array V.
If STOREV = โCโ and SIDE = โLโ, LDV
>= max(1,M);
if STOREV = โCโ and SIDE = โRโ, LDV
>= max(1,N);
if STOREV = โRโ, LDV >= K.
T
T is DOUBLE
PRECISION array, dimension (LDT,K)
The triangular K-by-K matrix T in the representation of the
block reflector.
LDT
LDT is INTEGER
The leading dimension of the array T.
LDT >= K.
A
A is DOUBLE
PRECISION array, dimension
(LDA,N) if SIDE = โLโ or (LDA,K) if SIDE =
โRโ
On entry, the K-by-N or M-by-K matrix A.
On exit, A is overwritten by the corresponding block of
H*C or H**T*C or C*H or C*H**T. See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A.
If SIDE = โLโ, LDA >= max(1,K);
If SIDE = โRโ, LDA >= max(1,M).
B
B is DOUBLE
PRECISION array, dimension (LDB,N)
On entry, the M-by-N matrix B.
On exit, B is overwritten by the corresponding block of
H*C or H**T*C or C*H or C*H**T. See Further Details.
LDB
LDB is INTEGER
The leading dimension of the array B.
LDB >= max(1,M).
WORK
WORK is DOUBLE
PRECISION array, dimension
(LDWORK,N) if SIDE = โLโ,
(LDWORK,K) if SIDE = โRโ.
LDWORK
LDWORK is
INTEGER
The leading dimension of the array WORK.
If SIDE = โLโ, LDWORK >= K;
if SIDE = โRโ, LDWORK >= M.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The matrix C is
a composite matrix formed from blocks A and B.
The block B is of size M-by-N; if SIDE = โRโ, A
is of size M-by-K,
and if SIDE = โLโ, A is of size K-by-N.
If SIDE = โRโ and DIRECT = โFโ, C = [A B].
If SIDE =
โLโ and DIRECT = โFโ, C = [A]
[B].
If SIDE = โRโ and DIRECT = โBโ, C = [B A].
If SIDE =
โLโ and DIRECT = โBโ, C = [B]
[A].
The pentagonal
matrix V is composed of a rectangular block V1 and a
trapezoidal block V2. The size of the trapezoidal block is
determined by
the parameter L, where 0<=L<=K. If L=K, the V2 block
of V is triangular;
if L=0, there is no trapezoidal block, thus V = V1 is
rectangular.
If DIRECT =
โFโ and STOREV = โCโ: V = [V1]
[V2]
- V2 is upper trapezoidal (first L rows of K-by-K upper
triangular)
If DIRECT = โFโ and STOREV = โRโ: V = [V1 V2]
- V2 is lower trapezoidal (first L columns of K-by-K lower triangular)
If DIRECT =
โBโ and STOREV = โCโ: V = [V2]
[V1]
- V2 is lower trapezoidal (last L rows of K-by-K lower
triangular)
If DIRECT = โBโ and STOREV = โRโ: V = [V2 V1]
- V2 is upper trapezoidal (last L columns of K-by-K upper triangular)
If STOREV = โCโ and SIDE = โLโ, V is M-by-K with V2 L-by-K.
If STOREV = โCโ and SIDE = โRโ, V is N-by-K with V2 L-by-K.
If STOREV = โRโ and SIDE = โLโ, V is K-by-M with V2 K-by-L.
If STOREV = โRโ and SIDE = โRโ, V is K-by-N with V2 K-by-L.
subroutine stprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l, real,dimension( ldv, * ) v, integer ldv, real, dimension( ldt, * ) t,integer ldt, real, dimension( lda, * ) a, integer lda, real, dimension(ldb, * ) b, integer ldb, real, dimension( ldwork, * ) work, integerldwork)
STPRFB applies a real โtriangular-pentagonalโ block reflector to a real matrix, which is composed of two blocks.
Purpose:
STPRFB applies
a real โtriangular-pentagonalโ block reflector H
or its
transpose H**T to a real matrix C, which is composed of two
blocks A and B, either from the left or right.
Parameters
SIDE
SIDE is
CHARACTER*1
= โLโ: apply H or H**T from the Left
= โRโ: apply H or H**T from the Right
TRANS
TRANS is
CHARACTER*1
= โNโ: apply H (No transpose)
= โTโ: apply H**T (Transpose)
DIRECT
DIRECT is
CHARACTER*1
Indicates how H is formed from a product of elementary
reflectors
= โFโ: H = H(1) H(2) . . . H(k) (Forward)
= โBโ: H = H(k) . . . H(2) H(1) (Backward)
STOREV
STOREV is
CHARACTER*1
Indicates how the vectors which define the elementary
reflectors are stored:
= โCโ: Columns
= โRโ: Rows
M
M is INTEGER
The number of rows of the matrix B.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
K
K is INTEGER
The order of the matrix T, i.e. the number of elementary
reflectors whose product defines the block reflector.
K >= 0.
L
L is INTEGER
The order of the trapezoidal part of V.
K >= L >= 0. See Further Details.
V
V is REAL
array, dimension
(LDV,K) if STOREV = โCโ
(LDV,M) if STOREV = โRโ and SIDE =
โLโ
(LDV,N) if STOREV = โRโ and SIDE =
โRโ
The pentagonal matrix V, which contains the elementary
reflectors
H(1), H(2), ..., H(K). See Further Details.
LDV
LDV is INTEGER
The leading dimension of the array V.
If STOREV = โCโ and SIDE = โLโ, LDV
>= max(1,M);
if STOREV = โCโ and SIDE = โRโ, LDV
>= max(1,N);
if STOREV = โRโ, LDV >= K.
T
T is REAL
array, dimension (LDT,K)
The triangular K-by-K matrix T in the representation of the
block reflector.
LDT
LDT is INTEGER
The leading dimension of the array T.
LDT >= K.
A
A is REAL
array, dimension
(LDA,N) if SIDE = โLโ or (LDA,K) if SIDE =
โRโ
On entry, the K-by-N or M-by-K matrix A.
On exit, A is overwritten by the corresponding block of
H*C or H**T*C or C*H or C*H**T. See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A.
If SIDE = โLโ, LDA >= max(1,K);
If SIDE = โRโ, LDA >= max(1,M).
B
B is REAL
array, dimension (LDB,N)
On entry, the M-by-N matrix B.
On exit, B is overwritten by the corresponding block of
H*C or H**T*C or C*H or C*H**T. See Further Details.
LDB
LDB is INTEGER
The leading dimension of the array B.
LDB >= max(1,M).
WORK
WORK is REAL
array, dimension
(LDWORK,N) if SIDE = โLโ,
(LDWORK,K) if SIDE = โRโ.
LDWORK
LDWORK is
INTEGER
The leading dimension of the array WORK.
If SIDE = โLโ, LDWORK >= K;
if SIDE = โRโ, LDWORK >= M.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The matrix C is
a composite matrix formed from blocks A and B.
The block B is of size M-by-N; if SIDE = โRโ, A
is of size M-by-K,
and if SIDE = โLโ, A is of size K-by-N.
If SIDE = โRโ and DIRECT = โFโ, C = [A B].
If SIDE =
โLโ and DIRECT = โFโ, C = [A]
[B].
If SIDE = โRโ and DIRECT = โBโ, C = [B A].
If SIDE =
โLโ and DIRECT = โBโ, C = [B]
[A].
The pentagonal
matrix V is composed of a rectangular block V1 and a
trapezoidal block V2. The size of the trapezoidal block is
determined by
the parameter L, where 0<=L<=K. If L=K, the V2 block
of V is triangular;
if L=0, there is no trapezoidal block, thus V = V1 is
rectangular.
If DIRECT =
โFโ and STOREV = โCโ: V = [V1]
[V2]
- V2 is upper trapezoidal (first L rows of K-by-K upper
triangular)
If DIRECT = โFโ and STOREV = โRโ: V = [V1 V2]
- V2 is lower trapezoidal (first L columns of K-by-K lower triangular)
If DIRECT =
โBโ and STOREV = โCโ: V = [V2]
[V1]
- V2 is lower trapezoidal (last L rows of K-by-K lower
triangular)
If DIRECT = โBโ and STOREV = โRโ: V = [V2 V1]
- V2 is upper trapezoidal (last L columns of K-by-K upper triangular)
If STOREV = โCโ and SIDE = โLโ, V is M-by-K with V2 L-by-K.
If STOREV = โCโ and SIDE = โRโ, V is N-by-K with V2 L-by-K.
If STOREV = โRโ and SIDE = โLโ, V is K-by-M with V2 K-by-L.
If STOREV = โRโ and SIDE = โRโ, V is K-by-N with V2 K-by-L.
subroutine ztprfb (character side, character trans, character direct,character storev, integer m, integer n, integer k, integer l,complex*16, dimension( ldv, * ) v, integer ldv, complex*16, dimension(ldt, * ) t, integer ldt, complex*16, dimension( lda, * ) a, integerlda, complex*16, dimension( ldb, * ) b, integer ldb, complex*16,dimension( ldwork, * ) work, integer ldwork)
ZTPRFB applies a complex โtriangular-pentagonalโ block reflector to a complex matrix, which is composed of two blocks.
Purpose:
ZTPRFB applies
a complex โtriangular-pentagonalโ block
reflector H or its
conjugate transpose H**H to a complex matrix C, which is
composed of two
blocks A and B, either from the left or right.
Parameters
SIDE
SIDE is
CHARACTER*1
= โLโ: apply H or H**H from the Left
= โRโ: apply H or H**H from the Right
TRANS
TRANS is
CHARACTER*1
= โNโ: apply H (No transpose)
= โCโ: apply H**H (Conjugate transpose)
DIRECT
DIRECT is
CHARACTER*1
Indicates how H is formed from a product of elementary
reflectors
= โFโ: H = H(1) H(2) . . . H(k) (Forward)
= โBโ: H = H(k) . . . H(2) H(1) (Backward)
STOREV
STOREV is
CHARACTER*1
Indicates how the vectors which define the elementary
reflectors are stored:
= โCโ: Columns
= โRโ: Rows
M
M is INTEGER
The number of rows of the matrix B.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
K
K is INTEGER
The order of the matrix T, i.e. the number of elementary
reflectors whose product defines the block reflector.
K >= 0.
L
L is INTEGER
The order of the trapezoidal part of V.
K >= L >= 0. See Further Details.
V
V is COMPLEX*16
array, dimension
(LDV,K) if STOREV = โCโ
(LDV,M) if STOREV = โRโ and SIDE =
โLโ
(LDV,N) if STOREV = โRโ and SIDE =
โRโ
The pentagonal matrix V, which contains the elementary
reflectors
H(1), H(2), ..., H(K). See Further Details.
LDV
LDV is INTEGER
The leading dimension of the array V.
If STOREV = โCโ and SIDE = โLโ, LDV
>= max(1,M);
if STOREV = โCโ and SIDE = โRโ, LDV
>= max(1,N);
if STOREV = โRโ, LDV >= K.
T
T is COMPLEX*16
array, dimension (LDT,K)
The triangular K-by-K matrix T in the representation of the
block reflector.
LDT
LDT is INTEGER
The leading dimension of the array T.
LDT >= K.
A
A is COMPLEX*16
array, dimension
(LDA,N) if SIDE = โLโ or (LDA,K) if SIDE =
โRโ
On entry, the K-by-N or M-by-K matrix A.
On exit, A is overwritten by the corresponding block of
H*C or H**H*C or C*H or C*H**H. See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A.
If SIDE = โLโ, LDA >= max(1,K);
If SIDE = โRโ, LDA >= max(1,M).
B
B is COMPLEX*16
array, dimension (LDB,N)
On entry, the M-by-N matrix B.
On exit, B is overwritten by the corresponding block of
H*C or H**H*C or C*H or C*H**H. See Further Details.
LDB
LDB is INTEGER
The leading dimension of the array B.
LDB >= max(1,M).
WORK
WORK is
COMPLEX*16 array, dimension
(LDWORK,N) if SIDE = โLโ,
(LDWORK,K) if SIDE = โRโ.
LDWORK
LDWORK is
INTEGER
The leading dimension of the array WORK.
If SIDE = โLโ, LDWORK >= K;
if SIDE = โRโ, LDWORK >= M.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The matrix C is
a composite matrix formed from blocks A and B.
The block B is of size M-by-N; if SIDE = โRโ, A
is of size M-by-K,
and if SIDE = โLโ, A is of size K-by-N.
If SIDE = โRโ and DIRECT = โFโ, C = [A B].
If SIDE =
โLโ and DIRECT = โFโ, C = [A]
[B].
If SIDE = โRโ and DIRECT = โBโ, C = [B A].
If SIDE =
โLโ and DIRECT = โBโ, C = [B]
[A].
The pentagonal
matrix V is composed of a rectangular block V1 and a
trapezoidal block V2. The size of the trapezoidal block is
determined by
the parameter L, where 0<=L<=K. If L=K, the V2 block
of V is triangular;
if L=0, there is no trapezoidal block, thus V = V1 is
rectangular.
If DIRECT =
โFโ and STOREV = โCโ: V = [V1]
[V2]
- V2 is upper trapezoidal (first L rows of K-by-K upper
triangular)
If DIRECT = โFโ and STOREV = โRโ: V = [V1 V2]
- V2 is lower trapezoidal (first L columns of K-by-K lower triangular)
If DIRECT =
โBโ and STOREV = โCโ: V = [V2]
[V1]
- V2 is lower trapezoidal (last L rows of K-by-K lower
triangular)
If DIRECT = โBโ and STOREV = โRโ: V = [V2 V1]
- V2 is upper trapezoidal (last L columns of K-by-K upper triangular)
If STOREV = โCโ and SIDE = โLโ, V is M-by-K with V2 L-by-K.
If STOREV = โCโ and SIDE = โRโ, V is N-by-K with V2 L-by-K.
If STOREV = โRโ and SIDE = โLโ, V is K-by-M with V2 K-by-L.
If STOREV = โRโ and SIDE = โRโ, V is K-by-N with V2 K-by-L.
Author
Generated automatically by Doxygen for LAPACK from the source code.