NAME slaqtr - solve the real quasi-triangular system op(T)*p = scale*c, if LREAL = .TRUE SYNOPSIS SUBROUTINE SLAQTR( LTRAN, LREAL, N, T, LDT, B, W, SCALE, X, WORK, INFO ) LOGICAL LREAL, LTRAN INTEGER INFO, LDT, N REAL SCALE, W REAL B( * ), T( LDT, * ), WORK( * ), X( * ) #include <sunperf.h> void slaqtr(int ltran, int lfloat, int n, float *t, int ldt, float *sb, float w, float *sscale, float *sx, int *info) ; PURPOSE SLAQTR solves the real quasi-triangular system or the complex quasi-triangular systems op(T + iB)*(p+iq) = scale*(c+id), if LREAL = .FALSE. in real arithmetic, where T is upper quasi-triangular. If LREAL = .FALSE., then the first diagonal block of T must be 1 by 1, B is the specially structured matrix B = [ b(1) b(2) ... b(n) ] [ w ] [ w ] [ . ] [ w ] op(A) = A or A', A' denotes the conjugate transpose of matrix A. On input, X = [ c ]. On output, X = [ p ]. [ d ] [ q ] This subroutine is designed for the condition number estima- tion in routine STRSNA. ARGUMENTS LTRAN (input) LOGICAL On entry, LTRAN specifies the option of conjugate transpose: = .FALSE., op(T+i*B) = T+i*B, = .TRUE., op(T+i*B) = (T+i*B)'. LREAL (input) LOGICAL On entry, LREAL specifies the input matrix struc- ture: = .FALSE., the input is complex = .TRUE., the input is real N (input) INTEGER On entry, N specifies the order of T+i*B. N >= 0. T (input) REAL array, dimension (LDT,N) On entry, T contains a matrix in Schur canonical form. If LREAL = .FALSE., then the first diagonal block of T must be 1 by 1. LDT (input) INTEGER The leading dimension of the matrix T. LDT >= max(1,N). B (input) REAL array, dimension (N) On entry, B contains the elements to form the matrix B as described above. If LREAL = .TRUE., B is not referenced. W (input) REAL On entry, W is the diagonal element of the matrix B. If LREAL = .TRUE., W is not referenced. SCALE (output) REAL On exit, SCALE is the scale factor. X (input/output) REAL array, dimension (2*N) On entry, X contains the right hand side of the system. On exit, X is overwritten by the solu- tion. WORK (workspace) REAL array, dimension (N) INFO (output) INTEGER On exit, INFO is set to 0: successful exit. 1: the some diagonal 1 by 1 block has been per- turbed by a small number SMIN to keep nonsingular- ity. 2: the some diagonal 2 by 2 block has been perturbed by a small number in SLALN2 to keep non- singularity. NOTE: In the interests of speed, this routine does not check the inputs for errors.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |