pub struct SquareMatrix<Modulo: FF>{ /* private fields */ }
Expand description
正方行列
Implementations§
Source§impl<Modulo: FF> SquareMatrix<Modulo>
impl<Modulo: FF> SquareMatrix<Modulo>
Sourcepub fn from_vec_vec_u32(other: Vec<Vec<u32>>, modulo: Modulo) -> Self
pub fn from_vec_vec_u32(other: Vec<Vec<u32>>, modulo: Modulo) -> Self
Sourcepub fn get_mut(&mut self, i: usize, j: usize) -> Option<&mut Modulo::Element>
pub fn get_mut(&mut self, i: usize, j: usize) -> Option<&mut Modulo::Element>
i
行j
列の要素への可変参照を返す。
Sourcepub fn straight_mul(self, b: Self) -> Self
pub fn straight_mul(self, b: Self) -> Self
愚直に行列積を求める。
Time complexity $O(n^3)$
Sourcepub fn strassen_mul(self, b: Self) -> Self
pub fn strassen_mul(self, b: Self) -> Self
Strassenのアルゴリズムによる行列乗算
Trait Implementations§
Source§impl<Modulo: FF> Add for SquareMatrix<Modulo>
impl<Modulo: FF> Add for SquareMatrix<Modulo>
Source§impl<Modulo: FF> AddAssign for SquareMatrix<Modulo>
impl<Modulo: FF> AddAssign for SquareMatrix<Modulo>
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
Performs the
+=
operation. Read moreSource§impl<Modulo: Clone + FF> Clone for SquareMatrix<Modulo>
impl<Modulo: Clone + FF> Clone for SquareMatrix<Modulo>
Source§fn clone(&self) -> SquareMatrix<Modulo>
fn clone(&self) -> SquareMatrix<Modulo>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<Modulo: FF> From<SquareMatrix<Modulo>> for Vec<Vec<Modulo::Element>>
impl<Modulo: FF> From<SquareMatrix<Modulo>> for Vec<Vec<Modulo::Element>>
Source§fn from(value: SquareMatrix<Modulo>) -> Self
fn from(value: SquareMatrix<Modulo>) -> Self
Converts to this type from the input type.
Source§impl<Modulo: FF> Mul for SquareMatrix<Modulo>
impl<Modulo: FF> Mul for SquareMatrix<Modulo>
Source§impl<Modulo: FF> MulAssign for SquareMatrix<Modulo>
impl<Modulo: FF> MulAssign for SquareMatrix<Modulo>
Source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
Performs the
*=
operation. Read moreSource§impl<Modulo: FF> Neg for SquareMatrix<Modulo>
impl<Modulo: FF> Neg for SquareMatrix<Modulo>
Source§impl<Modulo: FF> Sub for SquareMatrix<Modulo>
impl<Modulo: FF> Sub for SquareMatrix<Modulo>
Source§impl<Modulo: FF> SubAssign for SquareMatrix<Modulo>
impl<Modulo: FF> SubAssign for SquareMatrix<Modulo>
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Performs the
-=
operation. Read moreimpl<Modulo: Eq + FF> Eq for SquareMatrix<Modulo>
impl<Modulo: FF> StructuralPartialEq for SquareMatrix<Modulo>
Auto Trait Implementations§
impl<Modulo> Freeze for SquareMatrix<Modulo>
impl<Modulo> RefUnwindSafe for SquareMatrix<Modulo>
impl<Modulo> Send for SquareMatrix<Modulo>
impl<Modulo> Sync for SquareMatrix<Modulo>
impl<Modulo> Unpin for SquareMatrix<Modulo>
impl<Modulo> UnwindSafe for SquareMatrix<Modulo>
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