19{
20 FLA_Obj ATL, ATR, A00, a01, A02,
21 ABL, ABR, a10t, alpha11, a12t,
22 A20, a21, A22;
23 FLA_Obj TTL, TTR, T00, t01, T02,
24 TBL, TBR, t10t, tau11, t12t,
25 T20, t21, T22;
26 FLA_Obj STL, STR, S00, s01, S02,
27 SBL, SBR, s10t, sigma11, s12t,
28 S20, s21, S22;
30 wB, omega11,
31 w21;
33 apB, alpha11p,
34 a12p;
36 uB, upsilon11,
37 u21;
39 uBp, upsilon11p,
40 u21p;
42 vB, nu11,
43 v21;
45 yB, psi11,
46 y21;
48 zB, zeta11,
49 z21;
51
61
64 a12p_b;
67 v21_b;
68
72
73
75
79
96
98 &ABL, &ABR, 0, 0, FLA_TL );
100 &TBL, &TBR, 0, 0, FLA_TL );
102 &SBL, &SBR, 0, 0, FLA_TL );
104 &wB, 0, FLA_TOP );
106 &apB, 0, FLA_TOP );
108 &uB, 0, FLA_TOP );
110 &uBp, 0, FLA_TOP );
112 &vB, 0, FLA_TOP );
114 &yB, 0, FLA_TOP );
116 &zB, 0, FLA_TOP );
117
119 {
121
122 &a10t, &alpha11, &a12t,
123 ABL, ABR, &A20, &a21, &A22,
124 1, 1, FLA_BR );
126
127 &t10t, &tau11, &t12t,
128 TBL, TBR, &T20, &t21, &T22,
129 1, 1, FLA_BR );
131
132 &s10t, &sigma11, &s12t,
133 SBL, SBR, &S20, &s21, &S22,
134 1, 1, FLA_BR );
136
137 &omega11,
138 wB, &w21, 1, FLA_BOTTOM );
140
141 &alpha11p,
142 apB, &a12p, 1, FLA_BOTTOM );
144
145 &upsilon11,
146 uB, &u21, 1, FLA_BOTTOM );
148
149 &upsilon11p,
150 uBp, &u21p, 1, FLA_BOTTOM );
152
153 &nu11,
154 vB, &v21, 1, FLA_BOTTOM );
156
157 &psi11,
158 yB, &y21, 1, FLA_BOTTOM );
160
161 &zeta11,
162 zB, &z21, 1, FLA_BOTTOM );
163
164
165
167 {
168 FLA_Copy( upsilon11, minus_upsilon11 );
170
173
174 FLA_Copyt( FLA_CONJ_NO_TRANSPOSE, psi11, minus_conj_psi11 );
176
177 FLA_Copyt( FLA_CONJ_NO_TRANSPOSE, nu11, minus_conj_nu11 );
179
180
181 FLA_Axpyt( FLA_NO_TRANSPOSE, minus_conj_psi11, upsilon11, alpha11 );
182 FLA_Axpyt( FLA_NO_TRANSPOSE, minus_conj_nu11, zeta11, alpha11 );
183
184
185 FLA_Axpyt( FLA_NO_TRANSPOSE, minus_conj_psi11, u21, a21 );
186 FLA_Axpyt( FLA_NO_TRANSPOSE, minus_conj_nu11, z21, a21 );
187
188
189 FLA_Axpyt( FLA_CONJ_TRANSPOSE, minus_upsilon11, y21, a12t );
190 FLA_Axpyt( FLA_CONJ_TRANSPOSE, minus_zeta11, v21, a12t );
191 }
192
193
195 alpha11,
196 a21, tau11 );
198
200 {
201
204
205
206
208 FLA_Axpyt( FLA_TRANSPOSE, minus_inv_tau11, a12t, a12p );
209 }
210
212 {
213
216 }
217
219 {
220
222
223
224 FLA_Axpyt( FLA_CONJ_NO_TRANSPOSE, minus_inv_tau11, y21, a12p );
225
226
228
229
231
234 &v21_b, 1, FLA_TOP );
236 &a12p_b, 1, FLA_TOP );
237
238
240 a12p_t,
241 a12p_b,
242 alpha12, psi11_minus_alpha12, sigma11 );
243
244
249
250
251
252 FLA_Copyt( FLA_NO_TRANSPOSE, alpha12, a12t_l );
253 FLA_Copyt( FLA_TRANSPOSE, v21_b, a12t_r );
254 }
255
256
258
260 {
261
262 FLA_Dotc( FLA_CONJUGATE, y21, v21, beta );
265
267
268
269 FLA_Copyt( FLA_CONJ_NO_TRANSPOSE, alpha12, minus_conj_alpha12 );
271
272
274 FLA_Axpy( minus_conj_alpha12, A22_l, z21 );
277
278
279
282
283
285 }
286
287
288 FLA_Copyt( FLA_CONJ_TRANSPOSE, a10t, t01 );
290
291
292
295 {
296
299 }
300
301
302
304 a10t, alpha11, a12t,
305
306 &ABL, &ABR, A20, a21, A22,
307 FLA_TL );
309 t10t, tau11, t12t,
310
311 &TBL, &TBR, T20, t21, T22,
312 FLA_TL );
314 s10t, sigma11, s12t,
315
316 &SBL, &SBR, S20, s21, S22,
317 FLA_TL );
319 omega11,
320
321 &wB, w21, FLA_TOP );
323 alpha11p,
324
325 &apB, a12p, FLA_TOP );
327 upsilon11,
328
329 &uB, u21, FLA_TOP );
331 upsilon11p,
332
333 &uBp, u21p, FLA_TOP );
335 nu11,
336
337 &vB, v21, FLA_TOP );
339 psi11,
340
341 &yB, y21, FLA_TOP );
343 zeta11,
344
345 &zB, z21, FLA_TOP );
346 }
347
364
365 return FLA_SUCCESS;
366}
FLA_Error FLA_Copy(FLA_Obj A, FLA_Obj B)
Definition FLA_Copy.c:15
FLA_Error FLA_Scal(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Scal.c:15
FLA_Error FLA_Dotc(FLA_Conj conj, FLA_Obj x, FLA_Obj y, FLA_Obj rho)
Definition FLA_Dotc.c:13
FLA_Error FLA_Axpy(FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition FLA_Axpy.c:15
FLA_Error FLA_Axpyt(FLA_Trans trans, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition FLA_Axpyt.c:15
FLA_Error FLA_Copyt(FLA_Trans trans, FLA_Obj A, FLA_Obj B)
Definition FLA_Copyt.c:15
FLA_Error FLA_Inv_scalc(FLA_Conj conjalpha, FLA_Obj alpha, FLA_Obj A)
Definition FLA_Inv_scalc.c:13
FLA_Error FLA_Gerc(FLA_Conj conjx, FLA_Conj conjy, FLA_Obj alpha, FLA_Obj x, FLA_Obj y, FLA_Obj A)
Definition FLA_Gerc.c:13
FLA_Error FLA_Gemvc(FLA_Trans transa, FLA_Conj conjx, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y)
Definition FLA_Gemvc.c:13
FLA_Error FLA_Gemv(FLA_Trans transa, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y)
Definition FLA_Gemv.c:15
FLA_Obj FLA_MINUS_ONE
Definition FLA_Init.c:22
FLA_Obj FLA_ZERO
Definition FLA_Init.c:20
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
FLA_Error FLA_Cont_with_3x3_to_2x2(FLA_Obj *ATL, FLA_Obj *ATR, FLA_Obj A00, FLA_Obj A01, FLA_Obj A02, FLA_Obj A10, FLA_Obj A11, FLA_Obj A12, FLA_Obj *ABL, FLA_Obj *ABR, FLA_Obj A20, FLA_Obj A21, FLA_Obj A22, FLA_Quadrant quadrant)
Definition FLA_View.c:304
FLA_Error FLA_Part_2x2(FLA_Obj A, FLA_Obj *A11, FLA_Obj *A12, FLA_Obj *A21, FLA_Obj *A22, dim_t mb, dim_t nb, FLA_Quadrant quadrant)
Definition FLA_View.c:17
FLA_Error FLA_Cont_with_3x1_to_2x1(FLA_Obj *AT, FLA_Obj A0, FLA_Obj A1, FLA_Obj *AB, FLA_Obj A2, FLA_Side side)
Definition FLA_View.c:428
FLA_Error FLA_Repart_2x1_to_3x1(FLA_Obj AT, FLA_Obj *A0, FLA_Obj *A1, FLA_Obj AB, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:226
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
FLA_Error FLA_Obj_create(FLA_Datatype datatype, dim_t m, dim_t n, dim_t rs, dim_t cs, FLA_Obj *obj)
Definition FLA_Obj.c:55
FLA_Error FLA_Part_1x2(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t nb, FLA_Side side)
Definition FLA_View.c:110
FLA_Error FLA_Part_2x1(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:76
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
FLA_Error FLA_Repart_2x2_to_3x3(FLA_Obj ATL, FLA_Obj ATR, FLA_Obj *A00, FLA_Obj *A01, FLA_Obj *A02, FLA_Obj *A10, FLA_Obj *A11, FLA_Obj *A12, FLA_Obj ABL, FLA_Obj ABR, FLA_Obj *A20, FLA_Obj *A21, FLA_Obj *A22, dim_t mb, dim_t nb, FLA_Quadrant quadrant)
Definition FLA_View.c:142
FLA_Error FLA_Obj_free(FLA_Obj *obj)
Definition FLA_Obj.c:588
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
unsigned long dim_t
Definition FLA_type_defs.h:71
FLA_Error FLA_Mult_add(FLA_Obj alpha, FLA_Obj beta, FLA_Obj gamma)
Definition FLA_Mult_add.c:13
FLA_Error FLA_Conjugate(FLA_Obj A)
Definition FLA_Conjugate.c:13
FLA_Error FLA_Househ2s_UT(FLA_Side side, FLA_Obj chi_1, FLA_Obj x2, FLA_Obj alpha, FLA_Obj chi_1_minus_alpha, FLA_Obj tau)
Definition FLA_Househ2s_UT.c:16
FLA_Error FLA_Househ2_UT(FLA_Side side, FLA_Obj chi_1, FLA_Obj x2, FLA_Obj tau)
Definition FLA_Househ2_UT.c:16
Definition FLA_type_defs.h:159