pub struct Matrix<const k: usize, const l: usize>(/* private fields */);Expand description
A matrix over the ML-DSA ring.
Implementations§
Source§impl<const k: usize, const l: usize> Matrix<k, l>
impl<const k: usize, const l: usize> Matrix<k, l>
Sourcepub fn matrix_vector_ntt(&self, v: &Vector<l>) -> Vector<k>
pub fn matrix_vector_ntt(&self, v: &Vector<l>) -> Vector<k>
Algorithm 48 MatrixVectorNTT(𝐌, 𝐯) Computes the product 𝐌 ∘̂ 𝐯_hat of a matrix 𝐌_hat and a vector 𝐯_hat over 𝑇𝑞. Input: 𝑘, ℓ ∈ ℕ, 𝐌 ∈ 𝑇𝑞 𝑘×ℓ ̂ 𝑞 . Performs dot product multiplication of this matrix by a vector Input: vector of length l Output: vector of length k
Trait Implementations§
Auto Trait Implementations§
impl<const k: usize, const l: usize> Freeze for Matrix<k, l>
impl<const k: usize, const l: usize> RefUnwindSafe for Matrix<k, l>
impl<const k: usize, const l: usize> Send for Matrix<k, l>
impl<const k: usize, const l: usize> Sync for Matrix<k, l>
impl<const k: usize, const l: usize> Unpin for Matrix<k, l>
impl<const k: usize, const l: usize> UnsafeUnpin for Matrix<k, l>
impl<const k: usize, const l: usize> UnwindSafe for Matrix<k, l>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more