Computes the solution to the system of linear equations for Hermitian matrices using the bounded Bunch-Kaufman diagonal pivoting method.
The routine solves for
Xthe complex system of linear equations
nHermitian matrix, and
The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor
L) is a product of permutation and unit upper (lower) triangular matrices, and
Dis Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
hetrf_rook is called to compute the factorization of a complex Hermition matrix
Ausing the bounded Bunch-Kaufman ("rook") diagonal pivoting method.
The factored form of
Ais then used to solve the system of equations
Bby calling ?HETRS_ROOK, which uses BLAS level 2 routines.
- Must beCHARACTER*1.'U'or'L'.Indicates whether the upper or lower triangular part ofAis stored:If, the arrayuplo='U'astores the upper triangular part of the matrixA.If, the arrayuplo='L'astores the lower triangular part of the matrixA.
- The number of linear equations, which is the order of matrixINTEGER.A;n≥0.
- The number of right-hand sides, the number of columns inINTEGER..B;nrhs≥0
- COMPLEXforchesv_rookCOMPLEX*16forzhesv_rook.Arrays:a(size,ldaby *)b(sizeldbby *),.work(*)The arrayacontains the Hermitian matrixA. Ifuplo='U', the leadingn-by-nupper triangular part ofacontains the upper triangular part of the matrixA, and the strictly lower triangular part ofais not referenced. Ifuplo= 'L', the leadingn-by-nlower triangular part ofacontains the lower triangular part of the matrixA, and the strictly upper triangular part ofais not referenced.The second dimension ofamust be at least max(1,n).The arraybcontains then-by-nrhsright hand side matrixB.The second dimension ofbmust be at leastmax(1,.nrhs)workis a workspace array, dimension at leastmax(1,.lwork)