Man page - latrd(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
latrd
NAMESYNOPSIS
Functions
Detailed Description
Function Documentation
subroutine clatrd (character uplo, integer n, integer nb, complex,dimension( lda, * ) a, integer lda, real, dimension( * ) e, complex,dimension( * ) tau, complex, dimension( ldw, * ) w, integer ldw)
subroutine dlatrd (character uplo, integer n, integer nb, double precision,dimension( lda, * ) a, integer lda, double precision, dimension( * ) e,double precision, dimension( * ) tau, double precision, dimension( ldw,* ) w, integer ldw)
subroutine slatrd (character uplo, integer n, integer nb, real, dimension(lda, * ) a, integer lda, real, dimension( * ) e, real, dimension( * )tau, real, dimension( ldw, * ) w, integer ldw)
subroutine zlatrd (character uplo, integer n, integer nb, complex*16,dimension( lda, * ) a, integer lda, double precision, dimension( * ) e,complex*16, dimension( * ) tau, complex*16, dimension( ldw, * ) w,integer ldw)
Author
NAME
latrd - latrd: step in hetrd
SYNOPSIS
Functions
subroutine
clatrd
(uplo, n, nb, a, lda, e, tau, w, ldw)
CLATRD
reduces the first nb rows and columns of a
symmetric/Hermitian matrix A to real tridiagonal form by an
unitary similarity transformation.
subroutine
dlatrd
(uplo, n, nb, a, lda, e, tau, w,
ldw)
DLATRD
reduces the first nb rows and columns of a
symmetric/Hermitian matrix A to real tridiagonal form by an
orthogonal similarity transformation.
subroutine
slatrd
(uplo, n, nb, a, lda, e, tau, w,
ldw)
SLATRD
reduces the first nb rows and columns of a
symmetric/Hermitian matrix A to real tridiagonal form by an
orthogonal similarity transformation.
subroutine
zlatrd
(uplo, n, nb, a, lda, e, tau, w,
ldw)
ZLATRD
reduces the first nb rows and columns of a
symmetric/Hermitian matrix A to real tridiagonal form by an
unitary similarity transformation.
Detailed Description
Function Documentation
subroutine clatrd (character uplo, integer n, integer nb, complex,dimension( lda, * ) a, integer lda, real, dimension( * ) e, complex,dimension( * ) tau, complex, dimension( ldw, * ) w, integer ldw)
CLATRD reduces the first nb rows and columns of a symmetric/Hermitian matrix A to real tridiagonal form by an unitary similarity transformation.
Purpose:
CLATRD reduces
NB rows and columns of a complex Hermitian matrix A to
Hermitian tridiagonal form by a unitary similarity
transformation Q**H * A * Q, and returns the matrices V and
W which are
needed to apply the transformation to the unreduced part of
A.
If UPLO =
āUā, CLATRD reduces the last NB rows and columns
of a
matrix, of which the upper triangle is supplied;
if UPLO = āLā, CLATRD reduces the first NB rows
and columns of a
matrix, of which the lower triangle is supplied.
This is an auxiliary routine called by CHETRD.
Parameters
UPLO
UPLO is
CHARACTER*1
Specifies whether the upper or lower triangular part of the
Hermitian matrix A is stored:
= āUā: Upper triangular
= āLā: Lower triangular
N
N is INTEGER
The order of the matrix A.
NB
NB is INTEGER
The number of rows and columns to be reduced.
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:
if UPLO = āUā, the last NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements above the diagonal
with the array TAU, represent the unitary matrix Q as a
product of elementary reflectors;
if UPLO = āLā, the first NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements below the diagonal
with the array TAU, represent the unitary matrix Q as a
product of elementary reflectors.
See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
E
E is REAL
array, dimension (N-1)
If UPLO = āUā, E(n-nb:n-1) contains the
superdiagonal
elements of the last NB columns of the reduced matrix;
if UPLO = āLā, E(1:nb) contains the subdiagonal
elements of
the first NB columns of the reduced matrix.
TAU
TAU is COMPLEX
array, dimension (N-1)
The scalar factors of the elementary reflectors, stored in
TAU(n-nb:n-1) if UPLO = āUā, and in TAU(1:nb) if
UPLO = āLā.
See Further Details.
W
W is COMPLEX
array, dimension (LDW,NB)
The n-by-nb matrix W required to update the unreduced part
of A.
LDW
LDW is INTEGER
The leading dimension of the array W. LDW >=
max(1,N).
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
If UPLO =
āUā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(n) H(n-1) . . . H(n-nb+1).
Each H(i) has the form
H(i) = I - tau * v * v**H
where tau is a
complex scalar, and v is a complex vector with
v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in
A(1:i-1,i),
and tau in TAU(i-1).
If UPLO =
āLā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(1) H(2) . . . H(nb).
Each H(i) has the form
H(i) = I - tau * v * v**H
where tau is a
complex scalar, and v is a complex vector with
v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in
A(i+1:n,i),
and tau in TAU(i).
The elements of
the vectors v together form the n-by-nb matrix V
which is needed, with W, to apply the transformation to the
unreduced
part of the matrix, using a Hermitian rank-2k update of the
form:
A := A - V*W**H - W*V**H.
The contents of
A on exit are illustrated by the following examples
with n = 5 and nb = 2:
if UPLO = āUā: if UPLO = āLā:
( a a a v4 v5 )
( d )
( a a v4 v5 ) ( 1 d )
( a 1 v5 ) ( v1 1 a )
( d 1 ) ( v1 v2 a a )
( d ) ( v1 v2 a a a )
where d denotes
a diagonal element of the reduced matrix, a denotes
an element of the original matrix that is unchanged, and vi
denotes
an element of the vector defining H(i).
subroutine dlatrd (character uplo, integer n, integer nb, double precision,dimension( lda, * ) a, integer lda, double precision, dimension( * ) e,double precision, dimension( * ) tau, double precision, dimension( ldw,* ) w, integer ldw)
DLATRD reduces the first nb rows and columns of a symmetric/Hermitian matrix A to real tridiagonal form by an orthogonal similarity transformation.
Purpose:
DLATRD reduces
NB rows and columns of a real symmetric matrix A to
symmetric tridiagonal form by an orthogonal similarity
transformation Q**T * A * Q, and returns the matrices V and
W which are
needed to apply the transformation to the unreduced part of
A.
If UPLO =
āUā, DLATRD reduces the last NB rows and columns
of a
matrix, of which the upper triangle is supplied;
if UPLO = āLā, DLATRD reduces the first NB rows
and columns of a
matrix, of which the lower triangle is supplied.
This is an auxiliary routine called by DSYTRD.
Parameters
UPLO
UPLO is
CHARACTER*1
Specifies whether the upper or lower triangular part of the
symmetric matrix A is stored:
= āUā: Upper triangular
= āLā: Lower triangular
N
N is INTEGER
The order of the matrix A.
NB
NB is INTEGER
The number of rows and columns to be reduced.
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:
if UPLO = āUā, the last NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements above the diagonal
with the array TAU, represent the orthogonal matrix Q as a
product of elementary reflectors;
if UPLO = āLā, the first NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements below the diagonal
with the array TAU, represent the orthogonal matrix Q as a
product of elementary reflectors.
See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= (1,N).
E
E is DOUBLE
PRECISION array, dimension (N-1)
If UPLO = āUā, E(n-nb:n-1) contains the
superdiagonal
elements of the last NB columns of the reduced matrix;
if UPLO = āLā, E(1:nb) contains the subdiagonal
elements of
the first NB columns of the reduced matrix.
TAU
TAU is DOUBLE
PRECISION array, dimension (N-1)
The scalar factors of the elementary reflectors, stored in
TAU(n-nb:n-1) if UPLO = āUā, and in TAU(1:nb) if
UPLO = āLā.
See Further Details.
W
W is DOUBLE
PRECISION array, dimension (LDW,NB)
The n-by-nb matrix W required to update the unreduced part
of A.
LDW
LDW is INTEGER
The leading dimension of the array W. LDW >=
max(1,N).
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
If UPLO =
āUā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(n) H(n-1) . . . H(n-nb+1).
Each H(i) has the form
H(i) = I - tau * v * v**T
where tau is a
real scalar, and v is a real vector with
v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in
A(1:i-1,i),
and tau in TAU(i-1).
If UPLO =
āLā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(1) H(2) . . . H(nb).
Each H(i) has the form
H(i) = I - tau * v * v**T
where tau is a
real scalar, and v is a real vector with
v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in
A(i+1:n,i),
and tau in TAU(i).
The elements of
the vectors v together form the n-by-nb matrix V
which is needed, with W, to apply the transformation to the
unreduced
part of the matrix, using a symmetric rank-2k update of the
form:
A := A - V*W**T - W*V**T.
The contents of
A on exit are illustrated by the following examples
with n = 5 and nb = 2:
if UPLO = āUā: if UPLO = āLā:
( a a a v4 v5 )
( d )
( a a v4 v5 ) ( 1 d )
( a 1 v5 ) ( v1 1 a )
( d 1 ) ( v1 v2 a a )
( d ) ( v1 v2 a a a )
where d denotes
a diagonal element of the reduced matrix, a denotes
an element of the original matrix that is unchanged, and vi
denotes
an element of the vector defining H(i).
subroutine slatrd (character uplo, integer n, integer nb, real, dimension(lda, * ) a, integer lda, real, dimension( * ) e, real, dimension( * )tau, real, dimension( ldw, * ) w, integer ldw)
SLATRD reduces the first nb rows and columns of a symmetric/Hermitian matrix A to real tridiagonal form by an orthogonal similarity transformation.
Purpose:
SLATRD reduces
NB rows and columns of a real symmetric matrix A to
symmetric tridiagonal form by an orthogonal similarity
transformation Q**T * A * Q, and returns the matrices V and
W which are
needed to apply the transformation to the unreduced part of
A.
If UPLO =
āUā, SLATRD reduces the last NB rows and columns
of a
matrix, of which the upper triangle is supplied;
if UPLO = āLā, SLATRD reduces the first NB rows
and columns of a
matrix, of which the lower triangle is supplied.
This is an auxiliary routine called by SSYTRD.
Parameters
UPLO
UPLO is
CHARACTER*1
Specifies whether the upper or lower triangular part of the
symmetric matrix A is stored:
= āUā: Upper triangular
= āLā: Lower triangular
N
N is INTEGER
The order of the matrix A.
NB
NB is INTEGER
The number of rows and columns to be reduced.
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:
if UPLO = āUā, the last NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements above the diagonal
with the array TAU, represent the orthogonal matrix Q as a
product of elementary reflectors;
if UPLO = āLā, the first NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements below the diagonal
with the array TAU, represent the orthogonal matrix Q as a
product of elementary reflectors.
See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= (1,N).
E
E is REAL
array, dimension (N-1)
If UPLO = āUā, E(n-nb:n-1) contains the
superdiagonal
elements of the last NB columns of the reduced matrix;
if UPLO = āLā, E(1:nb) contains the subdiagonal
elements of
the first NB columns of the reduced matrix.
TAU
TAU is REAL
array, dimension (N-1)
The scalar factors of the elementary reflectors, stored in
TAU(n-nb:n-1) if UPLO = āUā, and in TAU(1:nb) if
UPLO = āLā.
See Further Details.
W
W is REAL
array, dimension (LDW,NB)
The n-by-nb matrix W required to update the unreduced part
of A.
LDW
LDW is INTEGER
The leading dimension of the array W. LDW >=
max(1,N).
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
If UPLO =
āUā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(n) H(n-1) . . . H(n-nb+1).
Each H(i) has the form
H(i) = I - tau * v * v**T
where tau is a
real scalar, and v is a real vector with
v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in
A(1:i-1,i),
and tau in TAU(i-1).
If UPLO =
āLā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(1) H(2) . . . H(nb).
Each H(i) has the form
H(i) = I - tau * v * v**T
where tau is a
real scalar, and v is a real vector with
v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in
A(i+1:n,i),
and tau in TAU(i).
The elements of
the vectors v together form the n-by-nb matrix V
which is needed, with W, to apply the transformation to the
unreduced
part of the matrix, using a symmetric rank-2k update of the
form:
A := A - V*W**T - W*V**T.
The contents of
A on exit are illustrated by the following examples
with n = 5 and nb = 2:
if UPLO = āUā: if UPLO = āLā:
( a a a v4 v5 )
( d )
( a a v4 v5 ) ( 1 d )
( a 1 v5 ) ( v1 1 a )
( d 1 ) ( v1 v2 a a )
( d ) ( v1 v2 a a a )
where d denotes
a diagonal element of the reduced matrix, a denotes
an element of the original matrix that is unchanged, and vi
denotes
an element of the vector defining H(i).
subroutine zlatrd (character uplo, integer n, integer nb, complex*16,dimension( lda, * ) a, integer lda, double precision, dimension( * ) e,complex*16, dimension( * ) tau, complex*16, dimension( ldw, * ) w,integer ldw)
ZLATRD reduces the first nb rows and columns of a symmetric/Hermitian matrix A to real tridiagonal form by an unitary similarity transformation.
Purpose:
ZLATRD reduces
NB rows and columns of a complex Hermitian matrix A to
Hermitian tridiagonal form by a unitary similarity
transformation Q**H * A * Q, and returns the matrices V and
W which are
needed to apply the transformation to the unreduced part of
A.
If UPLO =
āUā, ZLATRD reduces the last NB rows and columns
of a
matrix, of which the upper triangle is supplied;
if UPLO = āLā, ZLATRD reduces the first NB rows
and columns of a
matrix, of which the lower triangle is supplied.
This is an auxiliary routine called by ZHETRD.
Parameters
UPLO
UPLO is
CHARACTER*1
Specifies whether the upper or lower triangular part of the
Hermitian matrix A is stored:
= āUā: Upper triangular
= āLā: Lower triangular
N
N is INTEGER
The order of the matrix A.
NB
NB is INTEGER
The number of rows and columns to be reduced.
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:
if UPLO = āUā, the last NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements above the diagonal
with the array TAU, represent the unitary matrix Q as a
product of elementary reflectors;
if UPLO = āLā, the first NB columns have been
reduced to
tridiagonal form, with the diagonal elements overwriting
the diagonal elements of A; the elements below the diagonal
with the array TAU, represent the unitary matrix Q as a
product of elementary reflectors.
See Further Details.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,N).
E
E is DOUBLE
PRECISION array, dimension (N-1)
If UPLO = āUā, E(n-nb:n-1) contains the
superdiagonal
elements of the last NB columns of the reduced matrix;
if UPLO = āLā, E(1:nb) contains the subdiagonal
elements of
the first NB columns of the reduced matrix.
TAU
TAU is
COMPLEX*16 array, dimension (N-1)
The scalar factors of the elementary reflectors, stored in
TAU(n-nb:n-1) if UPLO = āUā, and in TAU(1:nb) if
UPLO = āLā.
See Further Details.
W
W is COMPLEX*16
array, dimension (LDW,NB)
The n-by-nb matrix W required to update the unreduced part
of A.
LDW
LDW is INTEGER
The leading dimension of the array W. LDW >=
max(1,N).
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
If UPLO =
āUā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(n) H(n-1) . . . H(n-nb+1).
Each H(i) has the form
H(i) = I - tau * v * v**H
where tau is a
complex scalar, and v is a complex vector with
v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in
A(1:i-1,i),
and tau in TAU(i-1).
If UPLO =
āLā, the matrix Q is represented as a product of
elementary
reflectors
Q = H(1) H(2) . . . H(nb).
Each H(i) has the form
H(i) = I - tau * v * v**H
where tau is a
complex scalar, and v is a complex vector with
v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in
A(i+1:n,i),
and tau in TAU(i).
The elements of
the vectors v together form the n-by-nb matrix V
which is needed, with W, to apply the transformation to the
unreduced
part of the matrix, using a Hermitian rank-2k update of the
form:
A := A - V*W**H - W*V**H.
The contents of
A on exit are illustrated by the following examples
with n = 5 and nb = 2:
if UPLO = āUā: if UPLO = āLā:
( a a a v4 v5 )
( d )
( a a v4 v5 ) ( 1 d )
( a 1 v5 ) ( v1 1 a )
( d 1 ) ( v1 v2 a a )
( d ) ( v1 v2 a a a )
where d denotes
a diagonal element of the reduced matrix, a denotes
an element of the original matrix that is unchanged, and vi
denotes
an element of the vector defining H(i).
Author
Generated automatically by Doxygen for LAPACK from the source code.