pub struct TensorRank2<const D: usize, const I: usize, const J: usize>(/* private fields */);Expand description
A d-dimensional tensor of rank 2.
D is the dimension, I, J are the configurations.
Implementations§
Source§impl<const I: usize, const J: usize> TensorRank2<3, I, J>
impl<const I: usize, const J: usize> TensorRank2<3, I, J>
Sourcepub const fn const_from(array: [[TensorRank0; 3]; 3]) -> Self
pub const fn const_from(array: [[TensorRank0; 3]; 3]) -> Self
Associated function for const type conversion.
Source§impl<const I: usize, const J: usize> TensorRank2<4, I, J>
impl<const I: usize, const J: usize> TensorRank2<4, I, J>
Sourcepub const fn const_from(array: [[TensorRank0; 4]; 4]) -> Self
pub const fn const_from(array: [[TensorRank0; 4]; 4]) -> Self
Associated function for const type conversion.
Source§impl<const D: usize, const I: usize, const J: usize> TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> TensorRank2<D, I, J>
Sourcepub const fn as_ptr(&self) -> *const TensorRank1<D, J>
pub const fn as_ptr(&self) -> *const TensorRank1<D, J>
Returns a raw pointer to the slice’s buffer.
Sourcepub fn as_tensor_rank_1(&self) -> TensorRank1<9, 88>
pub fn as_tensor_rank_1(&self) -> TensorRank1<9, 88>
Returns the rank-2 tensor reshaped as a rank-1 tensor.
Sourcepub fn determinant(&self) -> TensorRank0
pub fn determinant(&self) -> TensorRank0
Returns the determinant of the rank-2 tensor.
Sourcepub fn inverse(&self) -> TensorRank2<D, J, I>
pub fn inverse(&self) -> TensorRank2<D, J, I>
Returns the inverse of the rank-2 tensor.
Sourcepub fn inverse_and_determinant(&self) -> (TensorRank2<D, J, I>, TensorRank0)
pub fn inverse_and_determinant(&self) -> (TensorRank2<D, J, I>, TensorRank0)
Returns the inverse and determinant of the rank-2 tensor.
Sourcepub fn inverse_transpose(&self) -> Self
pub fn inverse_transpose(&self) -> Self
Returns the inverse transpose of the rank-2 tensor.
Sourcepub fn inverse_transpose_and_determinant(&self) -> (Self, TensorRank0)
pub fn inverse_transpose_and_determinant(&self) -> (Self, TensorRank0)
Returns the inverse transpose and determinant of the rank-2 tensor.
Sourcepub fn lu_decomposition(
&self,
) -> (TensorRank2<D, I, 88>, TensorRank2<D, 88, J>, Vec<usize>)
pub fn lu_decomposition( &self, ) -> (TensorRank2<D, I, 88>, TensorRank2<D, 88, J>, Vec<usize>)
Returns the LU decomposition of the rank-2 tensor.
Sourcepub fn lu_decomposition_inverse(
&self,
) -> (TensorRank2<D, I, 88>, TensorRank2<D, 88, J>, Vec<usize>)
pub fn lu_decomposition_inverse( &self, ) -> (TensorRank2<D, I, 88>, TensorRank2<D, 88, J>, Vec<usize>)
Returns the inverse of the LU decomposition of the rank-2 tensor.
Source§impl<const I: usize> TensorRank2<3, I, I>
impl<const I: usize> TensorRank2<3, I, I>
Sourcepub fn logm(&self) -> Result<Self, TensorError>
pub fn logm(&self) -> Result<Self, TensorError>
Returns the matrix logarithm of the 3x3 symmetric tensor.
Sourcepub fn dlogm(&self) -> Result<TensorRank4<3, I, I, I, I>, TensorError>
pub fn dlogm(&self) -> Result<TensorRank4<3, I, I, I, I>, TensorError>
Returns the derivative of the matrix logarithm of the 3x3 symmetric tensor.
Sourcepub fn invariants(&self) -> TensorRank0List<3>
pub fn invariants(&self) -> TensorRank0List<3>
Returns the invariants of the 3x3 symmetric tensor.
Trait Implementations§
Source§impl<const D: usize, const I: usize, const J: usize> Add<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Add<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
Source§impl<const D: usize, const I: usize, const J: usize> Add<TensorRank2<D, I, J>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Add<TensorRank2<D, I, J>> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
+ operator.Source§impl<const D: usize, const I: usize, const J: usize> AddAssign<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> AddAssign<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
Source§fn add_assign(&mut self, tensor_rank_2: &Self)
fn add_assign(&mut self, tensor_rank_2: &Self)
+= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> AddAssign for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> AddAssign for TensorRank2<D, I, J>
Source§fn add_assign(&mut self, tensor_rank_2: Self)
fn add_assign(&mut self, tensor_rank_2: Self)
+= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> Clone for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Clone for TensorRank2<D, I, J>
Source§fn clone(&self) -> TensorRank2<D, I, J>
fn clone(&self) -> TensorRank2<D, I, J>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize, const N: usize, const O: usize, const P: usize> ContractAllIndicesWithFirstIndicesOf<&TensorRank2<D, I, M>, &TensorRank2<D, J, N>, &TensorRank2<D, K, O>, &TensorRank2<D, L, P>> for TensorRank4<D, I, J, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize, const N: usize, const O: usize, const P: usize> ContractAllIndicesWithFirstIndicesOf<&TensorRank2<D, I, M>, &TensorRank2<D, J, N>, &TensorRank2<D, K, O>, &TensorRank2<D, L, P>> for TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, M, N, O, P>
fn contract_all_indices_with_first_indices_of( self, tensor_rank_2_a: &TensorRank2<D, I, M>, tensor_rank_2_b: &TensorRank2<D, J, N>, tensor_rank_2_c: &TensorRank2<D, K, O>, tensor_rank_2_d: &TensorRank2<D, L, P>, ) -> Self::Output
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize, const N: usize> ContractFirstSecondIndicesWithSecondIndicesOf<&TensorRank2<D, I, M>, &TensorRank2<D, J, N>> for TensorRank4<D, M, N, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize, const N: usize> ContractFirstSecondIndicesWithSecondIndicesOf<&TensorRank2<D, I, M>, &TensorRank2<D, J, N>> for TensorRank4<D, M, N, K, L>
type Output = TensorRank4<D, I, J, K, L>
fn contract_first_second_indices_with_second_indices_of( self, tensor_rank_2_a: &TensorRank2<D, I, M>, tensor_rank_2_b: &TensorRank2<D, J, N>, ) -> Self::Output
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize, const O: usize, const P: usize> ContractFirstThirdFourthIndicesWithFirstIndicesOf<&TensorRank2<D, I, M>, &TensorRank2<D, K, O>, &TensorRank2<D, L, P>> for TensorRank4<D, I, J, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize, const O: usize, const P: usize> ContractFirstThirdFourthIndicesWithFirstIndicesOf<&TensorRank2<D, I, M>, &TensorRank2<D, K, O>, &TensorRank2<D, L, P>> for TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, M, J, O, P>
fn contract_first_third_fourth_indices_with_first_indices_of( self, tensor_rank_2_a: &TensorRank2<D, I, M>, tensor_rank_2_b: &TensorRank2<D, K, O>, tensor_rank_2_c: &TensorRank2<D, L, P>, ) -> Self::Output
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const N: usize> ContractSecondIndexWithFirstIndexOf<&TensorRank2<D, J, N>> for TensorRank4<D, I, J, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const N: usize> ContractSecondIndexWithFirstIndexOf<&TensorRank2<D, J, N>> for TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, I, N, K, L>
fn contract_second_index_with_first_index_of( self, tensor_rank_2: &TensorRank2<D, J, N>, ) -> Self::Output
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize> ContractThirdFourthIndicesWithFirstSecondIndicesOf<&TensorRank2<D, K, L>> for TensorRank4<D, I, J, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize> ContractThirdFourthIndicesWithFirstSecondIndicesOf<&TensorRank2<D, K, L>> for TensorRank4<D, I, J, K, L>
type Output = TensorRank2<D, I, J>
fn contract_third_fourth_indices_with_first_second_indices_of( self, tensor_rank_2: &TensorRank2<D, K, L>, ) -> Self::Output
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> ContractThirdIndexWithFirstIndexOf<&TensorRank2<D, M, K>> for TensorRank4<D, I, J, M, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> ContractThirdIndexWithFirstIndexOf<&TensorRank2<D, M, K>> for TensorRank4<D, I, J, M, L>
type Output = TensorRank4<D, I, J, K, L>
fn contract_third_index_with_first_index_of( &self, tensor_rank_2: &TensorRank2<D, M, K>, ) -> Self::Output
Source§impl<const D: usize, const I: usize, const J: usize> Div<&f64> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Div<&f64> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
/ operator.Source§impl<const D: usize, const I: usize, const J: usize> Div<&f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Div<&f64> for TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
/ operator.Source§impl<const D: usize, const I: usize, const J: usize> Div<TensorRank2<D, I, J>> for &TensorRank1<D, I>
impl<const D: usize, const I: usize, const J: usize> Div<TensorRank2<D, I, J>> for &TensorRank1<D, I>
Source§type Output = TensorRank1<D, J>
type Output = TensorRank1<D, J>
/ operator.Source§impl<const I: usize, const J: usize, const K: usize, const L: usize> Div<TensorRank4<3, I, J, K, L>> for &TensorRank2<3, I, J>
impl<const I: usize, const J: usize, const K: usize, const L: usize> Div<TensorRank4<3, I, J, K, L>> for &TensorRank2<3, I, J>
Source§type Output = TensorRank2<3, K, L>
type Output = TensorRank2<3, K, L>
/ operator.Source§impl<const D: usize, const I: usize, const J: usize> Div<f64> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Div<f64> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
/ operator.Source§impl<const D: usize, const I: usize, const J: usize> Div<f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Div<f64> for TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
/ operator.Source§impl<const D: usize, const I: usize, const J: usize> DivAssign<&f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> DivAssign<&f64> for TensorRank2<D, I, J>
Source§fn div_assign(&mut self, tensor_rank_0: &TensorRank0)
fn div_assign(&mut self, tensor_rank_0: &TensorRank0)
/= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> DivAssign<f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> DivAssign<f64> for TensorRank2<D, I, J>
Source§fn div_assign(&mut self, tensor_rank_0: TensorRank0)
fn div_assign(&mut self, tensor_rank_0: TensorRank0)
/= operation. Read moreSource§impl<C1, C2> ElasticIV<TensorRank2<3, 2, 0>, TensorRank4<3, 2, 0, 1, 0>, TensorRank4<3, 1, 0, 2, 0>, TensorRank4<3, 2, 0, 2, 0>> for Multiplicative<C1, C2>
impl<C1, C2> ElasticIV<TensorRank2<3, 2, 0>, TensorRank4<3, 2, 0, 1, 0>, TensorRank4<3, 1, 0, 2, 0>, TensorRank4<3, 2, 0, 2, 0>> for Multiplicative<C1, C2>
Source§fn cauchy_stress_foo(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_2: &DeformationGradient2,
) -> Result<CauchyStress, ConstitutiveError>
fn cauchy_stress_foo( &self, deformation_gradient: &DeformationGradient, deformation_gradient_2: &DeformationGradient2, ) -> Result<CauchyStress, ConstitutiveError>
Calculates and returns the Cauchy stress.
\boldsymbol{\sigma} = \frac{1}{J_2}\,\boldsymbol{\sigma}_1Source§fn cauchy_tangent_stiffness_foo(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_2: &DeformationGradient2,
) -> Result<CauchyTangentStiffness, ConstitutiveError>
fn cauchy_tangent_stiffness_foo( &self, deformation_gradient: &DeformationGradient, deformation_gradient_2: &DeformationGradient2, ) -> Result<CauchyTangentStiffness, ConstitutiveError>
Calculates and returns the tangent stiffness associated with the Cauchy stress.
\boldsymbol{\mathcal{T}} = \frac{1}{J_2}\,\boldsymbol{\mathcal{T}}_1\cdot\mathbf{F}_2^{-T}Source§fn first_piola_kirchhoff_stress_foo(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_2: &DeformationGradient2,
) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>
fn first_piola_kirchhoff_stress_foo( &self, deformation_gradient: &DeformationGradient, deformation_gradient_2: &DeformationGradient2, ) -> Result<FirstPiolaKirchhoffStress, ConstitutiveError>
Calculates and returns the first Piola-Kirchhoff stress.
\mathbf{P} = \mathbf{P}_1\cdot\mathbf{F}_2^{-T}Source§fn second_piola_kirchhoff_stress_foo(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_2: &DeformationGradient2,
) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
fn second_piola_kirchhoff_stress_foo( &self, deformation_gradient: &DeformationGradient, deformation_gradient_2: &DeformationGradient2, ) -> Result<SecondPiolaKirchhoffStress, ConstitutiveError>
Calculates and returns the second Piola-Kirchhoff stress.
\mathbf{S} = \mathbf{F}_2^{-1}\cdot\mathbf{S}_1\cdot\mathbf{F}_2^{-T}Source§fn internal_variables_residual(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_2: &DeformationGradient2,
) -> Result<DeformationGradient2, ConstitutiveError>
fn internal_variables_residual( &self, deformation_gradient: &DeformationGradient, deformation_gradient_2: &DeformationGradient2, ) -> Result<DeformationGradient2, ConstitutiveError>
Calculates and returns the residual associated with the second deformation gradient.
\mathbf{R} = \mathbf{P}_2 - \mathbf{M}_1\cdot\mathbf{F}_2^{-T}Source§fn internal_variables_tangents(
&self,
deformation_gradient: &DeformationGradient,
deformation_gradient_2: &DeformationGradient2,
) -> Result<(TensorRank4<3, 2, 0, 1, 0>, TensorRank4<3, 1, 0, 2, 0>, FirstPiolaKirchhoffTangentStiffness2), ConstitutiveError>
fn internal_variables_tangents( &self, deformation_gradient: &DeformationGradient, deformation_gradient_2: &DeformationGradient2, ) -> Result<(TensorRank4<3, 2, 0, 1, 0>, TensorRank4<3, 1, 0, 2, 0>, FirstPiolaKirchhoffTangentStiffness2), ConstitutiveError>
Calculates and returns the tangents associated with the internal variables.
\frac{\partial P_{iJ}}{\partial F_{KL}^2} = -P_{iL}F_{KJ}^{2-T} - \mathcal{C}_{iJmL}F_{mK}^1\frac{\partial R_{IJ}}{\partial F_{kL}} = -F_{IL}^{2-T}P_{kJ} - F_{mI}^1\mathcal{C}_{mJkL}\frac{\partial R_{IJ}}{\partial F_{KL}^2} = \mathcal{C}_{IJKL}^2 + F_{IM}^1P_{ML}{F_{KJ}^{2-T}} - \frac{\partial R_{IJ}}{\partial F_{mL}}\,F_{mK}^1Source§fn internal_variables_initial(&self) -> DeformationGradient2
fn internal_variables_initial(&self) -> DeformationGradient2
Source§fn internal_variables_constraints(&self) -> (&[usize], usize)
fn internal_variables_constraints(&self) -> (&[usize], usize)
Source§fn first_piola_kirchhoff_tangent_stiffness_foo(
&self,
deformation_gradient: &DeformationGradient,
internal_variables: &V,
) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError>
fn first_piola_kirchhoff_tangent_stiffness_foo( &self, deformation_gradient: &DeformationGradient, internal_variables: &V, ) -> Result<FirstPiolaKirchhoffTangentStiffness, ConstitutiveError>
Source§fn second_piola_kirchhoff_tangent_stiffness_foo(
&self,
deformation_gradient: &DeformationGradient,
internal_variables: &V,
) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>
fn second_piola_kirchhoff_tangent_stiffness_foo( &self, deformation_gradient: &DeformationGradient, internal_variables: &V, ) -> Result<SecondPiolaKirchhoffTangentStiffness, ConstitutiveError>
Source§impl<const J: usize> From<&TensorRank2<3, 2, J>> for &TensorRank2<3, 1, J>
impl<const J: usize> From<&TensorRank2<3, 2, J>> for &TensorRank2<3, 1, J>
Source§fn from(tensor_rank_2: &TensorRank2<3, 2, J>) -> Self
fn from(tensor_rank_2: &TensorRank2<3, 2, J>) -> Self
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize> From<&TensorRank4<D, I, J, K, L>> for TensorRank2<9, 88, 99>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize> From<&TensorRank4<D, I, J, K, L>> for TensorRank2<9, 88, 99>
Source§fn from(tensor_rank_4: &TensorRank4<D, I, J, K, L>) -> Self
fn from(tensor_rank_4: &TensorRank4<D, I, J, K, L>) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<[[f64; D]; D]> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> From<[[f64; D]; D]> for TensorRank2<D, I, J>
Source§impl<const D: usize, const I: usize, const J: usize> From<(&TensorRank1<D, I>, &TensorRank1<D, J>)> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> From<(&TensorRank1<D, I>, &TensorRank1<D, J>)> for TensorRank2<D, I, J>
Source§fn from((vector_a, vector_b): (&TensorRank1<D, I>, &TensorRank1<D, J>)) -> Self
fn from((vector_a, vector_b): (&TensorRank1<D, I>, &TensorRank1<D, J>)) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<(&TensorRank1<D, I>, TensorRank1<D, J>)> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> From<(&TensorRank1<D, I>, TensorRank1<D, J>)> for TensorRank2<D, I, J>
Source§fn from((vector_a, vector_b): (&TensorRank1<D, I>, TensorRank1<D, J>)) -> Self
fn from((vector_a, vector_b): (&TensorRank1<D, I>, TensorRank1<D, J>)) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<(TensorRank1<D, I>, &TensorRank1<D, J>)> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> From<(TensorRank1<D, I>, &TensorRank1<D, J>)> for TensorRank2<D, I, J>
Source§fn from((vector_a, vector_b): (TensorRank1<D, I>, &TensorRank1<D, J>)) -> Self
fn from((vector_a, vector_b): (TensorRank1<D, I>, &TensorRank1<D, J>)) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<(TensorRank1<D, I>, TensorRank1<D, J>)> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> From<(TensorRank1<D, I>, TensorRank1<D, J>)> for TensorRank2<D, I, J>
Source§fn from((vector_a, vector_b): (TensorRank1<D, I>, TensorRank1<D, J>)) -> Self
fn from((vector_a, vector_b): (TensorRank1<D, I>, TensorRank1<D, J>)) -> Self
Source§impl From<TensorRank2<3, 0, 0>> for TensorRank2<3, 1, 1>
impl From<TensorRank2<3, 0, 0>> for TensorRank2<3, 1, 1>
Source§fn from(tensor_rank_2: TensorRank2<3, 0, 0>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 0, 0>) -> Self
Source§impl From<TensorRank2<3, 0, 0>> for TensorRank2<3, 2, 2>
impl From<TensorRank2<3, 0, 0>> for TensorRank2<3, 2, 2>
Source§fn from(tensor_rank_2: TensorRank2<3, 0, 0>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 0, 0>) -> Self
Source§impl<const J: usize> From<TensorRank2<3, 0, J>> for TensorRank2<3, 1, J>
impl<const J: usize> From<TensorRank2<3, 0, J>> for TensorRank2<3, 1, J>
Source§fn from(tensor_rank_2: TensorRank2<3, 0, J>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 0, J>) -> Self
Source§impl<const J: usize> From<TensorRank2<3, 1, J>> for TensorRank2<3, 0, J>
impl<const J: usize> From<TensorRank2<3, 1, J>> for TensorRank2<3, 0, J>
Source§fn from(tensor_rank_2: TensorRank2<3, 1, J>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 1, J>) -> Self
Source§impl<const J: usize> From<TensorRank2<3, 1, J>> for TensorRank2<3, 2, J>
impl<const J: usize> From<TensorRank2<3, 1, J>> for TensorRank2<3, 2, J>
Source§fn from(tensor_rank_2: TensorRank2<3, 1, J>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 1, J>) -> Self
Source§impl<const J: usize> From<TensorRank2<3, 2, J>> for TensorRank2<3, 1, J>
impl<const J: usize> From<TensorRank2<3, 2, J>> for TensorRank2<3, 1, J>
Source§fn from(tensor_rank_2: TensorRank2<3, 2, J>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 2, J>) -> Self
Source§impl<const I: usize> From<TensorRank2<3, I, 0>> for TensorRank2<3, I, 2>
impl<const I: usize> From<TensorRank2<3, I, 0>> for TensorRank2<3, I, 2>
Source§fn from(tensor_rank_2: TensorRank2<3, I, 0>) -> Self
fn from(tensor_rank_2: TensorRank2<3, I, 0>) -> Self
Source§impl<const I: usize> From<TensorRank2<3, I, 1>> for TensorRank2<3, I, 0>
impl<const I: usize> From<TensorRank2<3, I, 1>> for TensorRank2<3, I, 0>
Source§fn from(tensor_rank_2: TensorRank2<3, I, 1>) -> Self
fn from(tensor_rank_2: TensorRank2<3, I, 1>) -> Self
Source§impl<const I: usize> From<TensorRank2<3, I, 2>> for TensorRank2<3, I, 0>
impl<const I: usize> From<TensorRank2<3, I, 2>> for TensorRank2<3, I, 0>
Source§fn from(tensor_rank_2: TensorRank2<3, I, 2>) -> Self
fn from(tensor_rank_2: TensorRank2<3, I, 2>) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<TensorRank2<D, I, J>> for Vec<Vec<TensorRank0>>
impl<const D: usize, const I: usize, const J: usize> From<TensorRank2<D, I, J>> for Vec<Vec<TensorRank0>>
Source§fn from(tensor: TensorRank2<D, I, J>) -> Self
fn from(tensor: TensorRank2<D, I, J>) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<TensorRank2<D, I, J>> for Vector
impl<const D: usize, const I: usize, const J: usize> From<TensorRank2<D, I, J>> for Vector
Source§fn from(tensor_rank_2: TensorRank2<D, I, J>) -> Self
fn from(tensor_rank_2: TensorRank2<D, I, J>) -> Self
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize> From<TensorRank4<D, I, J, K, L>> for TensorRank2<9, 88, 99>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize> From<TensorRank4<D, I, J, K, L>> for TensorRank2<9, 88, 99>
Source§fn from(tensor_rank_4: TensorRank4<D, I, J, K, L>) -> Self
fn from(tensor_rank_4: TensorRank4<D, I, J, K, L>) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> From<Vec<Vec<f64>>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> From<Vec<Vec<f64>>> for TensorRank2<D, I, J>
Source§impl<const D: usize, const I: usize, const J: usize> FromIterator<TensorRank1<D, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> FromIterator<TensorRank1<D, J>> for TensorRank2<D, I, J>
Source§fn from_iter<Ii: IntoIterator<Item = TensorRank1<D, J>>>(
into_iterator: Ii,
) -> Self
fn from_iter<Ii: IntoIterator<Item = TensorRank1<D, J>>>( into_iterator: Ii, ) -> Self
Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> FromIterator<TensorRank2<D, J, K>> for TensorRank3<D, I, J, K>
impl<const D: usize, const I: usize, const J: usize, const K: usize> FromIterator<TensorRank2<D, J, K>> for TensorRank3<D, I, J, K>
Source§fn from_iter<Ii: IntoIterator<Item = TensorRank2<D, J, K>>>(
into_iterator: Ii,
) -> Self
fn from_iter<Ii: IntoIterator<Item = TensorRank2<D, J, K>>>( into_iterator: Ii, ) -> Self
Source§impl<const D: usize, const I: usize, const J: usize> Hessian for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Hessian for TensorRank2<D, I, J>
Source§fn fill_into(self, square_matrix: &mut SquareMatrix)
fn fill_into(self, square_matrix: &mut SquareMatrix)
Source§fn retain_from(self, _retained: &[bool]) -> SquareMatrix
fn retain_from(self, _retained: &[bool]) -> SquareMatrix
Source§impl<const D: usize, const I: usize, const J: usize> IndexMut<usize> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> IndexMut<usize> for TensorRank2<D, I, J>
Source§impl<const D: usize, const I: usize, const J: usize> IntoIterator for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> IntoIterator for TensorRank2<D, I, J>
Source§impl<const D: usize, const I: usize, const J: usize> Jacobian for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Jacobian for TensorRank2<D, I, J>
Source§fn fill_into_chained(self, other: Vector, vector: &mut Vector)
fn fill_into_chained(self, other: Vector, vector: &mut Vector)
Source§fn retain_from(self, _retained: &[bool]) -> Vector
fn retain_from(self, _retained: &[bool]) -> Vector
Source§impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<&TensorList<TensorRank1<D, J>, W>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<&TensorList<TensorRank1<D, J>, W>> for &TensorRank2<D, I, J>
Source§type Output = TensorList<TensorRank1<D, I>, W>
type Output = TensorList<TensorRank1<D, I>, W>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<&TensorList<TensorRank1<D, J>, W>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<&TensorList<TensorRank1<D, J>, W>> for TensorRank2<D, I, J>
Source§type Output = TensorList<TensorRank1<D, I>, W>
type Output = TensorList<TensorRank1<D, I>, W>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&TensorRank1<D, J>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&TensorRank1<D, J>> for &TensorRank2<D, I, J>
Source§type Output = TensorRank1<D, I>
type Output = TensorRank1<D, I>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&TensorRank1<D, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&TensorRank1<D, J>> for TensorRank2<D, I, J>
Source§type Output = TensorRank1<D, I>
type Output = TensorRank1<D, I>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<&TensorRank2<D, J, K>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<&TensorRank2<D, J, K>> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, K>
type Output = TensorRank2<D, I, K>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<&TensorRank2<D, J, K>> for TensorRank2List2D<D, I, J, W, X>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<&TensorRank2<D, J, K>> for TensorRank2List2D<D, I, J, W, X>
Source§type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<&TensorRank2<D, J, K>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<&TensorRank2<D, J, K>> for TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, K>
type Output = TensorRank2<D, I, K>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<&TensorRank2<D, J, K>> for TensorRank2Vec2D<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<&TensorRank2<D, J, K>> for TensorRank2Vec2D<D, I, J>
Source§type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<&TensorRank2<D, L, M>> for TensorRank4<D, I, J, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<&TensorRank2<D, L, M>> for TensorRank4<D, I, J, K, L>
Source§type Output = TensorRank4<D, I, J, K, M>
type Output = TensorRank4<D, I, J, K, M>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<&TensorRank4<D, M, J, K, L>> for &TensorRank2<D, I, M>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<&TensorRank4<D, M, J, K, L>> for &TensorRank2<D, I, M>
Source§type Output = TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, I, J, K, L>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<&TensorRank4<D, M, J, K, L>> for TensorRank2<D, I, M>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<&TensorRank4<D, M, J, K, L>> for TensorRank2<D, I, M>
Source§type Output = TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, I, J, K, L>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&TensorVector<TensorRank1<D, J>>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&TensorVector<TensorRank1<D, J>>> for &TensorRank2<D, I, J>
Source§type Output = TensorVector<TensorRank1<D, I>>
type Output = TensorVector<TensorRank1<D, I>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&TensorVector<TensorRank1<D, J>>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&TensorVector<TensorRank1<D, J>>> for TensorRank2<D, I, J>
Source§type Output = TensorVector<TensorRank1<D, I>>
type Output = TensorVector<TensorRank1<D, I>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&f64> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&f64> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&f64> for TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorList<TensorList<TensorRank2<D, J, K>, W>, X>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorList<TensorList<TensorRank2<D, J, K>, W>, X>> for &TensorRank2<D, I, J>
Source§type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorList<TensorList<TensorRank2<D, J, K>, W>, X>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorList<TensorList<TensorRank2<D, J, K>, W>, X>> for TensorRank2<D, I, J>
Source§type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<TensorList<TensorRank1<D, J>, W>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<TensorList<TensorRank1<D, J>, W>> for &TensorRank2<D, I, J>
Source§type Output = TensorList<TensorRank1<D, I>, W>
type Output = TensorList<TensorRank1<D, I>, W>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<TensorList<TensorRank1<D, J>, W>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<TensorList<TensorRank1<D, J>, W>> for TensorRank2<D, I, J>
Source§type Output = TensorList<TensorRank1<D, I>, W>
type Output = TensorList<TensorRank1<D, I>, W>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<TensorRank1<D, J>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<TensorRank1<D, J>> for &TensorRank2<D, I, J>
Source§type Output = TensorRank1<D, I>
type Output = TensorRank1<D, I>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<TensorRank1<D, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<TensorRank1<D, J>> for TensorRank2<D, I, J>
Source§type Output = TensorRank1<D, I>
type Output = TensorRank1<D, I>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2<D, J, K>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2<D, J, K>> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, K>
type Output = TensorRank2<D, I, K>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorRank2<D, J, K>> for TensorRank2List2D<D, I, J, W, X>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorRank2<D, J, K>> for TensorRank2List2D<D, I, J, W, X>
Source§type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
type Output = TensorList<TensorList<TensorRank2<D, I, K>, W>, X>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2<D, J, K>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2<D, J, K>> for TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, K>
type Output = TensorRank2<D, I, K>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2<D, J, K>> for TensorRank2Vec2D<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2<D, J, K>> for TensorRank2Vec2D<D, I, J>
Source§type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<TensorRank2<D, L, M>> for TensorRank4<D, I, J, K, L>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<TensorRank2<D, L, M>> for TensorRank4<D, I, J, K, L>
Source§type Output = TensorRank4<D, I, J, K, M>
type Output = TensorRank4<D, I, J, K, M>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<TensorRank4<D, M, J, K, L>> for &TensorRank2<D, I, M>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<TensorRank4<D, M, J, K, L>> for &TensorRank2<D, I, M>
Source§type Output = TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, I, J, K, L>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<TensorRank4<D, M, J, K, L>> for TensorRank2<D, I, M>
impl<const D: usize, const I: usize, const J: usize, const K: usize, const L: usize, const M: usize> Mul<TensorRank4<D, M, J, K, L>> for TensorRank2<D, I, M>
Source§type Output = TensorRank4<D, I, J, K, L>
type Output = TensorRank4<D, I, J, K, L>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<TensorVector<TensorRank1<D, J>>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<TensorVector<TensorRank1<D, J>>> for &TensorRank2<D, I, J>
Source§type Output = TensorVector<TensorRank1<D, I>>
type Output = TensorVector<TensorRank1<D, I>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<TensorVector<TensorRank1<D, J>>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<TensorVector<TensorRank1<D, J>>> for TensorRank2<D, I, J>
Source§type Output = TensorVector<TensorRank1<D, I>>
type Output = TensorVector<TensorRank1<D, I>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorVector<TensorVector<TensorRank2<D, J, K>>>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorVector<TensorVector<TensorRank2<D, J, K>>>> for &TensorRank2<D, I, J>
Source§type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorVector<TensorVector<TensorRank2<D, J, K>>>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorVector<TensorVector<TensorRank2<D, J, K>>>> for TensorRank2<D, I, J>
Source§type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
type Output = TensorVector<TensorVector<TensorRank2<D, I, K>>>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<f64> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<f64> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<f64> for TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
* operator.Source§impl<const D: usize, const I: usize, const J: usize> MulAssign<&TensorRank2<D, J, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> MulAssign<&TensorRank2<D, J, J>> for TensorRank2<D, I, J>
Source§fn mul_assign(&mut self, tensor_rank_2: &TensorRank2<D, J, J>)
fn mul_assign(&mut self, tensor_rank_2: &TensorRank2<D, J, J>)
*= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> MulAssign<&f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> MulAssign<&f64> for TensorRank2<D, I, J>
Source§fn mul_assign(&mut self, tensor_rank_0: &TensorRank0)
fn mul_assign(&mut self, tensor_rank_0: &TensorRank0)
*= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> MulAssign<TensorRank2<D, J, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> MulAssign<TensorRank2<D, J, J>> for TensorRank2<D, I, J>
Source§fn mul_assign(&mut self, tensor_rank_2: TensorRank2<D, J, J>)
fn mul_assign(&mut self, tensor_rank_2: TensorRank2<D, J, J>)
*= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> MulAssign<f64> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> MulAssign<f64> for TensorRank2<D, I, J>
Source§fn mul_assign(&mut self, tensor_rank_0: TensorRank0)
fn mul_assign(&mut self, tensor_rank_0: TensorRank0)
*= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> Rank2 for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Rank2 for TensorRank2<D, I, J>
Source§type Transpose = TensorRank2<D, J, I>
type Transpose = TensorRank2<D, J, I>
Source§fn deviatoric(&self) -> Self
fn deviatoric(&self) -> Self
Source§fn deviatoric_and_trace(&self) -> (Self, TensorRank0)
fn deviatoric_and_trace(&self) -> (Self, TensorRank0)
Source§fn is_diagonal(&self) -> bool
fn is_diagonal(&self) -> bool
Source§fn is_identity(&self) -> bool
fn is_identity(&self) -> bool
Source§fn is_symmetric(&self) -> bool
fn is_symmetric(&self) -> bool
Source§fn squared_trace(&self) -> TensorRank0
fn squared_trace(&self) -> TensorRank0
Source§fn trace(&self) -> TensorRank0
fn trace(&self) -> TensorRank0
Source§fn second_invariant(&self) -> TensorRank0
fn second_invariant(&self) -> TensorRank0
Source§impl<const D: usize, const I: usize, const J: usize> Solution for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Solution for TensorRank2<D, I, J>
Source§fn decrement_from(&mut self, other: &Vector)
fn decrement_from(&mut self, other: &Vector)
Source§fn decrement_from_chained(&mut self, other: &mut Vector, vector: Vector)
fn decrement_from_chained(&mut self, other: &mut Vector, vector: Vector)
Source§fn decrement_from_retained(&mut self, _retained: &[bool], _other: &Vector)
fn decrement_from_retained(&mut self, _retained: &[bool], _other: &Vector)
Source§impl<const D: usize, const I: usize, const J: usize> Sub<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Sub<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
Source§impl<const D: usize, const I: usize, const J: usize> Sub<TensorRank2<D, I, J>> for &TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Sub<TensorRank2<D, I, J>> for &TensorRank2<D, I, J>
Source§type Output = TensorRank2<D, I, J>
type Output = TensorRank2<D, I, J>
- operator.Source§impl<const D: usize, const I: usize, const J: usize> SubAssign<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> SubAssign<&TensorRank2<D, I, J>> for TensorRank2<D, I, J>
Source§fn sub_assign(&mut self, tensor_rank_2: &Self)
fn sub_assign(&mut self, tensor_rank_2: &Self)
-= operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> SubAssign for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> SubAssign for TensorRank2<D, I, J>
Source§fn sub_assign(&mut self, tensor_rank_2: Self)
fn sub_assign(&mut self, tensor_rank_2: Self)
-= operation. Read more