Product documentation — installation, licensing, and integration guides.
SolvLRDE
Examples
12 SolvLRDE-Specialty

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 relaxationRates OU or xVA inner loops → Pricing
Custom linear propagator outside other verticalsPower-network segments → Grid
Terminal occupancy/probability at TNonlinear state dynamics → SolvSRK

Typical production integration

  • Operator: generator Q with 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).

FieldValueNotes
survivedTrue
statusok
y[0.0762557, 0.0876566]
n_talbot_used32
n_solves32
nu_used0.6
contour_scale1.6
wall_s0
probability_mass_sum0.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.

Navigation

← Journey 11 — SolvLRDE-Thermal