SatoEigenValueProblemΒΆ
satoevp.spad line 104 [edit on github]
For given $N$, the package SatoEigenValueProblem finds $gamma$ and $tau$ such that $gamma tau = N tau$.
- gammaCandidate: (PositiveInteger, Integer, Integer, Integer, Integer) -> Union(Matrix Integer, failed)
gammaCandidate(nn,det,v,c,d)computes for a given $(N,det,v,c,d)$ a possible matrix [[a,b],[c,d]] with a=v-d*nn,b=(a*d-det)/cand fails, ifbis not an integer.
- gammaCandidateWurm: (PositiveInteger, Integer, Integer, Integer, Integer) -> Union(Matrix Integer, failed)
gammaCandidateWurm(nn,det,v,c,d)computes for a given $(N,det,v,c,d)$ a possible matrix [[a,b],[c,d]] with a=v-d*nn,b=(a*d-det)/c. It fails, if bothcanddare even or ifbis not an integer ordet=1and either a ordis even or ifdet=2and (cis even or any of a,b,dis odd).
- gammaTauQCandidateAux: (PositiveInteger, Integer, Integer, Integer, Integer, (PositiveInteger, Integer, Integer, Integer, Integer) -> Union(Matrix Integer, failed)) -> Union(Record(fgamma: Matrix Integer, ftau: AlgebraicNumber, fq: Complex Float, fnn: PositiveInteger, fdiscr: Integer), failed)
gammaTauQCandidate(
nn,det,v,c,d,gcand) computes for a given $(N,det,v,c,d)$ a possible matrix $gamma=[[a,b],[c,d]]$ in SL2Z and a $tauinmathbb{H}$ such that $gamma tau =Ntau$. It fails if the candidate matrix would have a non-integer entry in position (1,2) or if v^2>=4*nn*det.
- gammaTauQCandidates: (PositiveInteger, Integer, Integer) -> List Record(fgamma: Matrix Integer, ftau: AlgebraicNumber, fq: Complex Float, fnn: PositiveInteger, fdiscr: Integer)
gammaTauQCandidates(nn,c,d)returns gammaTauQCandidatesAux(nn,1,c,d,gammaCandidate).
- gammaTauQCandidatesAux: (PositiveInteger, Integer, Integer, Integer, (PositiveInteger, Integer, Integer, Integer, Integer) -> Union(Matrix Integer, failed)) -> List Record(fgamma: Matrix Integer, ftau: AlgebraicNumber, fq: Complex Float, fnn: PositiveInteger, fdiscr: Integer)
gammaTauQCandidatesAux(nn,det,c,d,f)collects non-failed gammaTauQCandidateAux(nn,det,v,c,d,f) for the finitely manyvwith v^2<4*nn*det.
- gammaTauQCandidatesWurm: (PositiveInteger, Integer, Integer) -> List Record(fgamma: Matrix Integer, ftau: AlgebraicNumber, fq: Complex Float, fnn: PositiveInteger, fdiscr: Integer)
gammaTauQCandidatesWurm(nn,c,d)returns gammaTauQCandidatesAux(nn,2,c,d,gammaCandidateWurm) ifdis even and gammaTauQCandidatesAux(nn,1,c,d,gammaCandidateWurm) ifdis odd. It returns 0 if the conditions are not fulfilled.
- satoTriples: (PositiveInteger, PositiveInteger) -> XHashTable(List Integer, Record(fnn: PositiveInteger, fgamma: Matrix Integer, ftau: AlgebraicNumber, ftaufd: AlgebraicNumber))
satoTriples(nn,k)returns a number of Sato triples (nn,gamma,tau) such that moebiusTransform(gamma,tau)=nn*tau) and for t=moebiusTransform(moebiusAN(toFundamentalDomain(tau,k),tau)) the value expPiI(2/k*t) is real. Currently,k=1corresponds to SL2Z andk=2to the Radu-Wurm groupW.