Journey 12 — SolvLRDE-Specialty
License token: specialty · Product name: SolvLRDE-Specialty (resonix-specialty)
See also: Vertical SKUs overview · Licensing
What this SKU is for
SolvLRDE-Specialty is the catch-all licensed vertical for reliability engineering, queueing theory, and bespoke simulation teams whose models are linear generator systems that do not fit the Grid, Pricing, Control, Climate, or Thermal narratives — but still obey y' = Q y with constant generator Q over the analysis window.
The engineering problem
Continuous-time Markov chains (CTMCs), reliability models, and custom relaxation systems share dp/dt = Q p with generator rows summing to zero (Q_ii = -sum_{j!=i} Q_ij). You hold transition rates in Q, an initial probability (or occupancy) vector p0, and need state probabilities at horizon T — not a dense time history of every transient. Examples: operational vs degraded equipment states, multi-state repair models, queue relaxation approximations, custom propagators in specialty simulation codes.
Why Specialty exists (and why LRDE fits)
Grid targets EMTP companions; Pricing targets term-structure and quant PDE kernels; Control targets LTI plants. Specialty covers everything else linear where you already have Q (or A) and a terminal-time query. Same solve() API — different procurement and support boundary. Validate small systems against matrix exponentials before scaling dimension.
Who should buy Specialty (not another SKU)
| Choose Specialty when… | Choose something else when… |
|---|---|
| Generator-matrix CTMC / reliability / queue relaxation | Rates OU or xVA inner loops → Pricing |
| Custom linear propagator outside other verticals | Power-network segments → Grid |
Terminal occupancy/probability at T | Nonlinear state dynamics → SolvSRK |
Typical production integration
- Operator: generator
Qwith non-positive diagonal (row sums zero for closed systems). - State: probability vector
p0(non-negative, sums to 1 for closed CTMCs). - Query:
p_T = solve(Q, p0, T)["y"]; check probability mass conservation for closed systems. - License gate:
solvlrde.license_has_sku("specialty")on reliability/custom paths.
This walkthrough
Prerequisites: Core journeys 01–06 complete.
Scenario: Queues, reliability CTMCs, and bespoke linear propagators share the same API: constant generator matrix A, state probabilities y0, horizon T.
Key APIs
solvlrde.solve()CTMC generator Q
Concepts to internalize
- SolvLRDE-Specialty — resonix-specialty SKU.
- Probability mass — rows should sum to 1 at terminal time.
- Catch-all vertical — queues, reliability, custom linear where Pricing/Grid do not fit.
Important code
The guided tour script wraps this pattern. Copy the production shape into your pipeline:
Q = np.array([[-0.5, 0.2], [0.5, -0.7]]) # generator
probs = lrde.solve(Q, [1.0, 0.0], T=8.0)['y']Act-by-act walkthrough
Act 1 — Specialty linear workflows
Queues, reliability CTMCs, and bespoke linear propagators share the same API: constant generator matrix A, state probabilities y0, horizon T.
Act 2 — Operational vs degraded
Two-state CTMC: operational (index 0) and degraded (index 1). Generator Q has negative row sums. We solve y' = Q y for state probabilities at T=8 (time units are yours to define).
| Field | Value | Notes |
|---|---|---|
survived | True | |
status | ok | |
y | [0.0762557, 0.0876566] | |
n_talbot_used | 32 | |
n_solves | 32 | |
nu_used | 0.6 | |
contour_scale | 1.6 | |
wall_s | 0 | |
probability_mass_sum | 0.163912 |
Act 3 — When to use Specialty vs Pricing
Pricing SKU targets term-structure and PDE pricing kernels. Specialty covers everything else linear — reliability, custom CTMCs, queue relaxation models — where you already hold A.
Guided tour output
Verified console capture from sku_specialty.py:
-- Act 1 - Specialty linear workflows --
-> Queues, reliability CTMCs, and bespoke linear propagators share the same API: constant generator matrix A, state probabilities y0, horizon T.
-- Act 2 - Operational vs degraded --
-> Two-state CTMC: operational (index 0) and degraded (index 1). Generator Q has negative row sums. We solve y' = Q y for state probabilities at T=8 (time units are yours to define).
survived: True
status: ok
y: [0.0762557, 0.0876566]
n_talbot_used: 32
n_solves: 32
nu_used: 0.6
contour_scale: 1.6
wall_s: 0
probability_mass_sum: 0.163912
-- Act 3 - When to use Specialty vs Pricing --
-> Pricing SKU targets term-structure and PDE pricing kernels. Specialty covers everything else linear — reliability, custom CTMCs, queue relaxation models — where you already hold A.
-- Run complete --
next_journey: (end — see examples/SKU_PROGRESSION.md)Run it
cd python
# Guided tour — narrated scenario walkthrough (recommended first run):
python examples/skus/sku_specialty.py
# Production one-liner — same API call you ship:
python -c "import solvlrde,numpy as np;A=np.array([[-0.5,0.2],[0.5,-0.7]]);print(solvlrde.solve(A,[1.,0.],T=8.)['y'])"What comes next
Return to APPLICATIONS.md (opens in a new tab) for production integration patterns.