pub type RightCauchyGreenDeformation = TensorRank2<3, 0, 0>;
Expand description
The right Cauchy-Green deformation .
Aliased Type§
struct RightCauchyGreenDeformation(/* private fields */);
Implementations
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 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 dyad(vector_a: &TensorRank1<D, I>, vector_b: &TensorRank1<D, J>) -> Self
pub fn dyad(vector_a: &TensorRank1<D, I>, vector_b: &TensorRank1<D, J>) -> Self
Returns a rank-2 tensor constructed from a dyad of the given vectors.
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>)
pub fn lu_decomposition(&self) -> (TensorRank2<D, I, 88>, TensorRank2<D, 88, J>)
Returns the LU decomposition of the rank-2 tensor.
Sourcepub fn lu_decomposition_inverse(
&self,
) -> (TensorRank2<D, 88, I>, TensorRank2<D, J, 88>)
pub fn lu_decomposition_inverse( &self, ) -> (TensorRank2<D, 88, I>, TensorRank2<D, J, 88>)
Returns the inverse of the LU decomposition of the rank-2 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> 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)
Performs the
+=
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)
Performs the
+=
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>
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<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>
The resulting type after applying the
/
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>
The resulting type after applying the
/
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>
The resulting type after applying the
/
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)
Performs the
/=
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)
Performs the
/=
operation. Read moreSource§impl From<TensorRank2<3, 0, 1>> for TensorRank2<3, 0, 0>
impl From<TensorRank2<3, 0, 1>> for TensorRank2<3, 0, 0>
Source§fn from(tensor_rank_2: TensorRank2<3, 0, 1>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 0, 1>) -> Self
Converts to this type from the input type.
Source§impl From<TensorRank2<3, 1, 0>> for TensorRank2<3, 0, 0>
impl From<TensorRank2<3, 1, 0>> for TensorRank2<3, 0, 0>
Source§fn from(tensor_rank_2: TensorRank2<3, 1, 0>) -> Self
fn from(tensor_rank_2: TensorRank2<3, 1, 0>) -> Self
Converts to this type from the input type.
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
Creates a value from an iterator. Read more
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 is_positive_definite(&self) -> bool
fn is_positive_definite(&self) -> bool
Checks whether the Hessian is positive-definite.
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> 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>
The resulting type after applying the
*
operator.Source§impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<&TensorRank1List<D, J, W>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<&TensorRank1List<D, J, W>> for TensorRank2<D, I, J>
Source§type Output = TensorRank1List<D, I, W>
type Output = TensorRank1List<D, I, W>
The resulting type after applying the
*
operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<&TensorRank1Vec<D, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<&TensorRank1Vec<D, J>> for TensorRank2<D, I, J>
Source§type Output = TensorRank1Vec<D, I>
type Output = TensorRank1Vec<D, I>
The resulting type after applying the
*
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>
The resulting type after applying the
*
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>
The resulting type after applying the
*
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>
The resulting type after applying the
*
operator.Source§impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<TensorRank1List<D, J, W>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const W: usize> Mul<TensorRank1List<D, J, W>> for TensorRank2<D, I, J>
Source§type Output = TensorRank1List<D, I, W>
type Output = TensorRank1List<D, I, W>
The resulting type after applying the
*
operator.Source§impl<const D: usize, const I: usize, const J: usize> Mul<TensorRank1Vec<D, J>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Mul<TensorRank1Vec<D, J>> for TensorRank2<D, I, J>
Source§type Output = TensorRank1Vec<D, I>
type Output = TensorRank1Vec<D, I>
The resulting type after applying the
*
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>
The resulting type after applying the
*
operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize, const W: usize, const X: usize> Mul<TensorRank2List2D<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<TensorRank2List2D<D, J, K, W, X>> for TensorRank2<D, I, J>
Source§type Output = TensorRank2List2D<D, I, K, W, X>
type Output = TensorRank2List2D<D, I, K, W, X>
The resulting type after applying the
*
operator.Source§impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2Vec2D<D, J, K>> for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize, const K: usize> Mul<TensorRank2Vec2D<D, J, K>> for TensorRank2<D, I, J>
Source§type Output = TensorRank2Vec2D<D, I, K>
type Output = TensorRank2Vec2D<D, I, K>
The resulting type after applying the
*
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>
The resulting type after applying the
*
operator.Source§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)
Performs the
*=
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)
Performs the
*=
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>
The type that is the transpose of the tensor.
Source§fn cholesky_decomposition(&self) -> Result<TensorRank2<D, I, J>, TensorError>
fn cholesky_decomposition(&self) -> Result<TensorRank2<D, I, J>, TensorError>
Returns the Cholesky decomposition of the rank-2 tensor.
Source§fn deviatoric(&self) -> Self
fn deviatoric(&self) -> Self
Returns the deviatoric component of the rank-2 tensor.
Source§fn deviatoric_and_trace(&self) -> (Self, TensorRank0)
fn deviatoric_and_trace(&self) -> (Self, TensorRank0)
Returns the deviatoric component and trace of the rank-2 tensor.
Source§fn is_diagonal(&self) -> bool
fn is_diagonal(&self) -> bool
Checks whether the tensor is a diagonal tensor.
Source§fn is_identity(&self) -> bool
fn is_identity(&self) -> bool
Checks whether the tensor is the identity tensor.
Source§fn squared_trace(&self) -> TensorRank0
fn squared_trace(&self) -> TensorRank0
Returns the trace of the rank-2 tensor squared.
Source§fn trace(&self) -> TensorRank0
fn trace(&self) -> TensorRank0
Returns the trace of the rank-2 tensor.
Source§fn second_invariant(&self) -> TensorRank0
fn second_invariant(&self) -> TensorRank0
Returns the second invariant of the rank-2 tensor.
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> 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)
Performs the
-=
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)
Performs the
-=
operation. Read moreSource§impl<const D: usize, const I: usize, const J: usize> Tensor for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> Tensor for TensorRank2<D, I, J>
Source§type Item = TensorRank1<D, J>
type Item = TensorRank1<D, J>
The type of item encountered when iterating over the tensor.
Source§fn iter_mut(&mut self) -> impl Iterator<Item = &mut Self::Item>
fn iter_mut(&mut self) -> impl Iterator<Item = &mut Self::Item>
Returns an iterator that allows modifying each value. Read more
Source§fn full_contraction(&self, tensor: &Self) -> TensorRank0
fn full_contraction(&self, tensor: &Self) -> TensorRank0
Returns the full contraction with another tensor.
Source§fn get_at(&self, _indices: &[usize]) -> &TensorRank0
fn get_at(&self, _indices: &[usize]) -> &TensorRank0
Returns a reference to the entry at the specified indices.
Source§fn get_at_mut(&mut self, _indices: &[usize]) -> &mut TensorRank0
fn get_at_mut(&mut self, _indices: &[usize]) -> &mut TensorRank0
Returns a mutable reference to the entry at the specified indices.
Source§fn norm(&self) -> TensorRank0
fn norm(&self) -> TensorRank0
Returns the tensor norm.
Source§fn norm_squared(&self) -> TensorRank0
fn norm_squared(&self) -> TensorRank0
Returns the tensor norm squared.
Source§fn normalized(self) -> Self
fn normalized(self) -> Self
Returns the tensor normalized.
Source§impl<const D: usize, const I: usize, const J: usize> TensorArray for TensorRank2<D, I, J>
impl<const D: usize, const I: usize, const J: usize> TensorArray for TensorRank2<D, I, J>
Source§type Item = TensorRank1<D, J>
type Item = TensorRank1<D, J>
The type of item encountered when iterating over the tensor.