Tarjan Block Lower Triangular (BLT) Transformation
Implementation: BltEngine in packages/runtime/src/wasm/structural/blt.ts
Academic Citations
- Tarjan, R. E. (1972). "Depth-first search and linear graph algorithms."
SIAM Journal on Computing, 1(2), pp. 146–160.
DOI: 10.1137/0201010 (Strongly Connected Components) - Hopcroft, J. E., & Karp, R. M. (1973). "An
algorithm for maximum matchings in bipartite graphs."
SIAM Journal on Computing, 2(4), pp. 225–231.
DOI: 10.1137/0202019 (Bipartite Matching) - Dulmage, A. L., & Mendelsohn, N. S. (1958). "Coverings of bipartite graphs."
Canadian Journal of Mathematics, 10, pp. 517–534.
DOI: 10.4153/CJM-1958-052-0 - Cellier, F. E., & Kofman, E. (2006). Continuous System Simulation.
Springer. ISBN: 978-0-387-26102-7
ModelScript Architectural Rationale
Flattening industrial physical systems results in coupled systems comprising thousands of equations and variables. Solving a monolithic non-linear algebraic system of size
The Block Lower Triangular (BLT) transformation permutes the equation and variable ordering so that the incidence matrix assumes a lower triangular block diagonal structure:
Most blocks
ModelScript Modifications & WASM Architecture
- Compressed Sparse Row (CSR) in Linear Memory: Bipartite incidence graphs are stored in contiguous
ChunkedInt32Arraybuffers (eqDepPtrs,eqDepVars). - Zero-Allocation Tarjan Traversal: Low-link values, depth indices, and traversal stacks operate strictly on 32-bit integer offsets in WebAssembly memory without object references.
- Integrated Maximum Matching: Hopcroft-Karp augmenting path search provides consistent equation-to-variable assignments for directed SCC analysis.
- Direct Bridge to Tearing: SCC blocks with dimension
pass directly to the in-WASM TornBlockengine.
Algorithm Description & Pipeline Flow
Rendering diagram...
Upstream & Downstream Pipeline Connections
- Upstream Inputs:
- Ingests index-reduced DAE systems from
PantelidesEngine.
- Ingests index-reduced DAE systems from
- Downstream Consumers:
- Trivial
blocks are lowered directly into sequence evaluation bytecode. - Coupled blocks (size
) are sent to TornBlockfor algebraic loop tearing. - Drives step evaluations in
SUNDIALS CVODE/IDAandTsit5.
- Trivial

