(A writeup of the details with proofs is in my 2025 PhD thesis.)
Let
Let
Then there exists a Hermitian form
where
e.g. for
As is typical in the literature, these strings are often abbreviated
and
The first task is to compute the matrix make lambdaHat which eventually writes file lambdaHat.txt.
mkdir worksets/000-demo
cd worksets/000-demo
make -f ../Makefile lambdaHat
...
make -f ../Makefile rank-lambdaHat
...
[2025-11-08 21:20:52] ======================================================================
[2025-11-08 21:20:52] RESULT: rank = 22
[2025-11-08 21:20:52] ======================================================================
The notation
cd worksets/000-demo
make -f ../Makefile Bhat-on-M
...
2025-10-31 23:53:54] ======================================================================
[2025-10-31 23:53:54] All pairs processed!
[2025-10-31 23:53:54]
[2025-10-31 23:53:54] Total pairs checked: 784
[2025-10-31 23:53:54] Violations found: 0
...
make -f ../Makefile Bhat-hermitian
...
[2025-11-02 00:12:49] ======================================================================
[2025-11-02 00:12:49] All pairs processed!
[2025-11-02 00:12:49]
[2025-11-02 00:12:49] Total pairs checked: 784
[2025-11-02 00:12:49] Hermitian matrices: 730
[2025-11-02 00:12:49] Non-Hermitian matrices: 54
...
The total error form
Abbreviating
cd worksets/000-demo
make -f ../Makefile Dhat
...
[2025-11-08 23:55:43] Writing D̂ to output/Dhat.txt...
[2025-11-08 23:55:43] (Using sparse format: only non-zero entries)
[2025-11-08 23:55:43]
[2025-11-08 23:55:44] Matrix written successfully!
[2025-11-08 23:55:44] Non-zero entries: 23552 / 262144
[2025-11-08 23:55:44] Sparsity: 91.02%
...
make -f ../Makefile signature-Dhat
========================================
Computing signature of D̂ (numerical)...
========================================
...
[2025-11-09 06:37:46] ======================================================================
[2025-11-09 06:37:46] RESULTS:
[2025-11-09 06:37:46] Signature: (92, 420, 0)
[2025-11-09 06:37:46] p = 92 (positive eigenvalues)
[2025-11-09 06:37:46] q = 420 (negative eigenvalues)
[2025-11-09 06:37:46] r = 0 (zero eigenvalues / nullity)
[2025-11-09 06:37:46] Rank = p + q = 512
[2025-11-09 06:37:46] ======================================================================