Trait Herm

Source
pub trait Herm: Matrix
where Self::Output: Matrix,
{ type Output; // Required method fn herm(&self) -> Self::Output; }

Required Associated Types§

Required Methods§

Source

fn herm(&self) -> Self::Output

Returns the Hermitian complex-conjugate transposed matrix

Aᴴ = (A*)ᵀ

§Examples
let a = [
    [Complex::new(1.0, 1.0), Complex::new(2.0, -1.0)],
    [Complex::new(3.0, 1.0), Complex::new(4.0, -1.0)]
];
let ah = [
    [a[0][0].conj(), a[1][0].conj()],
    [a[0][1].conj(), a[1][1].conj()]
];
assert_eq!(a.herm(), ah);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<F: Float, const L: usize, const H: usize> Herm for [[Complex<F>; L]; H]
where Self: Matrix, [[Complex<F>; H]; L]: Matrix,

Source§

type Output = [[Complex<F>; H]; L]

Source§

fn herm(&self) -> Self::Output

Implementors§