pub struct EmbeddedImplicitPsiDerivativeOperator { /* private fields */ }Implementations§
Source§impl EmbeddedImplicitPsiDerivativeOperator
impl EmbeddedImplicitPsiDerivativeOperator
pub fn new( base: Arc<ImplicitDesignPsiDerivative>, global_range: Range<usize>, total_p: usize, ) -> Result<EmbeddedImplicitPsiDerivativeOperator, String>
pub fn embed_vector( &self, local: ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, ) -> ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>
pub fn local_coeffs( &self, u: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, context: &str, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
Trait Implementations§
Source§impl CustomFamilyPsiDerivativeOperator for EmbeddedImplicitPsiDerivativeOperator
impl CustomFamilyPsiDerivativeOperator for EmbeddedImplicitPsiDerivativeOperator
fn as_any(&self) -> &(dyn Any + 'static)
fn n_data(&self) -> usize
fn p_out(&self) -> usize
fn transpose_mul( &self, axis: usize, v: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
fn forward_mul( &self, axis: usize, u: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
fn transpose_mul_second_diag( &self, axis: usize, v: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
fn transpose_mul_second_cross( &self, axis_d: usize, axis_e: usize, v: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
fn forward_mul_second_diag( &self, axis: usize, u: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
fn forward_mul_second_cross( &self, axis_d: usize, axis_e: usize, u: &ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>, BasisError>
fn row_chunk_first( &self, axis: usize, rows: Range<usize>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, BasisError>
Source§fn row_vector_first_into(
&self,
axis: usize,
row: usize,
out: ArrayBase<ViewRepr<&mut f64>, Dim<[usize; 1]>>,
) -> Result<(), BasisError>
fn row_vector_first_into( &self, axis: usize, row: usize, out: ArrayBase<ViewRepr<&mut f64>, Dim<[usize; 1]>>, ) -> Result<(), BasisError>
Single-row specialization of
row_chunk_first. Default implementation
delegates to row_chunk_first(axis, row..row+1) and copies the
resulting row into the output buffer; implementations that can avoid
the temporary matrix allocation should override this method.fn row_chunk_second_diag( &self, axis: usize, rows: Range<usize>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, BasisError>
fn row_chunk_second_cross( &self, axis_d: usize, axis_e: usize, rows: Range<usize>, ) -> Result<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, BasisError>
Source§fn as_materializable(
&self,
) -> Option<&(dyn MaterializablePsiDerivativeOperator + 'static)>
fn as_materializable( &self, ) -> Option<&(dyn MaterializablePsiDerivativeOperator + 'static)>
Optional upcast to the dense materialization surface. Production exact
paths should prefer the analytic matvec / row-chunk methods above and
avoid forming the full derivative matrix; implementations that do
support dense materialization (used by diagnostics, tests, and
small-data fallbacks) should override this to return
Some(self).Auto Trait Implementations§
impl Freeze for EmbeddedImplicitPsiDerivativeOperator
impl RefUnwindSafe for EmbeddedImplicitPsiDerivativeOperator
impl Send for EmbeddedImplicitPsiDerivativeOperator
impl Sync for EmbeddedImplicitPsiDerivativeOperator
impl Unpin for EmbeddedImplicitPsiDerivativeOperator
impl UnsafeUnpin for EmbeddedImplicitPsiDerivativeOperator
impl UnwindSafe for EmbeddedImplicitPsiDerivativeOperator
Blanket Implementations§
impl<T> Allocation for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.