Trait ReplicatedLinearExecution
pub trait ReplicatedLinearExecution: Debug + Sync {
// Required methods
fn provider(&self) -> ExecutionProvider;
fn report(&self) -> ExecutionReport;
fn require_reduction(
&self,
policy: ReductionPolicy,
) -> Result<(), Diagnostic>;
fn apply(
&self,
operator: &dyn LinearOperator,
input: &[f64],
output: &mut [f64],
) -> Result<(), Diagnostic>;
fn inner_product(
&self,
action: FixedOrderInnerProduct<'_>,
) -> Result<f64, Diagnostic>;
}Description
Execution of complete host-local vectors under one resolved placement.
The mathematical operator, solver algorithm, and convergence policy remain separate. This trait is intentionally not a distributed-vector or device- residency abstraction.
Required Methods§
fn provider(&self) -> ExecutionProvider
fn provider(&self) -> ExecutionProvider
Stable identity and declared release/dependency inventory of this provider.
fn report(&self) -> ExecutionReport
fn report(&self) -> ExecutionReport
Placement evidence for every action performed through this execution.
fn require_reduction(&self, policy: ReductionPolicy) -> Result<(), Diagnostic>
fn require_reduction(&self, policy: ReductionPolicy) -> Result<(), Diagnostic>
Validate a floating-point reduction policy before numerical work.
§Errors
Returns EQ0807 when the execution cannot honor the selected policy.
fn apply(
&self,
operator: &dyn LinearOperator,
input: &[f64],
output: &mut [f64],
) -> Result<(), Diagnostic>
fn apply( &self, operator: &dyn LinearOperator, input: &[f64], output: &mut [f64], ) -> Result<(), Diagnostic>
Apply one operator under this placement.
§Errors
Returns a numerical or capability diagnostic from the execution or operator.
fn inner_product(
&self,
action: FixedOrderInnerProduct<'_>,
) -> Result<f64, Diagnostic>
fn inner_product( &self, action: FixedOrderInnerProduct<'_>, ) -> Result<f64, Diagnostic>
Evaluate the Eqiora-owned fixed-order inner-product action.
§Errors
Returns a numerical diagnostic for invalid shape, ordering, or finite arithmetic.