|
◆ Zsyr2k()
Sub Zsyr2k |
( |
Uplo As |
String, |
|
|
Trans As |
String, |
|
|
N As |
Long, |
|
|
K As |
Long, |
|
|
Alpha As |
Complex, |
|
|
A() As |
Complex, |
|
|
B() As |
Complex, |
|
|
Beta As |
Complex, |
|
|
C() As |
Complex, |
|
|
Optional Info As |
Long |
|
) |
| |
Rank 2k operation: C <- αABT + αBAT + βC or C <- αATB + αBTA + βC (complex symmetric matrices) (BLAS 3)
- Purpose
- This routine performs one of the symmetric rank 2k operations
C <- αAB^T + αBA^T + βC or C <- αA^TB + αB^TA + βC
where α and β are scalars, C is an n x n symmetric matrix and A and B are n x k matrices in the first case and k x n matrices in the second case.
- Parameters
-
[in] | Uplo | Specifies whether the upper or lower triangular part of the array C() is to be referenced as follows:
= "U": Only the upper triangular part of C() is to be referenced.
= "L": Only the lower triangular part of C() is to be referenced. |
[in] | Trans | Specifies the operation to be performed as follows:
= "N": C <- αAB^T + αBA^T + βC.
= "T" or "C": C <- αA^TB + αB^TA + βC. |
[in] | N | Order of the matrix C. (N >= 0) (If N = 0, returns without computation) |
[in] | K | Number of columns of the matrix A when trans = "N", and number of rows of the matrix A when trans = "T". (K >= 0) |
[in] | Alpha | Scalar α. |
[in] | A() | Array A(LA1 - 1, LA2 - 1) (LA1 >= N, LA2 >= K (if Trans="N"), LA1 >= K, LA2 >= N (otherwise))
N x K matrix A when Trans = "N", or K x N matrix A otherwise. |
[in] | B() | Array B(LB1 - 1, LB2 - 1) (LB1 >= N, LB2 >= K (if Trans="N"), LB1 >= K, LB2 >= N (otherwise))
N x K matrix B when Trans = "N", or K x N matrix B otherwise. |
[in] | Beta | Scalar β. |
[in,out] | C() | Array C(LC1 - 1, LC2 - 1) (LC1 >= N, LC2 >= N)
[in] N x N symmetric matrix C. Only the upper or lower triangular part is to be referenced in accordance with Uplo.
[out] αAB^T + αBA^T + βC (if Trans = "N") or αA^TB + αB^TA + βC (otherwise). Only the upper or lower triangular part is overwritten in accordance with Uplo. |
[out] | Info | (Optional)
= 0: Successful exit.
= -1: The argument Uplo had an illegal value. (Uplo <> "U" nor "L")
= -2: The argument Trans had an illegal value. (Trans <> "N" nor "T")
= -3: The argument N had an illegal value. (N < 0)
= -4: The argument K had an illegal value. (K < 0)
= -6: The argument A() is invalid.
= -7: The argument B() is invalid.
= -9: The argument C() is invalid. |
- Reference
- BLAS
|