/// Fills in the remainder of a Hermitian matrix that's represented by only one
/// triangle.
///
/// LAPACK methods on Hermitian matrices usually read/write only one triangular
/// portion of the matrix. This function fills in the other half based on the
/// data in the triangular portion corresponding to `uplo`.
///
/// ***Panics*** if `a` is not square.
Fills in the remainder of a Hermitian matrix that's represented by only one
triangle.

LAPACK methods on Hermitian matrices usually read/write only one triangular
portion of the matrix. This function fills in the other half based on the
data in the triangular portion corresponding to `uplo`.

Panics*** if `a` is not square.
Fills in the remainder of a Hermitian matrix that ' s represented by only one triangle . LAPACK methods on Hermitian matrices usually read / write only one triangular portion of the matrix . This function fills in the other half based on the data in the triangular portion corresponding to ` uplo ` . Panics *** if ` a ` is not square .
pub(crate) fn triangular_fill_hermitian<A, S>(a: &mut ArrayBase<S, Ix2>, uplo: UPLO)
where
    A: Scalar + Lapack,
    S: DataMut<Elem = A>,
{
    assert!(a.is_square());
    match uplo {
        UPLO::Upper => {
            for row in 0..a.nrows() {
                for col in 0..row {
                    a[(row, col)] = a[(col, row)].conj();
                }
            }
        }
        UPLO::Lower => {
            for col in 0..a.ncols() {
                for row in 0..col {
                    a[(row, col)] = a[(col, row)].conj();
                }
            }
        }
    }
}
pub ( crate ) fn triangular_fill_hermitian < A , S > ( a : & mut ArrayBase < S , Ix2 > , uplo : UPLO ) where A : Scalar + Lapack , S : DataMut < Elem = A > , { assert ! ( a is_square ( ) ) ; match uplo { UPLO :: Upper => { for row in 0 .. a . nrows ( ) { for col in 0 .. row { a [ ( row , col ) ] = a [ ( col , row ) ] . conj ( ) ; } } } UPLO :: Lower => { for col in 0 .. a . ncols ( ) { for row in 0 .. col { a [ ( row , col ) ] = a [ ( col , row ) ] . conj ( ) ; } } } } }
Fills in the remainder of a Hermitian matrix that's represented by only one
triangle.
Fills in the remainder of a Hermitian matrix that ' s represented by only one triangle .
a
&mut ArrayBase<S, Ix2>
uplo
UPLO