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
)/c
and fails, ifb
is 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 bothc
andd
are even or ifb
is not an integer ordet=1
and either a ord
is even or ifdet=2
and (c
is even or any of a,b
,d
is 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 =N
tau$. 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 manyv
with 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) ifd
is even and gammaTauQCandidatesAux(nn
,1,c
,d
,gammaCandidateWurm) ifd
is 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=1
corresponds to SL2Z andk=2
to the Radu-Wurm groupW
.