@vessel-dsp/compiler 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,16 @@
1
1
  import { stampAuxRows, stampNodeValue, stampShape, } from "./stamp-partition.js";
2
+ /**
3
+ * Default threshold for value-aware re-pivoting (see `computeNumericRepivot`).
4
+ *
5
+ * A pivot must be at least this fraction of its column's remaining maximum to
6
+ * be chosen. Measured across the corpus 2026-10-08: every tau in
7
+ * 3e-4 .. 1e-1 fixes the `boss-aw-2` non-convergence with identical audio and
8
+ * fill falling as tau falls; tau = 0.3 breaks `boss-aw-2` (34 iterations, 1.2
9
+ * relative disagreement) and tau = 1e-4 degrades `boss-ch-1` (1.3e-5). 1e-3
10
+ * sits mid-window. One value for all circuits; see
11
+ * `docs/spikes/2026-10-08-numeric-pivoting.md`.
12
+ */
13
+ export const NUMERIC_REPIVOT_TAU = 1e-3;
2
14
  /**
3
15
  * Every matrix entry a stamp can write, over-approximated as the full square over the stamp's
4
16
  * own terminals.
@@ -418,4 +430,212 @@ export function computeSparseSchedule(block) {
418
430
  unprovenPivots,
419
431
  };
420
432
  }
433
+ /**
434
+ * Value-aware re-pivot: choose a sparse elimination order from a real assembled
435
+ * matrix instead of the compiler's value-blind pattern.
436
+ *
437
+ * The static schedule (`computeSparseSchedule`) is built from symbol sets, so a
438
+ * pivot that is structurally present but numerically tiny (a node diagonal
439
+ * whose only unconditional contributor is `gmin`) can be chosen because it
440
+ * minimises fill. Replaying that order divides by ~1e-12 against entries of
441
+ * order 1e2, which is the `boss-aw-2` non-convergence and the
442
+ * `hiwatt`/`tr-2` sparse-vs-dense disagreement. The runtime validates the
443
+ * shipped order on the assembled operating-point matrix and, when a
444
+ * value-aware order is warranted, adopts the order this function returns
445
+ * instead of dropping the block to dense.
446
+ *
447
+ * Threshold Markowitz over the shipped schedule's own filled pattern: a pivot
448
+ * must be at least `tau` of its column's remaining maximum. The candidate scan
449
+ * is in ascending row/column order so both consoles (TypeScript and the C++
450
+ * port in `Engine.cpp`, which mirrors this function op for op) choose the same
451
+ * pivots.
452
+ *
453
+ * Returns `null` when no candidate meets the threshold -- a refusal, never a
454
+ * silent division. The caller drops the block to dense with a named reason.
455
+ * The interpreter (`runSparseSchedule`) and its C++ port replay the returned
456
+ * schedule exactly as the compiler's; the caller re-validates it against dense
457
+ * before adopting it, so a failed re-pivot degrades to dense rather than to a
458
+ * wrong answer.
459
+ *
460
+ * This lives in the compiler package (not the runtime) because order
461
+ * construction -- pattern-based and value-based -- is the schedule builder's
462
+ * job; the runtime only supplies the matrix both consoles assemble
463
+ * identically at `prepare()`. The schedule stays data either way.
464
+ *
465
+ * Adoption-safety note for future editors: the returned schedule's slots are a
466
+ * superset of the shipped schedule's filled pattern, and every slot outside
467
+ * the shipped pattern is a fill cell no stamp writes, so it reads the correct
468
+ * zero from a matrix the runtime refreshed for the shipped pattern. Replacing
469
+ * the order therefore needs no refresh-pattern change on either console.
470
+ */
471
+ export function computeNumericRepivot(schedule, size, matrix, tau = NUMERIC_REPIVOT_TAU) {
472
+ const rows = Array.from({ length: size }, () => new Set());
473
+ const columns = Array.from({ length: size }, () => new Set());
474
+ for (let slot = 0; slot < schedule.gatherRow.length; slot += 1) {
475
+ const row = schedule.gatherRow[slot];
476
+ const column = schedule.gatherColumn[slot];
477
+ rows[row].add(column);
478
+ columns[column].add(row);
479
+ }
480
+ const working = matrix.map((row) => [...row]);
481
+ const doneRow = new Array(size).fill(false);
482
+ const doneColumn = new Array(size).fill(false);
483
+ const pivots = [];
484
+ for (let step = 0; step < size; step += 1) {
485
+ let bestRow = -1;
486
+ let bestColumn = -1;
487
+ let bestKey = Infinity;
488
+ for (let row = 0; row < size; row += 1) {
489
+ if (doneRow[row] === true)
490
+ continue;
491
+ const rowSet = rows[row];
492
+ let rowCount = 0;
493
+ for (const column of rowSet) {
494
+ if (doneColumn[column] !== true)
495
+ rowCount += 1;
496
+ }
497
+ if (rowCount === 0)
498
+ continue;
499
+ for (const column of rowSet) {
500
+ if (doneColumn[column] === true)
501
+ continue;
502
+ let columnCount = 0;
503
+ let columnMax = 0;
504
+ for (const other of columns[column]) {
505
+ if (doneRow[other] === true)
506
+ continue;
507
+ columnCount += 1;
508
+ const magnitude = Math.abs(working[other][column] ?? 0);
509
+ if (magnitude > columnMax)
510
+ columnMax = magnitude;
511
+ }
512
+ const value = Math.abs(working[row][column] ?? 0);
513
+ if (!(columnMax > 0) || value < tau * columnMax)
514
+ continue;
515
+ const key = (rowCount - 1) * (columnCount - 1) * 2 + (row === column ? 0 : 1);
516
+ if (key < bestKey ||
517
+ (key === bestKey &&
518
+ (row < bestRow || (row === bestRow && column < bestColumn)))) {
519
+ bestKey = key;
520
+ bestRow = row;
521
+ bestColumn = column;
522
+ }
523
+ }
524
+ }
525
+ if (bestRow < 0) {
526
+ return null;
527
+ }
528
+ const pivotValue = working[bestRow][bestColumn];
529
+ const pivotRowSymbolic = [...rows[bestRow]].filter((column) => doneColumn[column] !== true && column !== bestColumn);
530
+ const pivotColumnSymbolic = [...columns[bestColumn]].filter((row) => doneRow[row] !== true && row !== bestRow);
531
+ for (const row of pivotColumnSymbolic) {
532
+ for (const column of pivotRowSymbolic) {
533
+ if (!rows[row].has(column)) {
534
+ rows[row].add(column);
535
+ columns[column].add(row);
536
+ }
537
+ }
538
+ }
539
+ for (const row of pivotColumnSymbolic) {
540
+ const target = working[row];
541
+ const factor = target[bestColumn] / pivotValue;
542
+ if (factor !== 0) {
543
+ const source = working[bestRow];
544
+ for (let column = 0; column < size; column += 1) {
545
+ if (doneColumn[column] !== true && column !== bestColumn) {
546
+ target[column] =
547
+ target[column] - factor * source[column];
548
+ }
549
+ }
550
+ }
551
+ target[bestColumn] = 0;
552
+ }
553
+ pivots.push({ row: bestRow, column: bestColumn });
554
+ doneRow[bestRow] = true;
555
+ doneColumn[bestColumn] = true;
556
+ }
557
+ if (pivots.length !== size) {
558
+ return null;
559
+ }
560
+ const slotOf = new Map();
561
+ const gatherRow = [];
562
+ const gatherColumn = [];
563
+ for (let row = 0; row < size; row += 1) {
564
+ const sorted = [...rows[row]].sort((a, b) => a - b);
565
+ for (const column of sorted) {
566
+ slotOf.set(row * size + column, gatherRow.length);
567
+ gatherRow.push(row);
568
+ gatherColumn.push(column);
569
+ }
570
+ }
571
+ const slot = (row, column) => {
572
+ const found = slotOf.get(row * size + column);
573
+ if (found === undefined) {
574
+ throw new Error(`numeric re-pivot: no slot for (${row}, ${column})`);
575
+ }
576
+ return found;
577
+ };
578
+ const liveRows = Array.from({ length: size }, () => new Set());
579
+ const liveColumns = Array.from({ length: size }, () => new Set());
580
+ for (let slotIndex = 0; slotIndex < schedule.gatherRow.length; slotIndex += 1) {
581
+ const row = schedule.gatherRow[slotIndex];
582
+ const column = schedule.gatherColumn[slotIndex];
583
+ liveRows[row].add(column);
584
+ liveColumns[column].add(row);
585
+ }
586
+ const eliminatedRow = new Array(size).fill(false);
587
+ const eliminatedColumn = new Array(size).fill(false);
588
+ const ops = [];
589
+ let factorCount = 0;
590
+ let sparseOps = 0;
591
+ for (const pivot of pivots) {
592
+ ops.push(6, slot(pivot.row, pivot.column), 0, 0);
593
+ const pivotRow = [...liveRows[pivot.row]]
594
+ .filter((column) => eliminatedColumn[column] !== true && column !== pivot.column)
595
+ .sort((a, b) => a - b);
596
+ const pivotColumn = [...liveColumns[pivot.column]]
597
+ .filter((row) => eliminatedRow[row] !== true && row !== pivot.row)
598
+ .sort((a, b) => a - b);
599
+ for (const row of pivotColumn) {
600
+ const factor = factorCount;
601
+ factorCount += 1;
602
+ ops.push(0, factor, slot(row, pivot.column), slot(pivot.row, pivot.column));
603
+ for (const column of pivotRow) {
604
+ if (!liveRows[row].has(column)) {
605
+ liveRows[row].add(column);
606
+ liveColumns[column].add(row);
607
+ }
608
+ ops.push(1, slot(row, column), factor, slot(pivot.row, column));
609
+ sparseOps += 1;
610
+ }
611
+ ops.push(2, row, factor, pivot.row);
612
+ sparseOps += 1;
613
+ }
614
+ eliminatedRow[pivot.row] = true;
615
+ eliminatedColumn[pivot.column] = true;
616
+ }
617
+ for (let step = pivots.length - 1; step >= 0; step -= 1) {
618
+ const pivot = pivots[step];
619
+ ops.push(3, pivot.row, 0, 0);
620
+ for (let later = step + 1; later < pivots.length; later += 1) {
621
+ const column = pivots[later].column;
622
+ if (liveRows[pivot.row].has(column)) {
623
+ ops.push(4, slot(pivot.row, column), column, 0);
624
+ sparseOps += 1;
625
+ }
626
+ }
627
+ ops.push(5, pivot.column, slot(pivot.row, pivot.column), 0);
628
+ }
629
+ return {
630
+ ops,
631
+ slots: gatherRow.length,
632
+ factorCount,
633
+ gatherRow,
634
+ gatherColumn,
635
+ size,
636
+ sparseOps,
637
+ denseOps: (size * size * size - size) / 3,
638
+ unprovenPivots: 0,
639
+ };
640
+ }
421
641
  //# sourceMappingURL=sparse-schedule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sparse-schedule.js","sourceRoot":"","sources":["../src/sparse-schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sparse-schedule.js","sourceRoot":"","sources":["../src/sparse-schedule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vessel-dsp/compiler",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Headless circuit compiler turning .vdsp documents into executable simulation Programs.",
5
5
  "keywords": [
6
6
  "guitar-pedal",