pub fn random_hpd<A, S>(n: usize) -> ArrayBase<S, Ix2>
where
    A: Scalar,
    S: DataOwned<Elem = A> + DataMut,
{
    let a: Array2<A> = random((n, n));
    let ah: Array2<A> = conjugate(&a);
    ArrayBase::eye(n) + &ah.dot(&a)
}
/// Random Hermite Positive-definite matrix
///
/// - Eigenvalue of matrix must be larger than 1 (thus non-singular)
///
Random Hermite Positive-definite matrix
Eigenvalue of matrix must be larger than 1 (thus non-singular)
Random Hermite Positive - definite matrix Eigenvalue of matrix must be larger than 1 ( thus non - singular )
pub fn random_hpd<A, S>(n: usize) -> ArrayBase<S, Ix2>
where
    A: Scalar,
    S: DataOwned<Elem = A> + DataMut,
{
    let a: Array2<A> = random((n, n));
    let ah: Array2<A> = conjugate(&a);
    ArrayBase::eye(n) + &ah.dot(&a)
}
pub fn random_hpd < A , S > ( n : usize ) -> ArrayBase < S , Ix2 > where A : Scalar , S : DataOwned < Elem = A > + DataMut , { let a : Array2 < A > = random ( ( n , n ) ) ; let ah : Array2 < A > = conjugate ( & a ) ; ArrayBase :: eye ( n ) + & ah . dot ( & a ) }
Random Hermite Positive-definite matrix
 Eigenvalue of matrix must be larger than 1 (thus non-singular)
Random Hermite Positive - definite matrix Eigenvalue of matrix must be larger than 1 ( thus non - singular )
n
usize
n
usize