Developer reference
Use this page as a guide to AutoLyap internals. It is intended for contributors implementing or refactoring core behavior.
Internal APIs can change without deprecation. For stable contracts, use the public docs first.
Start here
Read Internal problem-class modules to understand interpolation-condition data contracts.
Read Internal algorithm modules to see how algorithm steps are lifted into matrix objects.
Read Internal analysis and solver modules to follow SDP assembly and solver execution.
Use Internal utility modules as the shared helper reference across all layers.
Documentation map
Public docs (stable API)
If you need to… |
Go to… |
|---|---|
Define interpolation-based inclusion problems |
|
Select and configure algorithms |
|
Run convergence analyses |
|
Configure solver backends |
Internal docs (implementation details)
If you need to… |
Go to… |
|---|---|
Work on SDP assembly and solver option normalization |
|
Modify the internal |
|
Change interpolation-condition internals, indices, or inclusion-problem assembly |
|
Reuse validators, matrix helpers, or backend typing protocols |
Architecture at a glance
Layer |
Core modules |
What it owns |
|---|---|---|
Problem definitions |
Interpolation conditions, index semantics, and component validation. |
|
Algorithm lifting |
|
Conversion of updates into lifted matrix objects ( |
Analysis assembly |
|
Construction and solving of SDP certificates from problem and algorithm structure. |
Backend normalization |
One-pass normalization of solver options before backend-specific calls. |
|
Shared utilities |
Validation helpers, matrix helpers, and backend protocol types. |
Common extension tasks
Task |
Primary entry point |
Keep in mind |
|---|---|---|
Add a new algorithm |
Implement required matrix/projection accessors consistently. |
|
Add a new interpolation condition |
|
Follow the existing |
Add or modify analysis workflows |
|
Preserve solver-backend parity across supported backends. |
Add validation or backend typing logic |
Keep shared checks centralized; avoid per-module duplication. |
Invariants and common pitfalls
Interpolation indices exposed to users are 1-based and strictly validated.
Keep matrix dimensions aligned across
Y,P, and interpolation blocks; shape drift usually appears as SDP assembly failures.Normalize solver options exactly once via
autolyap.solver_options._normalize_solver_options()before backend-specific solve calls.Keep numeric checks in shared validation helpers instead of duplicating them inside algorithm or condition modules.