scipy.linalg.lapack.zhfrk#

scipy.linalg.lapack.zhfrk(n, k, alpha, a, beta, c, transr='N', uplo='U', trans='N', overwrite_c=0) = <flapack function zhfrk>#

Hermitian rank-k update of a matrix held in rectangular full packed (RFP) storage (LAPACK zhfrk).

Computes c := alpha * a @ a.conj().T + beta * c when trans is 'N', or c := alpha * a.conj().T @ a + beta * c when it is 'C'.

Parameters:
nint

Order of the square matrix.

kint

Inner dimension of the update.

alphafloat

Scalar the rank-k term is multiplied by. Real for every flavor.

andarray

Shape (max(n, 1), k) when trans is 'N', (max(k, 1), n) otherwise. The leading dimension follows n and k rather than a, so the row count must match exactly.

betafloat

Scalar c is scaled by before the update. Real for every flavor.

cndarray

The matrix to update, in RFP storage, length n * (n + 1) / 2.

transrstr, optional

'N' for the normal RFP layout, 'C' for the transposed one. Default is 'N'.

uplostr, optional

'U' if c holds the upper triangle, 'L' if lower. Default is 'U'.

transstr, optional

'N' for a @ a.conj().T, 'C' for the conjugate transpose product. Default is 'N'.

overwrite_cint, optional

If nonzero, c may be overwritten in place. Default is 0.

Returns:
coutndarray

The updated matrix in RFP storage, overwriting c.