Skip to content
@symeig

symeig

Projects related to symbolic eigenanalysis

Welcome to symeig!

zle-cpp A C++ library for evaluating eigenvalues of integer-linear matrices.
zle-py A Python library for generating, and evaluating eigenvalues of, integer-linear matrices.
zle-mma A Mathematica library for generating, and evaluating eigenvalues of, integer-linear matrices.

$\mathbf{Z}\textbf{LE Algorithm Overview}$

$\text{main(}A\text{, batchsize, stagger): }$
     $n\text{, midpoint, midpointvalue, symbols} := \dots$
     $\text{digits} := \text{batchsize}*(\text{stagger}+1)$
     $\text{indicatorvars} := [\text{base}^{\lceil \frac{\text{digits}}{2} \rceil - \text{stagger}}, \; \text{base}^{\lceil \frac{\text{digits}}{2} \rceil - 2*\text{stagger}}, \; \dots, \; \text{base}^{-\lfloor \frac{\text{digits}}{2} \rfloor}]*i$
     $\text{map} := \{\text{symbols } : \text{ randomreals}\}$
     $\text{coeffs} := []$

     $\text{for }(i=1 \text{ to }\lceil \frac{n}{\text{batchsize}} \rceil):$
         $\text{mapcurr} = \text{map.copy}$
         $\text{mapcurr}[i*\text{batchsize}, \text{ min}(n, \; (i+1)*\text{batchsize})] \text{ += indicatorvars}$
         $A_{i} = \text{mapcurr}(A)$
         $\sigma = eig(A_{i}) + \text{midpoint}$
         $\text{coeffs.insert}([\text{digits}(\sigma_{j}) - \text{midpointvalue for } j \text{ in range}(n)])$

     $\text{return } [vec(\text{coeffs}[:,0]), \; \dots, \; vec(\text{coeffs}[:,n-1])]$

Note: Eigenvalue solver expects $\lambda$ coefficients to be in $[-4, \; 5]$ for $\text{stagger}=0$, and $[-44, \; 45]$ for $\text{stagger}=1$.

$\textbf{Runtime Comparison}$

Image Description

Please cite this project:

@misc{ZLE,
      title={Fast Symbolic Integer-Linear Spectra}, 
      author={Luntzel, Jonny and Miller, Abraham},
      year={2024},
      eprint={2410.09053},
      archivePrefix={arXiv},
      primaryClass={math.RA},
      url={https://arxiv.org/abs/2410.09053}
}

Pinned Loading

  1. zle-cpp zle-cpp Public

    C++ integer-linear eigenvalue matrix symbolic solver

    C++ 2

  2. zle-py zle-py Public

    Python integer-linear eigenvalue matrix generator & symbolic solver

    Python 2

Repositories

Showing 4 of 4 repositories
  • .github Public
    symeig/.github’s past year of commit activity
    0 AGPL-3.0 0 0 0 Updated Oct 26, 2024
  • zle-py Public

    Python integer-linear eigenvalue matrix generator & symbolic solver

    symeig/zle-py’s past year of commit activity
    Python 2 AGPL-3.0 0 0 0 Updated Oct 14, 2024
  • zle-mma Public

    Mathematica integer-linear eigenvalue matrix generator & symbolic solver

    symeig/zle-mma’s past year of commit activity
    Mathematica 1 AGPL-3.0 0 0 0 Updated Sep 29, 2024
  • zle-cpp Public

    C++ integer-linear eigenvalue matrix symbolic solver

    symeig/zle-cpp’s past year of commit activity
    C++ 2 AGPL-3.0 0 0 0 Updated Sep 26, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…