| name | math-model-selector |
| description | Routes problems to appropriate mathematical frameworks using expert heuristics |
Math Model Selector
When to Use
Trigger on phrases like:
- "what math should I use"
- "which mathematical framework"
- "how do I model this"
- "what kind of problem is this"
- "formalize this problem"
Use when user has a problem but doesn't know which mathematical domain applies.
Process
Guide user through decision tree using Polya-style questions:
1. Identify the quantity
Ask: "What quantity or phenomenon are you trying to understand?"
- Physics problem -> conservation laws, differential equations
- Economics -> equilibrium, optimization
- Data patterns -> statistics, regression
2. Characterize change
Ask: "What changes, and how does it change?"
- Discrete steps -> difference equations, recurrences
- Continuous rate -> ODEs
- Rate of rate matters -> 2nd order ODEs
- Spatial variation -> PDEs
3. Check for uncertainty
Ask: "Is there randomness or uncertainty involved?"
- Deterministic -> standard analysis
- Epistemic uncertainty -> Bayesian methods
- Random process -> probability theory, stochastic processes
4. Optimization check
Ask: "Are you optimizing something?"
- Convex objective -> linear/quadratic programming
- Non-convex -> gradient descent, evolutionary methods
- Discrete choices -> combinatorics, integer programming
5. Answer precision
Ask: "What level of answer do you need?"
- Rough estimate -> dimensional analysis
- Qualitative behavior -> phase portraits, stability
- Numerical answer -> simulation
- Exact closed form -> analytical methods
Key Questions to Ask
- What changes? (discrete vs continuous)
- What causes the change? (rate dependencies)
- What's random? (uncertainty type)
- What's being optimized? (objective function)
- How precise? (qualitative vs quantitative)
Output Format
Framework Recommendation:
- Primary: [framework name]
- Why: [one-sentence justification]
Starting Point:
- Key equations: [relevant formulas]
- Initial approach: [first step]
Tools to Use:
- [specific script or computation tool]
Related Skills:
- [domain skill to activate next]
Example Interaction
User: I want to model how a rumor spreads through a population
Claude: Let me help you find the right framework.
Q1: What quantity are we tracking?
> Number of people who heard the rumor over time.
Q2: What causes it to change?
> Spread rate depends on who knows and who doesn't.
Q3: Is there randomness?
> Assume deterministic (average behavior) for now.
Q4: Optimizing anything?
> No, just understanding dynamics.
Q5: What precision?
> Qualitative behavior, maybe predict peak rate.
Framework Recommendation:
- Primary: First-order ODE (logistic growth)
- Why: Rate depends on current state nonlinearly
Starting Point:
- dN/dt = r * N * (1 - N/K)
- N = heard count, K = population, r = spread rate
Tools:
- sympy_compute.py solve (equilibrium)
- Phase line for qualitative behavior
Related Skills:
- math/math-intuition-builder (understand the model)
- odes-pdes/first-order-odes (solve it)
Co-activates
After framework selection, suggest:
- math-intuition-builder - to understand the framework
- Relevant domain skill - for actual computation
- math-mode - for symbolic verification