1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
---
:name: dlags2
:md5sum: 2770fd9e10b95116026d93397ade969b
:category: :subroutine
:arguments:
- upper:
:type: logical
:intent: input
- a1:
:type: doublereal
:intent: input
- a2:
:type: doublereal
:intent: input
- a3:
:type: doublereal
:intent: input
- b1:
:type: doublereal
:intent: input
- b2:
:type: doublereal
:intent: input
- b3:
:type: doublereal
:intent: input
- csu:
:type: doublereal
:intent: output
- snu:
:type: doublereal
:intent: output
- csv:
:type: doublereal
:intent: output
- snv:
:type: doublereal
:intent: output
- csq:
:type: doublereal
:intent: output
- snq:
:type: doublereal
:intent: output
:substitutions: {}
:fortran_help: " SUBROUTINE DLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, CSV, SNV, CSQ, SNQ )\n\n\
* Purpose\n\
* =======\n\
*\n\
* DLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such\n\
* that if ( UPPER ) then\n\
*\n\
* U'*A*Q = U'*( A1 A2 )*Q = ( x 0 )\n\
* ( 0 A3 ) ( x x )\n\
* and\n\
* V'*B*Q = V'*( B1 B2 )*Q = ( x 0 )\n\
* ( 0 B3 ) ( x x )\n\
*\n\
* or if ( .NOT.UPPER ) then\n\
*\n\
* U'*A*Q = U'*( A1 0 )*Q = ( x x )\n\
* ( A2 A3 ) ( 0 x )\n\
* and\n\
* V'*B*Q = V'*( B1 0 )*Q = ( x x )\n\
* ( B2 B3 ) ( 0 x )\n\
*\n\
* The rows of the transformed A and B are parallel, where\n\
*\n\
* U = ( CSU SNU ), V = ( CSV SNV ), Q = ( CSQ SNQ )\n\
* ( -SNU CSU ) ( -SNV CSV ) ( -SNQ CSQ )\n\
*\n\
* Z' denotes the transpose of Z.\n\
*\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* UPPER (input) LOGICAL\n\
* = .TRUE.: the input matrices A and B are upper triangular.\n\
* = .FALSE.: the input matrices A and B are lower triangular.\n\
*\n\
* A1 (input) DOUBLE PRECISION\n\
* A2 (input) DOUBLE PRECISION\n\
* A3 (input) DOUBLE PRECISION\n\
* On entry, A1, A2 and A3 are elements of the input 2-by-2\n\
* upper (lower) triangular matrix A.\n\
*\n\
* B1 (input) DOUBLE PRECISION\n\
* B2 (input) DOUBLE PRECISION\n\
* B3 (input) DOUBLE PRECISION\n\
* On entry, B1, B2 and B3 are elements of the input 2-by-2\n\
* upper (lower) triangular matrix B.\n\
*\n\
* CSU (output) DOUBLE PRECISION\n\
* SNU (output) DOUBLE PRECISION\n\
* The desired orthogonal matrix U.\n\
*\n\
* CSV (output) DOUBLE PRECISION\n\
* SNV (output) DOUBLE PRECISION\n\
* The desired orthogonal matrix V.\n\
*\n\
* CSQ (output) DOUBLE PRECISION\n\
* SNQ (output) DOUBLE PRECISION\n\
* The desired orthogonal matrix Q.\n\
*\n\n\
* =====================================================================\n\
*\n"
|