Advanced Topics
Advanced features covering optimization, symbolic rewriting, stochastic systems, and differentiable programming with JAX.
Gradient Optimization
Optimize circuit parameters using JAX automatic differentiation.
Circuit Search
Explore circuit structure space with greedy, beam, and genetic search.
Jacobian Computation
Sensitivity analysis and input-output dependencies.
Stream Calculus
Rutten-style stream calculus for solving differential equations.
Rewriting
Symbolic manipulation via pattern-matching rewrite rules.
Multi-Dimensional Streams
Working with 2D and higher-dimensional coefficient arrays.
Coupled SDEs
Systems of correlated stochastic differential equations.
JAX & JIT
JIT compilation, vmap, and GPU acceleration for circuits.
Engineering Examples
Real-world SDEs: thermal noise, population dynamics, control systems.
Overview
Asgard's advanced features span four areas:
- Optimization — Gradient-based parameter fitting and structure search over circuits
- Symbolic — Stream calculus evaluation and rewrite-rule manipulation
- Stochastic — Coupled SDE systems, multi-dimensional streams, and Monte Carlo analysis
- Performance — JAX JIT compilation and GPU acceleration
Quick Example
from gimle.asgard.circuit.circuit import Circuit
from gimle.asgard.circuit.circuit_optimizer import GradientBasedOptimizer
# Start with wrong parameter
initial_circuit = Circuit.from_string("scalar(1.0)")
# Optimize to fit data
optimizer = GradientBasedOptimizer(
learning_rate=0.01,
num_iterations=50,
)
optimized_circuit, loss_history = optimizer.optimize(
initial_circuit,
dataset,
verbose=True,
)
# Result: scalar(3.0) - converged to target!
Next Steps
- Gradient Optimization - Parameter fitting with JAX autodiff
- Circuit Search - Structure optimization
- Jacobian Computation - Sensitivity analysis
- Stream Calculus - Coefficient-by-coefficient evaluation
- Rewriting - Symbolic manipulation
- Multi-Dimensional Streams - 2D+ coefficient arrays
- Coupled SDEs - Multi-equation stochastic systems
- JAX & JIT - Performance optimization
- Engineering Examples - Real-world applications