pub struct MatrixExpPlan { /* private fields */ }Expand description
Execution plan for the matrix exponential.
The plan pre-computes the Padé coefficients and kernel names, then generates PTX on demand.
Implementations§
Source§impl MatrixExpPlan
impl MatrixExpPlan
Sourcepub fn new(config: MatrixExpConfig) -> SolverResult<Self>
pub fn new(config: MatrixExpConfig) -> SolverResult<Self>
Creates a plan from a validated configuration.
Sourcepub fn pade_coefficients(&self) -> &[f64]
pub fn pade_coefficients(&self) -> &[f64]
Returns the Padé coefficients used by this plan.
Sourcepub fn generate_ptx(&self) -> SolverResult<String>
pub fn generate_ptx(&self) -> SolverResult<String>
Generates PTX source for the matrix exponential kernels.
The generated code contains multiple entry points:
- scale kernel — computes
A_scaled = A / 2^swheresis chosen so that||A_scaled|| <= theta. - Padé numerator/denominator kernels — evaluates the Padé
polynomial pair
P(A)andQ(A)using Horner’s method. - squaring kernel — repeated squaring
F = F^{2^s}via matrix multiply.
Trait Implementations§
Source§impl Clone for MatrixExpPlan
impl Clone for MatrixExpPlan
Source§fn clone(&self) -> MatrixExpPlan
fn clone(&self) -> MatrixExpPlan
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MatrixExpPlan
impl RefUnwindSafe for MatrixExpPlan
impl Send for MatrixExpPlan
impl Sync for MatrixExpPlan
impl Unpin for MatrixExpPlan
impl UnsafeUnpin for MatrixExpPlan
impl UnwindSafe for MatrixExpPlan
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