Struct na::PermutationSequence
source · pub struct PermutationSequence<D>where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,{ /* private fields */ }
Expand description
A sequence of row or column permutations.
Implementations§
source§impl<D> PermutationSequence<D>where
D: DimName,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> PermutationSequence<D>where D: DimName, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
sourcepub fn identity() -> PermutationSequence<D>
pub fn identity() -> PermutationSequence<D>
Creates a new statically-allocated sequence of D
identity permutations.
source§impl PermutationSequence<Dyn>where
DefaultAllocator: Allocator<(usize, usize), Dyn, Const<1>>,
impl PermutationSequence<Dyn>where DefaultAllocator: Allocator<(usize, usize), Dyn, Const<1>>,
sourcepub fn identity(n: usize) -> PermutationSequence<Dyn>
pub fn identity(n: usize) -> PermutationSequence<Dyn>
Creates a new dynamically-allocated sequence of n
identity permutations.
source§impl<D> PermutationSequence<D>where
D: Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> PermutationSequence<D>where D: Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
sourcepub fn identity_generic(dim: D) -> PermutationSequence<D>
pub fn identity_generic(dim: D) -> PermutationSequence<D>
Creates a new sequence of D identity permutations.
sourcepub fn append_permutation(&mut self, i: usize, i2: usize)
pub fn append_permutation(&mut self, i: usize, i2: usize)
Adds the interchange of the row (or column) i
with the row (or column) i2
to this
sequence of permutations.
sourcepub fn permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations to the rows of rhs
.
sourcepub fn inv_permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn inv_permute_rows<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations in reverse to the rows of rhs
.
sourcepub fn permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn permute_columns<T, R2, C2, S2>(&self, rhs: &mut Matrix<T, R2, C2, S2>)where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations to the columns of rhs
.
sourcepub fn inv_permute_columns<T, R2, C2, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
T: Scalar,
R2: Dim,
C2: Dim,
S2: StorageMut<T, R2, C2>,
pub fn inv_permute_columns<T, R2, C2, S2>( &self, rhs: &mut Matrix<T, R2, C2, S2> )where T: Scalar, R2: Dim, C2: Dim, S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations in reverse to the columns of rhs
.
sourcepub fn determinant<T>(&self) -> Twhere
T: One + ClosedNeg,
pub fn determinant<T>(&self) -> Twhere T: One + ClosedNeg,
The determinant of the matrix corresponding to this permutation.
Trait Implementations§
source§impl<D> Clone for PermutationSequence<D>where
D: Clone + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> Clone for PermutationSequence<D>where D: Clone + Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
source§fn clone(&self) -> PermutationSequence<D>
fn clone(&self) -> PermutationSequence<D>
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<D> Debug for PermutationSequence<D>where
D: Debug + Dim,
DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> Debug for PermutationSequence<D>where D: Debug + Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>,
impl<D> Copy for PermutationSequence<D>where D: Dim, DefaultAllocator: Allocator<(usize, usize), D, Const<1>>, Matrix<(usize, usize), D, Const<1>, <DefaultAllocator as Allocator<(usize, usize), D, Const<1>>>::Buffer>: Copy,
Auto Trait Implementations§
impl<D> !RefUnwindSafe for PermutationSequence<D>
impl<D> !Send for PermutationSequence<D>
impl<D> !Sync for PermutationSequence<D>
impl<D> !Unpin for PermutationSequence<D>
impl<D> !UnwindSafe for PermutationSequence<D>
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
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.