Back to Eqiora docs Skip to main content

ReplicatedLinearExecution

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

Stable identity and declared release/dependency inventory of this provider.

fn report(&self) -> ExecutionReport

Placement evidence for every action performed through this execution.

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>

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>

Evaluate the Eqiora-owned fixed-order inner-product action.

§Errors

Returns a numerical diagnostic for invalid shape, ordering, or finite arithmetic.

Implementors§