Struct parry2d::utils::SdpMatrix3 [−][src]
pub struct SdpMatrix3<N> { pub m11: N, pub m12: N, pub m13: N, pub m22: N, pub m23: N, pub m33: N, }
A 3x3 symmetric-definite-positive matrix.
Fields
m11: N
The component at the first row and first column of this matrix.
m12: N
The component at the first row and second column of this matrix.
m13: N
The component at the first row and third column of this matrix.
m22: N
The component at the second row and second column of this matrix.
m23: N
The component at the second row and third column of this matrix.
m33: N
The component at the third row and third column of this matrix.
Implementations
impl<N: SimdRealField> SdpMatrix3<N>
[src]
impl<N: SimdRealField> SdpMatrix3<N>
[src]pub fn new(m11: N, m12: N, m13: N, m22: N, m23: N, m33: N) -> Self
[src]
A new SDP 3x3 matrix with the given components.
Because the matrix is symmetric, only the lower off-diagonal components is required.
pub fn from_sdp_matrix(mat: Matrix3<N>) -> Self
[src]
Build an SdpMatrix3
structure from a plain matrix, assuming it is SDP.
No check is performed to ensure mat
is actually SDP.
pub fn zero() -> Self
[src]
Create a new SDP matrix filled with zeros.
pub fn diagonal(val: N) -> Self
[src]
Create a new SDP matrix with its diagonal filled with val
, and its off-diagonal elements set to zero.
pub fn is_zero(&self) -> bool
[src]
Are all components of this matrix equal to zero?
pub fn inverse_unchecked(&self) -> Self
[src]
Compute the inverse of this SDP matrix without performing any inversibility check.
pub fn quadform3x2(&self, m: &Matrix3x2<N>) -> SdpMatrix2<N>
[src]
Compute the quadratic form m.transpose() * self * m
.
pub fn quadform(&self, m: &Matrix3<N>) -> Self
[src]
Compute the quadratic form m.transpose() * self * m
.
pub fn add_diagonal(&self, elt: N) -> Self
[src]
Adds elt
to the diagonal components of self
.
Trait Implementations
impl<N: Add<N>> Add<SdpMatrix3<N>> for SdpMatrix3<N>
[src]
impl<N: Add<N>> Add<SdpMatrix3<N>> for SdpMatrix3<N>
[src]type Output = SdpMatrix3<N::Output>
The resulting type after applying the +
operator.
fn add(self, rhs: SdpMatrix3<N>) -> Self::Output
[src]
impl<N: Clone> Clone for SdpMatrix3<N>
[src]
impl<N: Clone> Clone for SdpMatrix3<N>
[src]fn clone(&self) -> SdpMatrix3<N>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: Copy> Copy for SdpMatrix3<N>
[src]
impl<N: Copy> Copy for SdpMatrix3<N>
[src]impl<N: SimdRealField> Mul<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 3_usize, 1_usize>>> for SdpMatrix3<N>
[src]
impl<N: SimdRealField> Mul<Matrix<N, Const<{_: usize}>, Const<1_usize>, ArrayStorage<N, 3_usize, 1_usize>>> for SdpMatrix3<N>
[src]impl<N: SimdRealField> Mul<Matrix<N, Const<{_: usize}>, Const<{_: usize}>, ArrayStorage<N, 3_usize, 2_usize>>> for SdpMatrix3<N>
[src]
impl<N: SimdRealField> Mul<Matrix<N, Const<{_: usize}>, Const<{_: usize}>, ArrayStorage<N, 3_usize, 2_usize>>> for SdpMatrix3<N>
[src]impl<N: SimdRealField> Mul<Matrix<N, Const<{_: usize}>, Const<{_: usize}>, ArrayStorage<N, 3_usize, 3_usize>>> for SdpMatrix3<N>
[src]
impl<N: SimdRealField> Mul<Matrix<N, Const<{_: usize}>, Const<{_: usize}>, ArrayStorage<N, 3_usize, 3_usize>>> for SdpMatrix3<N>
[src]impl Mul<f32> for SdpMatrix3<Real>
[src]
impl Mul<f32> for SdpMatrix3<Real>
[src]impl<N: PartialEq> PartialEq<SdpMatrix3<N>> for SdpMatrix3<N>
[src]
impl<N: PartialEq> PartialEq<SdpMatrix3<N>> for SdpMatrix3<N>
[src]fn eq(&self, other: &SdpMatrix3<N>) -> bool
[src]
fn ne(&self, other: &SdpMatrix3<N>) -> bool
[src]
impl<N> StructuralPartialEq for SdpMatrix3<N>
[src]
impl<N> StructuralPartialEq for SdpMatrix3<N>
[src]Auto Trait Implementations
impl<N> RefUnwindSafe for SdpMatrix3<N> where
N: RefUnwindSafe,
impl<N> RefUnwindSafe for SdpMatrix3<N> where
N: RefUnwindSafe,
impl<N> Send for SdpMatrix3<N> where
N: Send,
impl<N> Send for SdpMatrix3<N> where
N: Send,
impl<N> Sync for SdpMatrix3<N> where
N: Sync,
impl<N> Sync for SdpMatrix3<N> where
N: Sync,
impl<N> Unpin for SdpMatrix3<N> where
N: Unpin,
impl<N> Unpin for SdpMatrix3<N> where
N: Unpin,
impl<N> UnwindSafe for SdpMatrix3<N> where
N: UnwindSafe,
impl<N> UnwindSafe for SdpMatrix3<N> where
N: UnwindSafe,
Blanket Implementations
impl<T> CheckedAs for T
[src]
impl<T> CheckedAs for T
[src]pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]pub fn lossless_try_into(self) -> Option<Dst>
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]pub fn lossy_into(self) -> Dst
[src]
impl<T> OverflowingAs for T
[src]
impl<T> OverflowingAs for T
[src]pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatingAs for T
[src]
impl<T> SaturatingAs for T
[src]pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> UnwrappedAs for T
[src]
impl<T> UnwrappedAs for T
[src]pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<T> WrappingAs for T
[src]
impl<T> WrappingAs for T
[src]pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,