mhtirogla
Home
Systems
API
Pricing
About
Log in
← Back
Home
›
Systems
›
Chemistry and materials
battery-sim
battery electrochemistry modelling
PyBaMM
System
Techniques · 20
Primitives · 40
battery-sim
JIT compilation
compilers · medium: Run cold code in a cheap tier, count executions, and compile only what gets hot, trading warm-up time and memory for peak speed.
›
Term rewriting
compilers · medium: Rewrite systems with pattern matching, confluence and termination orders
Battery state estimation
embedded · medium: State of charge / health / power from coulomb counting, OCV curves and model-based observers
Equivalent circuit battery model
embedded · medium: Thevenin RC-network battery models with OCV-SoC curves and parameter identification
Bayesian optimization
ml-training · medium: Surrogate model plus acquisition function (EI, UCB) to choose the next expensive evaluation
Finite volume method
numerics · medium: Conservative cell-averaged discretization with numerical fluxes on structured and unstructured meshes
Levenberg marquardt
numerics · medium: Damped Gauss-Newton nonlinear least squares for model calibration
Extended Kalman filter
robotics · low: Kalman filter for nonlinear motion and measurement models: linearize f and h with Jacobians at the current estimate each step. The default estimator in robot navigation.
›
Cc cv charging
embedded · low: Constant-current then constant-voltage Li-ion charging with temperature derating and termination
Python
languages · low: The fastest language to write and the home of ML and data science; slow as an interpreter, fast when C/CUDA libraries do the work.
›
Reverse-mode automatic differentiat…
ml-training · low: Record the forward computation on a tape, then sweep it backwards once to get the gradient of a scalar loss for all inputs.
›
Newton root finding
numerics · low: Linearize at the guess and jump to the tangent root; quadratic convergence near a simple root, made robust by brackets (1D) or line search.
›
Stiff solvers (implicit, BDF)
numerics · low: Implicit steps solve a small nonlinear system so fast decaying modes stay stable at any step size; BDF methods are the stiff-ODE workhorse.
›
Bytecode interpreter
compilers · low: Register/stack VM dispatch loop for executing compiled plans or rules (SQLite VDBE, nftables)
Executable memory under W^X
compilers · low: How JITs and code generators emit machine code under W^X: RW to RX flips, dual mappings, per-thread write toggles, and the instruction-cache flush.
›
Machine code emission
compilers · low: Encode instructions to bytes for x86-64 and AArch64, branch relaxation, constant pools
SSA form
compilers · low: Give every variable exactly one definition, merging at joins with phi functions; def-use becomes explicit and optimizations turn sparse and cheap.
›
Tree pattern matching
compilers · low: Matching AST patterns with metavariables
Unification
compilers · low: First-order unification with union-find and occurs check; basis of type inference and logic programming
Hash consing
data-structures · low: Intern structurally equal immutable terms so equality is pointer comparison and sharing is maximal
Spline interpolation
numerics · low: Linear, bilinear/trilinear and cubic spline interpolation on grids and tables
Explicit Euler
numerics · low: Step an ODE forward by its current slope, y += h·f(t, y); first-order, one evaluation per step, the baseline every other integrator is measured against.
›
Gaussian processes
machine-learning · low: GP regression with kernels: posterior mean/variance via Cholesky, hyperparameters by marginal likelihood
+ 13 more techniques
+ 24 more primitives
System
Techniques · 20
Primitives · 40
battery-sim
JIT compilation
compilers · medium: Run cold code in a cheap tier, count executions, and compile only what gets hot, trading warm-up time and memory for peak speed.
›
Term rewriting
compilers · medium: Rewrite systems with pattern matching, confluence and termination orders
Battery state estimation
embedded · medium: State of charge / health / power from coulomb counting, OCV curves and model-based observers
Equivalent circuit battery model
embedded · medium: Thevenin RC-network battery models with OCV-SoC curves and parameter identification
Bayesian optimization
ml-training · medium: Surrogate model plus acquisition function (EI, UCB) to choose the next expensive evaluation
Finite volume method
numerics · medium: Conservative cell-averaged discretization with numerical fluxes on structured and unstructured meshes
Levenberg marquardt
numerics · medium: Damped Gauss-Newton nonlinear least squares for model calibration
Sparse direct solver
numerics · medium: Solve sparse Ax = b exactly by reordering, symbolic analysis, numeric LLᵀ/LU and triangular solves; fill-in, not flops per entry, decides the cost.
›
System identification
robotics · medium: Fit dynamic models (ARX, state space) from measured input and output data
Deoptimization
compilers · medium: Speculate with guards, and on failure rebuild the slow-tier frames from compile-time metadata and resume there, so optimized code may assume the common case.
›
Inline caches
compilers · medium: Per-call-site cache of "this object shape, that slot or target", turning dynamic property and method lookup into a compare and a load.
›
Instruction selection
compilers · medium: Cover the IR with target instruction patterns at least cost; greedy maximal munch is simple, dynamic programming over a tree or DAG is optimal.
›
Register allocation
compilers · medium: Map unlimited virtual registers onto a few machine registers, spilling the rest to the stack; linear scan is fast, graph coloring and splitting allocators give better code.
›
Fill-reducing ordering
numerics · medium: Permute a sparse symmetric matrix before Cholesky/LU so the factor has few new nonzeros; minimum degree, nested dissection and RCM trade quality, speed and parallelism.
›
Flux limiters upwinding
numerics · medium: Upwind schemes, TVD flux limiters, MUSCL and Riemann solvers for shock-capturing advection
Dataflow analysis
compilers · medium: Compute a fact per program point (live variables, reaching definitions, available expressions) by iterating transfer functions over the CFG to a fixed point.
›
Stack unwinding
compilers · medium: Frame-pointer, DWARF CFI and compact unwinding of call stacks
Graph coloring
graphs · medium: Greedy/DSatur colouring for conflict-free assignment such as radio channels
Graph partitioning
graphs · medium: Split a graph into k balanced parts with few edges between them; multilevel coarsen-partition-refine (METIS, KaHIP) for quality, streaming heuristics (LDG, Fennel) for one-pass scale.
›
Debug info (DWARF)
compilers · medium: DWARF stores a tree of typed entries (DIEs), a line-number bytecode, unwind tables and location expressions that map machine state back to source; pick it for ELF/Mach-O debug builds.
›
Extended Kalman filter
robotics · low: Kalman filter for nonlinear motion and measurement models: linearize f and h with Jacobians at the current estimate each step. The default estimator in robot navigation.
›
Cc cv charging
embedded · low: Constant-current then constant-voltage Li-ion charging with temperature derating and termination
Python
languages · low: The fastest language to write and the home of ML and data science; slow as an interpreter, fast when C/CUDA libraries do the work.
›
Reverse-mode automatic differentiat…
ml-training · low: Record the forward computation on a tape, then sweep it backwards once to get the gradient of a scalar loss for all inputs.
›
Newton root finding
numerics · low: Linearize at the guess and jump to the tangent root; quadratic convergence near a simple root, made robust by brackets (1D) or line search.
›
Stiff solvers (implicit, BDF)
numerics · low: Implicit steps solve a small nonlinear system so fast decaying modes stay stable at any step size; BDF methods are the stiff-ODE workhorse.
›
Bytecode interpreter
compilers · low: Register/stack VM dispatch loop for executing compiled plans or rules (SQLite VDBE, nftables)
Executable memory under W^X
compilers · low: How JITs and code generators emit machine code under W^X: RW to RX flips, dual mappings, per-thread write toggles, and the instruction-cache flush.
›
Machine code emission
compilers · low: Encode instructions to bytes for x86-64 and AArch64, branch relaxation, constant pools
SSA form
compilers · low: Give every variable exactly one definition, merging at joins with phi functions; def-use becomes explicit and optimizations turn sparse and cheap.
›
Tree pattern matching
compilers · low: Matching AST patterns with metavariables
Unification
compilers · low: First-order unification with union-find and occurs check; basis of type inference and logic programming
Hash consing
data-structures · low: Intern structurally equal immutable terms so equality is pointer comparison and sharing is maximal
Spline interpolation
numerics · low: Linear, bilinear/trilinear and cubic spline interpolation on grids and tables
Explicit Euler
numerics · low: Step an ODE forward by its current slope, y += h·f(t, y); first-order, one evaluation per step, the baseline every other integrator is measured against.
›
Gaussian processes
machine-learning · low: GP regression with kernels: posterior mean/variance via Cholesky, hyperparameters by marginal likelihood
L-BFGS
numerics · low: Quasi-Newton minimizer that approximates the inverse Hessian from the last m gradient differences via the two-loop recursion; O(m·n) memory and work per step.
›
LU and Cholesky factorization
numerics · low: Factor A = PLU (any square matrix, partial pivoting) or A = LLᵀ (SPD) once in O(n³), then solve each right-hand side in O(n²).
›
Sparse matrices (CSR)
numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.
›
Unstructured mesh representation
numerics · low: Cell-face-node connectivity in CSR form for FEM and FVM meshes; partition-friendly ordering
Finite differences
numerics · low: Replace derivatives with weighted differences of grid values; simple stencils plus a stability condition (CFL) turn PDEs like heat, advection and waves into array loops.
›
Linear and logistic regression
machine-learning · low: Fit a weighted sum of features to a number (least squares) or a probability (logistic); the baseline every model must beat.
›
Fast Fourier transform
numerics · low: Computes the DFT in O(n log n) by recursively splitting into even and odd halves; the basis of fast convolution and spectral methods.
›
Hidden classes (shapes)
compilers · low: Objects that gained the same properties in the same order share one layout descriptor, so a property is an index and the layout is one comparable id.
›
Interval tree
data-structures · low: Index of ranges that answers "which intervals overlap this point or range?" in O(log n + k); static sorted-array form is the compact, cache-friendly choice.
›
d-ary heap
data-structures · low: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.
›
Runge-Kutta 4
numerics · low: The classic four-stage, fourth-order ODE step; error drops 16× when the step halves, with no derivatives or past steps needed.
›
Control-flow graph
compilers · low: Split a linear instruction list into basic blocks and connect them by jumps; the graph every optimizer, SSA builder and dataflow pass walks.
›
Topological sort
graphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.
›
Calling conventions abi
compilers · low: System V, Windows x64 and AAPCS64 ABIs: argument registers, stack frames, struct passing, FFI
Executable formats elf pe
compilers · low: ELF, PE and Mach-O: sections, segments, symbol tables, relocations, dynamic loading
BFS and DFS
graphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.
›
PRNGs (PCG, xoshiro)
numerics · low: Small, fast, statistically strong non-cryptographic generators: PCG32 and xoshiro256**, with seeding, parallel streams and unbiased ranges.
›
Varint (LEB128)
compression · low: Variable-length integers in 7-bit groups with a continuation bit; small numbers take 1 byte, the wire format of Protobuf, WebAssembly and DWARF.
›
Dominator tree
compilers · low: Dominators via Lengauer-Tarjan or Cooper-Harvey-Kennedy; dominance frontiers for SSA
String interning
data-structures · low: Store each distinct string once and refer to it by id
Swiss table
data-structures · low: Open-addressing hash table that filters 8-16 slots at once with 1-byte hash tags and SIMD, giving fast lookups at 87.5 % load.
›
Loss functions
machine-learning · low: The scalar a model minimizes: cross-entropy for classes and tokens, MSE or Huber for values, each with a stable form and simple gradient.
›
Thomas tridiagonal solver
numerics · low: O(n) tridiagonal linear solve used in implicit finite-difference and spline schemes
Kalman filter
robotics · low: Optimal recursive estimator for a linear system with Gaussian noise: fuses a motion model with noisy measurements into a state estimate plus its covariance.
›
Copy for AI
Similar systems
Share the most building blocks with this one.
battery-management
15 %