pub struct OdeCallbacksMass<'a, M: Matrix>(/* private fields */);Expand description
The mass matrix of an OdeCallbacks.
Trait Implementations§
Source§impl<M: Matrix> LinearOp for OdeCallbacksMass<'_, M>
impl<M: Matrix> LinearOp for OdeCallbacksMass<'_, M>
Source§fn gemv_inplace(&self, x: &M::V, t: M::T, beta: M::T, y: &mut M::V)
fn gemv_inplace(&self, x: &M::V, t: M::T, beta: M::T, y: &mut M::V)
Compute the operator via a GEMV operation (i.e.
y = A(t) * x + beta * y)Source§fn matrix_inplace(&self, t: M::T, y: &mut M)
fn matrix_inplace(&self, t: M::T, y: &mut M)
Compute the matrix representation of the operator
A(t) and store it in the matrix y.
The default implementation of this method computes the matrix using Self::gemv_inplace,
but it can be overriden for more efficient implementations.fn sparsity(&self) -> Option<M::Sparsity>
Source§fn call_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V)
fn call_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V)
Compute the operator
y = A(t) * x at a given state and time, the default implementation uses Self::gemv_inplace.Source§fn matrix(&self, t: Self::T) -> Self::M
fn matrix(&self, t: Self::T) -> Self::M
Compute the matrix representation of the operator
A(t) and return it.
See Self::matrix_inplace for a non-allocating version.Source§fn _default_matrix_inplace(&self, t: Self::T, y: &mut Self::M)
fn _default_matrix_inplace(&self, t: Self::T, y: &mut Self::M)
Default implementation of the matrix computation, see Self::matrix_inplace.
Source§impl<M: Matrix> LinearOpTranspose for OdeCallbacksMass<'_, M>
impl<M: Matrix> LinearOpTranspose for OdeCallbacksMass<'_, M>
Source§fn gemv_transpose_inplace(&self, x: &M::V, t: M::T, beta: M::T, y: &mut M::V)
fn gemv_transpose_inplace(&self, x: &M::V, t: M::T, beta: M::T, y: &mut M::V)
Compute the transpose of the operator via a GEMV operation (i.e.
y = A(t)^T * x + beta * y)Source§fn transpose_inplace(&self, t: M::T, y: &mut M)
fn transpose_inplace(&self, t: M::T, y: &mut M)
Compute the matrix representation of the transpose of the operator
A(t)^T and store it in the matrix y.
The default implementation of this method computes the matrix using Self::gemv_transpose_inplace,
but it can be overriden for more efficient implementations.fn transpose_sparsity(&self) -> Option<M::Sparsity>
Source§fn call_transpose_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V)
fn call_transpose_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V)
Compute the transpose of the operator
y = A(t)^T * x at a given state and time, the default implementation uses Self::gemv_transpose_inplace.Source§fn _default_transpose_inplace(&self, t: Self::T, y: &mut Self::M)
fn _default_transpose_inplace(&self, t: Self::T, y: &mut Self::M)
Default implementation of the tranpose computation, see Self::transpose_inplace.
Source§impl<M: Matrix> Op for OdeCallbacksMass<'_, M>
impl<M: Matrix> Op for OdeCallbacksMass<'_, M>
type T = <M as MatrixCommon>::T
type V = <M as MatrixCommon>::V
type M = M
type C = <M as MatrixCommon>::C
Source§fn statistics(&self) -> OpStatistics
fn statistics(&self) -> OpStatistics
Return statistics about the operator (e.g. how many times it was called, how many times the jacobian was computed, etc.)
Auto Trait Implementations§
impl<'a, M> !RefUnwindSafe for OdeCallbacksMass<'a, M>
impl<'a, M> !Send for OdeCallbacksMass<'a, M>
impl<'a, M> !Sync for OdeCallbacksMass<'a, M>
impl<'a, M> !UnwindSafe for OdeCallbacksMass<'a, M>
impl<'a, M> Forget for OdeCallbacksMass<'a, M>
impl<'a, M> Freeze for OdeCallbacksMass<'a, M>where
&'a OdeCallbacks<M>: Freeze,
impl<'a, M> Unpin for OdeCallbacksMass<'a, M>where
&'a OdeCallbacks<M>: Unpin,
impl<'a, M> UnsafeUnpin for OdeCallbacksMass<'a, M>where
&'a OdeCallbacks<M>: UnsafeUnpin,
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
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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.