Skip to main content

Module psi_design_contract

Module psi_design_contract 

Source
Expand description

The neutral ψ (hyperparameter) design-derivative contract carriers and operator traits shared by the CustomFamily trait layer (gam-model-api) and the solver: the per-block ψ-derivative carrier, the matrix-free CustomFamilyPsiDerivativeOperator trait (+ its dense-materialization extension), and the joint-Hessian source-preference / materialization-intent enums.

These carry no dependency on the CustomFamily trait itself, so they live in the neutral gam-problem crate and are re-exported upward, keeping a single definition shared across crates.

Structs§

CustomFamilyBlockPsiDerivative

Enums§

JointHessianSourcePreference
MaterializationIntent
What the consumer is going to do with the joint Hessian. This is the intent half of #738’s capability-vs-representation split: the call site states what it needs, and the workspace picks the cheapest representation that serves that need (rather than a single per-workspace preference being applied uniformly regardless of how the result is consumed).

Traits§

CustomFamilyPsiDerivativeOperator
MaterializablePsiDerivativeOperator
Diagnostic / small-data extension that exposes dense materialization of \partial X / \partial \psi. Production exact-Hessian code MUST NOT depend on dense second-derivative materialization; second-order paths use the row-chunk and matvec methods on CustomFamilyPsiDerivativeOperator.

Type Aliases§

SharedDerivativeBlocks