pub struct FromArrayResidual {
response: DMatrix<Complex>,
channels: Channels,
scattered: [DMatrix<Complex>; 2],
}Expand description
What from_array saves for its pullback: the response, the channel arrays and
the scattered fields.
Fields§
§response: DMatrix<Complex>§channels: Channels§scattered: [DMatrix<Complex>; 2]Implementations§
Source§impl FromArrayResidual
impl FromArrayResidual
Sourcepub fn shape(&self) -> (usize, usize)
pub fn shape(&self) -> (usize, usize)
The shape (n, n) of each scattering block, with n plane-wave modes in each
direction.
Sourcepub fn input_shape(&self) -> (usize, usize)
pub fn input_shape(&self) -> (usize, usize)
Multipole and plane-wave mode counts of the channel inputs.
Sourcepub fn pushforward(
&self,
response: &DMatrix<Complex>,
channels: &Channels,
) -> Result<Blocks>
pub fn pushforward( &self, response: &DMatrix<Complex>, channels: &Channels, ) -> Result<Blocks>
Apply response and channel tangents to the recorded scattered fields.
Sourcepub fn pullback(&self, cotangent: &Blocks) -> Result<FromArrayGradient>
pub fn pullback(&self, cotangent: &Blocks) -> Result<FromArrayGradient>
Effective-response and four-channel cotangents.
Trait Implementations§
Source§impl Debug for FromArrayResidual
impl Debug for FromArrayResidual
Source§impl SavedState for FromArrayResidual
impl SavedState for FromArrayResidual
Auto Trait Implementations§
impl Freeze for FromArrayResidual
impl RefUnwindSafe for FromArrayResidual
impl Send for FromArrayResidual
impl Sync for FromArrayResidual
impl Unpin for FromArrayResidual
impl UnwindSafe for FromArrayResidual
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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.