Struct nalgebra::linalg::PermutationSequence
source · pub struct PermutationSequence<D: Dim>where
DefaultAllocator: Allocator<D>,{ /* private fields */ }
Expand description
A sequence of row or column permutations.
Implementations§
source§impl<D: DimName> PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
impl<D: DimName> PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
source§impl<D: Dim> PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
impl<D: Dim> PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
sourcepub fn identity_generic(dim: D) -> Self
pub fn identity_generic(dim: D) -> Self
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: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
pub fn permute_rows<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations to the rows of rhs
.
sourcepub fn inv_permute_rows<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
pub fn inv_permute_rows<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations in reverse to the rows of rhs
.
sourcepub fn permute_columns<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
pub fn permute_columns<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations to the columns of rhs
.
sourcepub fn inv_permute_columns<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
pub fn inv_permute_columns<T: Scalar, R2: Dim, C2: Dim, S2>(
&self,
rhs: &mut Matrix<T, R2, C2, S2>
)where
S2: StorageMut<T, R2, C2>,
Applies this sequence of permutations in reverse to the columns of rhs
.
sourcepub fn determinant<T: One + ClosedNeg>(&self) -> T
pub fn determinant<T: One + ClosedNeg>(&self) -> T
The determinant of the matrix corresponding to this permutation.
Trait Implementations§
source§impl<D: Clone + Dim> Clone for PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
impl<D: Clone + Dim> Clone for PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
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 + Dim> Debug for PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
impl<D: Debug + Dim> Debug for PermutationSequence<D>where
DefaultAllocator: Allocator<D>,
impl<D: Dim> Copy for PermutationSequence<D>
Auto Trait Implementations§
impl<D> !Freeze for PermutationSequence<D>
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.