home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dtrexc.z / dtrexc
Encoding:
Text File  |  2002-10-03  |  4.8 KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDTTTTRRRREEEEXXXXCCCC((((3333SSSS))))                                                          DDDDTTTTRRRREEEEXXXXCCCC((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DTREXC - reorder the real Schur factorization of a real matrix A =
  10.      Q*T*Q**T, so that the diagonal block of T with row index IFST is moved to
  11.      row ILST
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE DTREXC( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, WORK, INFO )
  15.  
  16.          CHARACTER      COMPQ
  17.  
  18.          INTEGER        IFST, ILST, INFO, LDQ, LDT, N
  19.  
  20.          DOUBLE         PRECISION Q( LDQ, * ), T( LDT, * ), WORK( * )
  21.  
  22. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  23.      These routines are part of the SCSL Scientific Library and can be loaded
  24.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  25.      directs the linker to use the multi-processor version of the library.
  26.  
  27.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  28.      4 bytes (32 bits). Another version of SCSL is available in which integers
  29.      are 8 bytes (64 bits).  This version allows the user access to larger
  30.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  31.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  32.      only one of the two versions; 4-byte integer and 8-byte integer library
  33.      calls cannot be mixed.
  34.  
  35. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  36.      DTREXC reorders the real Schur factorization of a real matrix A =
  37.      Q*T*Q**T, so that the diagonal block of T with row index IFST is moved to
  38.      row ILST. The real Schur form T is reordered by an orthogonal similarity
  39.      transformation Z**T*T*Z, and optionally the matrix Q of Schur vectors is
  40.      updated by postmultiplying it with Z.
  41.  
  42.      T must be in Schur canonical form (as returned by DHSEQR), that is, block
  43.      upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2
  44.      diagonal block has its diagonal elements equal and its off-diagonal
  45.      elements of opposite sign.
  46.  
  47.  
  48. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  49.      COMPQ   (input) CHARACTER*1
  50.              = 'V':  update the matrix Q of Schur vectors;
  51.              = 'N':  do not update Q.
  52.  
  53.      N       (input) INTEGER
  54.              The order of the matrix T. N >= 0.
  55.  
  56.      T       (input/output) DOUBLE PRECISION array, dimension (LDT,N)
  57.              On entry, the upper quasi-triangular matrix T, in Schur Schur
  58.              canonical form.  On exit, the reordered upper quasi-triangular
  59.              matrix, again in Schur canonical form.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDTTTTRRRREEEEXXXXCCCC((((3333SSSS))))                                                          DDDDTTTTRRRREEEEXXXXCCCC((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      LDT     (input) INTEGER
  75.              The leading dimension of the array T. LDT >= max(1,N).
  76.  
  77.      Q       (input/output) DOUBLE PRECISION array, dimension (LDQ,N)
  78.              On entry, if COMPQ = 'V', the matrix Q of Schur vectors.  On
  79.              exit, if COMPQ = 'V', Q has been postmultiplied by the orthogonal
  80.              transformation matrix Z which reorders T.  If COMPQ = 'N', Q is
  81.              not referenced.
  82.  
  83.      LDQ     (input) INTEGER
  84.              The leading dimension of the array Q.  LDQ >= max(1,N).
  85.  
  86.      IFST    (input/output) INTEGER
  87.              ILST    (input/output) INTEGER Specify the reordering of the
  88.              diagonal blocks of T.  The block with row index IFST is moved to
  89.              row ILST, by a sequence of transpositions between adjacent
  90.              blocks.  On exit, if IFST pointed on entry to the second row of a
  91.              2-by-2 block, it is changed to point to the first row; ILST
  92.              always points to the first row of the block in its final position
  93.              (which may differ from its input value by +1 or -1).  1 <= IFST
  94.              <= N; 1 <= ILST <= N.
  95.  
  96.      WORK    (workspace) DOUBLE PRECISION array, dimension (N)
  97.  
  98.      INFO    (output) INTEGER
  99.              = 0:  successful exit
  100.              < 0:  if INFO = -i, the i-th argument had an illegal value
  101.              = 1:  two adjacent blocks were too close to swap (the problem is
  102.              very ill-conditioned); T may have been partially reordered, and
  103.              ILST points to the first row of the current position of the block
  104.              being moved.
  105.  
  106. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  107.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  108.  
  109.      This man page is available only online.
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.