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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
---
:name: clatzm
:md5sum: 31aadd9c9169ced60aa53e18dda4843a
:category: :subroutine
:arguments:
- side:
:type: char
:intent: input
- m:
:type: integer
:intent: input
- n:
:type: integer
:intent: input
- v:
:type: complex
:intent: input
:dims:
- 1 + (m-1)*abs(incv)
- incv:
:type: integer
:intent: input
- tau:
:type: complex
:intent: input
- c1:
:type: complex
:intent: input/output
:dims:
- "lsame_(&side,\"L\") ? ldc : lsame_(&side,\"R\") ? m : 0"
- "lsame_(&side,\"L\") ? n : lsame_(&side,\"R\") ? 1 : 0"
- c2:
:type: complex
:intent: input/output
:dims:
- ldc
- "lsame_(&side,\"L\") ? n : lsame_(&side,\"R\") ? n-1 : 0"
- ldc:
:type: integer
:intent: input
- work:
:type: complex
:intent: workspace
:dims:
- "lsame_(&side,\"L\") ? n : lsame_(&side,\"R\") ? m : 0"
:substitutions: {}
:fortran_help: " SUBROUTINE CLATZM( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )\n\n\
* Purpose\n\
* =======\n\
*\n\
* This routine is deprecated and has been replaced by routine CUNMRZ.\n\
*\n\
* CLATZM applies a Householder matrix generated by CTZRQF to a matrix.\n\
*\n\
* Let P = I - tau*u*u', u = ( 1 ),\n\
* ( v )\n\
* where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if\n\
* SIDE = 'R'.\n\
*\n\
* If SIDE equals 'L', let\n\
* C = [ C1 ] 1\n\
* [ C2 ] m-1\n\
* n\n\
* Then C is overwritten by P*C.\n\
*\n\
* If SIDE equals 'R', let\n\
* C = [ C1, C2 ] m\n\
* 1 n-1\n\
* Then C is overwritten by C*P.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* SIDE (input) CHARACTER*1\n\
* = 'L': form P * C\n\
* = 'R': form C * P\n\
*\n\
* M (input) INTEGER\n\
* The number of rows of the matrix C.\n\
*\n\
* N (input) INTEGER\n\
* The number of columns of the matrix C.\n\
*\n\
* V (input) COMPLEX array, dimension\n\
* (1 + (M-1)*abs(INCV)) if SIDE = 'L'\n\
* (1 + (N-1)*abs(INCV)) if SIDE = 'R'\n\
* The vector v in the representation of P. V is not used\n\
* if TAU = 0.\n\
*\n\
* INCV (input) INTEGER\n\
* The increment between elements of v. INCV <> 0\n\
*\n\
* TAU (input) COMPLEX\n\
* The value tau in the representation of P.\n\
*\n\
* C1 (input/output) COMPLEX array, dimension\n\
* (LDC,N) if SIDE = 'L'\n\
* (M,1) if SIDE = 'R'\n\
* On entry, the n-vector C1 if SIDE = 'L', or the m-vector C1\n\
* if SIDE = 'R'.\n\
*\n\
* On exit, the first row of P*C if SIDE = 'L', or the first\n\
* column of C*P if SIDE = 'R'.\n\
*\n\
* C2 (input/output) COMPLEX array, dimension\n\
* (LDC, N) if SIDE = 'L'\n\
* (LDC, N-1) if SIDE = 'R'\n\
* On entry, the (m - 1) x n matrix C2 if SIDE = 'L', or the\n\
* m x (n - 1) matrix C2 if SIDE = 'R'.\n\
*\n\
* On exit, rows 2:m of P*C if SIDE = 'L', or columns 2:m of C*P\n\
* if SIDE = 'R'.\n\
*\n\
* LDC (input) INTEGER\n\
* The leading dimension of the arrays C1 and C2.\n\
* LDC >= max(1,M).\n\
*\n\
* WORK (workspace) COMPLEX array, dimension\n\
* (N) if SIDE = 'L'\n\
* (M) if SIDE = 'R'\n\
*\n\n\
* =====================================================================\n\
*\n"
|