Struct diffsol::op::unit::UnitCallable
source · pub struct UnitCallable<M: Matrix> { /* private fields */ }
Expand description
A dummy operator that returns the input vector. Can be used either as a NonLinearOp or LinearOp.
Implementations§
Trait Implementations§
source§impl<M: Matrix> Default for UnitCallable<M>
impl<M: Matrix> Default for UnitCallable<M>
source§impl<M: Matrix> LinearOp for UnitCallable<M>
impl<M: Matrix> LinearOp for UnitCallable<M>
source§fn gemv_inplace(&self, x: &Self::V, _t: Self::T, beta: Self::T, y: &mut Self::V)
fn gemv_inplace(&self, x: &Self::V, _t: Self::T, beta: Self::T, y: &mut Self::V)
Computer the operator via a GEMV operation (i.e.
y = t * A * x + beta * y
)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 at a given state and time
source§fn matrix(&self, t: Self::T) -> Self::M
fn matrix(&self, t: Self::T) -> Self::M
Compute the matrix representation of the operator and return it.
source§fn matrix_inplace(&self, t: Self::T, y: &mut Self::M)
fn matrix_inplace(&self, t: Self::T, y: &mut Self::M)
Compute the matrix representation of the operator and store it in the matrix
y
.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.
source§impl<M: Matrix> NonLinearOp for UnitCallable<M>
impl<M: Matrix> NonLinearOp for UnitCallable<M>
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 at a given state and time.
source§fn jac_mul_inplace(
&self,
_x: &Self::V,
_t: Self::T,
v: &Self::V,
y: &mut Self::V
)
fn jac_mul_inplace( &self, _x: &Self::V, _t: Self::T, v: &Self::V, y: &mut Self::V )
Compute the product of the Jacobian with a given vector.
source§fn call(&self, x: &Self::V, t: Self::T) -> Self::V
fn call(&self, x: &Self::V, t: Self::T) -> Self::V
Compute the operator at a given state and time, and return the result.
source§fn jac_mul(&self, x: &Self::V, t: Self::T, v: &Self::V) -> Self::V
fn jac_mul(&self, x: &Self::V, t: Self::T, v: &Self::V) -> Self::V
Compute the product of the Jacobian with a given vector, and return the result.
source§fn jacobian_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::M)
fn jacobian_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::M)
Compute the Jacobian of the operator and store it in the matrix
y
.
y
should have been previously initialised using the output of Op::sparsity
.source§impl<M: Matrix> Op for UnitCallable<M>
impl<M: Matrix> Op for UnitCallable<M>
type T = <M as MatrixCommon>::T
type V = <M as MatrixCommon>::V
type M = M
source§fn set_params(&mut self, p: Rc<Self::V>)
fn set_params(&mut self, p: Rc<Self::V>)
Set the parameters of the operator to the given value.
source§fn sparsity(&self) -> Option<&<Self::M as Matrix>::Sparsity>
fn sparsity(&self) -> Option<&<Self::M as Matrix>::Sparsity>
Return sparsity information for the jacobian or matrix (if available)
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<M> Freeze for UnitCallable<M>
impl<M> RefUnwindSafe for UnitCallable<M>where
M: RefUnwindSafe,
impl<M> Send for UnitCallable<M>where
M: Send,
impl<M> Sync for UnitCallable<M>where
M: Sync,
impl<M> Unpin for UnitCallable<M>where
M: Unpin,
impl<M> UnwindSafe for UnitCallable<M>where
M: UnwindSafe,
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<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.