public class ModularTransformation extends Object implements Serializable, Cloneable
σ =
/ A B \
\ C D / ,
with A,B,C,D∈Zg×g
,
that leave the symplectic structure invariant, e.g.:
σt
/ 0 1 \
\-1 0 /
σ =
/ 0 1 \
\-1 0 /
ModularPropertySupport
,
SiegelReduction
,
Serialized FormConstructor and Description |
---|
ModularTransformation(int g)
Creates identity in molular group of degree
2g . |
ModularTransformation(de.jtem.blas.IntegerMatrix A,
de.jtem.blas.IntegerMatrix B,
de.jtem.blas.IntegerMatrix C,
de.jtem.blas.IntegerMatrix D)
Creates element with prescribed sub-matrices
A,B,C and, D . |
ModularTransformation(ModularTransformation T)
Creates a copy of
T . |
Modifier and Type | Method and Description |
---|---|
void |
assign(ModularTransformation T)
Assigns
this with T . |
void |
assignDivide(ModularTransformation M)
Assigns
this with product of itself and inverse of M . |
void |
assignDivide(ModularTransformation M,
ModularTransformation N)
Assigns
this with product of M and inverse of N . |
void |
assignId()
Assigns
this with identity in modular group. |
void |
assignInvert(ModularTransformation T)
Assigns
this with inverse of T . |
void |
assignTimes(ModularTransformation M)
Assigns
this with product of itself and M . |
void |
assignTimes(ModularTransformation M,
ModularTransformation N)
Assigns
this with product of M and N . |
ModularTransformation |
divide(ModularTransformation M)
Returns product of
this and inverse ofM . |
de.jtem.blas.IntegerMatrix |
getA()
Queries sub-matrix a.
|
de.jtem.blas.IntegerMatrix |
getB()
Queries sub-matrix b.
|
de.jtem.blas.IntegerMatrix |
getC()
Queries sub-matrix c.
|
de.jtem.blas.IntegerMatrix |
getD()
Queries sub-matrix d.
|
int |
getDegree()
Returns degree of modular group.
|
ModularTransformation |
invert()
Returns inverse of
this . |
boolean |
isId()
Tests if
this is the identity in modular group. |
ModularTransformation |
times(ModularTransformation M)
Returns product of
this and M . |
String |
toString()
Returns the for sub-matrices as string.
|
public ModularTransformation(int g)
2g
.public ModularTransformation(de.jtem.blas.IntegerMatrix A, de.jtem.blas.IntegerMatrix B, de.jtem.blas.IntegerMatrix C, de.jtem.blas.IntegerMatrix D)
A,B,C
and, D
.A
- square integer matrix of degree dim
B
- square integer matrix of degree dim
C
- square integer matrix of degree dim
D
- square integer matrix of degree dim
public ModularTransformation(ModularTransformation T)
T
.public void assign(ModularTransformation T)
this
with T
.public void assignDivide(ModularTransformation M)
this
with product of itself and inverse of M
.M
- element with the same degree as this
public void assignDivide(ModularTransformation M, ModularTransformation N)
this
with product of M
and inverse of N
.M
- element with the same degree as N
N
- element with the same degree as M
public void assignId()
this
with identity in modular group.public void assignInvert(ModularTransformation T)
this
with inverse of T
.public void assignTimes(ModularTransformation M)
this
with product of itself and M
.M
- element with the same degree as this
public void assignTimes(ModularTransformation M, ModularTransformation N)
this
with product of M
and N
.M
- element with the same degree as N
N
- element with the same degree as M
public ModularTransformation divide(ModularTransformation M)
this
and inverse ofM
.M
- element with the same degree as this
public de.jtem.blas.IntegerMatrix getA()
public de.jtem.blas.IntegerMatrix getB()
public de.jtem.blas.IntegerMatrix getC()
public de.jtem.blas.IntegerMatrix getD()
public int getDegree()
public ModularTransformation invert()
this
.public boolean isId()
this
is the identity in modular group.public ModularTransformation times(ModularTransformation M)
this
and M
.M
- element with the same degree as this