Video Presentation
Watch the visual explanation of berkeDet, meryemSign, and meryemPer:
Downloads
Research Paper (PDF)
Full paper: proofs, parallel-complexity analysis, isolated and vectorized benchmarks (Version 3)
Download Paper (PDF) · LaTeX source
Download Paper (PDF) · LaTeX source
Presentation (PDF)
Visual illustrations of meryemPer patterns for n = 2 through n = 9
Download Presentation
Download Presentation
Benchmark & Verification Scripts
Everything in the paper is executable. Fixed seeds; correctness asserted in-script. All are single-file Python, ready for Google Colab (CPU runtime).
- verify.py — determinants vs LU (orders 1–10), structural lex-order and sign checks
- colab_sign_benchmark.py — isolated sign generation: meryemSign vs inversion count, merge parity, and Narayana + $O(1)$ flip
- colab_benchmark.py — serial end-to-end Leibniz determinant, four methods
- colab_parallel_benchmark.py — vectorized tree vs chains: permutations, signs, and the full exact determinant
Preprint Repositories
Zenodo
Version 3 — July 2026 (v1 and v2 remain archived)
View on Zenodo — DOI 10.5281/zenodo.21326563
View on Zenodo — DOI 10.5281/zenodo.21326563
Quick Start (Python)
Copy this code, paste it into any Python environment (such as online-python.com), and run it. Full code with detailed comments is on the Algorithm page.
def meryemSign(n):
b = [1]
for e in range(1, n):
c = b[:]
for d in range(e):
if d % 2 == 0:
f = [-x for x in c]
else:
f = c[:]
b.extend(f)
return b
def meryemPer(n):
a = [[1]]
for b in range(2, n + 1):
c = list(range(1, b + 1))
d = []
for f in c:
g = [e for e in c if e != f]
for h in a:
j = [g[i - 1] for i in h]
d.append([f] + j)
a = d
return a
def berkeDet(matrix):
n = len(matrix)
signs = meryemSign(n)
perms = meryemPer(n)
det = 0
for sign, perm in zip(signs, perms):
product = 1
for i in range(n):
product *= matrix[i][perm[i] - 1]
det += sign * product
return det
# Try it!
A = [[6, 1, 1],
[4, -2, 5],
[2, 8, 7]]
print("Determinant:", berkeDet(A)) # Output: -306
Citation
If you use berkeDet in your work, please cite:
Gülmen, B., Gülmen, M., & Gülmen, Ö. (2026).
berkeDet: A Dual Iterative Algorithm for Exact Determinant
Computation via Block Replication and Index Mapping (Version 3).
Zenodo. https://doi.org/10.5281/zenodo.21326563
Version History
- Version 3 (July 2026) — Complete rewrite. Isolated sign-generation benchmarks (~100× / 350–400× / 15–18×); formal parallel-complexity analysis (factorial tree, work–span model: span $O(n)$ vs chains' $\Omega(n!)$); vectorized NumPy implementations with benchmarks (6× over C itertools; $S_{12}$ signs in 0.19 s; vectorized determinant 15× over SJT); verification extended to order 10; the serial n=10 crossover vs SJT explained and resolved.
- Version 2 (April 2026) — Strengthened meryemPer analysis with explicit comparison to naive (suffix sort) and optimized (Narayana Pandita) lexicographic generators. Added sort-free column to comparison table. Updated title.
- Version 1 (February 2026) — Initial release.