public class ModularPropertySupport extends Object implements Serializable, Cloneable
σ =
/ a b \
\ c d /
of the ModularGroup of degree 2g holds:
θ(z|B) = k exp( fσ(z|B) ) θ( σ(z|B) | σ(B) )
,
fσ(z|B) =
Rσ(B)tz -
ztAσ(B)z +
δσ(B)
σ(z|B) =
Hσ(B)z + Sσ(B)
σ(B) =
2πi(aB+2πib)(cB+2πid)-1
and further with
Rσ(B) =
πi (cB + 2πid)-1Diag(cdt)
Aσ(B) =
½ ((cB + 2πid)-1)c
δσ(B) =
½ ( ¼ Diag(cdt)tσ(B)Diag(cdt) -
g log(2πi) - 2log( (det(cB +2πid) )½ )
Hσ(B) =
2πi( (cB + 2πid)-1)t
Sσ(B) =
πi Diag(abt) + ½ σ(B)Diag(cdt)
Finally k is a nasty 8th-root of unity,
which we do not control. This is usually neglectable because one only deals
with ratios of theta functions.
To use this class
you have to provide a period Matrix B (setPeriodMatrix(de.jtem.blas.ComplexMatrix)),
an element of the ModularGroup (#setModular) and, the
argument vector z (setZ(de.jtem.blas.ComplexVector)).
ModularPropertySupport than determines the transformed argument
σ(z|B), the exponential transformation factor
fσ(z|B) and,
the transformed period matrix σ(B) which can be accessed by calling
getTransformedZ(), getFactor() and, getTransformedPeriodMatrix().
Further are
Rσ(B),
Aσ(B),
δσ(B),
Hσ(B)
and,
Sσ(B)
attributes of this class.
SiegelReduction,
ModularTransformation,
TransformPropertySupport,
Theta,
Serialized Form| Constructor and Description |
|---|
ModularPropertySupport(de.jtem.blas.ComplexMatrix periodMatrix)
Creates instance with presrcibed period matrix.
|
ModularPropertySupport(de.jtem.blas.ComplexMatrix periodMatrix,
ModularTransformation sigma)
Creates instance with presrcibed period matrix
and modular transformation
σ.. |
| Modifier and Type | Method and Description |
|---|---|
de.jtem.blas.ComplexMatrix |
getA()
Returns the quadratic component of the transformation factor.
|
de.jtem.mfc.field.Complex |
getDelta()
Returns the constant component of the transformation factor.
|
de.jtem.mfc.field.Complex |
getFactor()
Returns the exponential transformation factor.
|
de.jtem.blas.ComplexMatrix |
getH()
Returns the linear component of the argument transformation.
|
ModularTransformation |
getModularTransformation()
Returns the element of the modular group that determines the transformation.
|
de.jtem.blas.ComplexMatrix |
getPeriodMatrix()
Returns period matrix which was transformed.
|
de.jtem.blas.ComplexVector |
getR()
Returns the linear component of the transformation factor.
|
de.jtem.blas.ComplexVector |
getS()
Returns the constant component of the argument transformation.
|
de.jtem.blas.ComplexMatrix |
getTransformedPeriodMatrix()
Returns transformed period matrix.
|
de.jtem.blas.ComplexVector |
getTransformedZ()
Returns the transformed argument vector.
|
de.jtem.blas.ComplexVector |
getZ()
Returns the argument vector which was transform.
|
void |
setModularTransformation(ModularTransformation modular)
Sets the element of the modular group that determines the transformation.
|
void |
setPeriodMatrix(de.jtem.blas.ComplexMatrix aPeriodMatrix)
Sets the period matrix which will be transformed.
|
void |
setZ(de.jtem.blas.ComplexVector aZ)
Sets the argument vector which will be transformed.
|
static de.jtem.blas.ComplexMatrix |
transformPeriodMatrix(de.jtem.blas.ComplexMatrix B,
ModularTransformation sigma)
Transforms the period matrix
B using
the element of the modular group σ. |
public ModularPropertySupport(de.jtem.blas.ComplexMatrix periodMatrix)
periodMatrix - symmetric complex matrix with negative definite real partpublic ModularPropertySupport(de.jtem.blas.ComplexMatrix periodMatrix,
ModularTransformation sigma)
σ..periodMatrix - symmetric complex matrix with negative definite real partsigma - element of the modular grouppublic de.jtem.blas.ComplexMatrix getA()
Aσ(B) =
½ ((cB + 2πid)-1)c
-
getDelta
public de.jtem.mfc.field.Complex getDelta()
Returns the constant component of the transformation factor.
- Returns:
&delta =
½ ( ¼ Diag(cdt)tσ(B)Diag(cdt) -
g log(2πi) - 2log( (det(cB +2πid) )½ )
-
getFactor
public de.jtem.mfc.field.Complex getFactor()
Returns the exponential transformation factor.
- Returns:
fσ(z|B) =
Rσ(B)tz -
ztAσ(B)z +
δσ(B)
-
getH
public de.jtem.blas.ComplexMatrix getH()
Returns the linear component of the argument transformation.
- Returns:
Hσ(B) =
2πi( (cB + 2πid)-1)t
-
getModularTransformation
public ModularTransformation getModularTransformation()
Returns the element of the modular group that determines the transformation.
-
getPeriodMatrix
public de.jtem.blas.ComplexMatrix getPeriodMatrix()
Returns period matrix which was transformed.
-
getR
public de.jtem.blas.ComplexVector getR()
Returns the linear component of the transformation factor.
- Returns:
Rσ(B) =
πi (cB + 2πid)-1Diag(cdt)
-
getS
public de.jtem.blas.ComplexVector getS()
Returns the constant component of the argument transformation.
- Returns:
Sσ(B) =
πi Diag(abt) + ½ σ(B)Diag(cdt)
-
getTransformedPeriodMatrix
public de.jtem.blas.ComplexMatrix getTransformedPeriodMatrix()
Returns transformed period matrix.
- Returns:
&sigma(B) = 2πi(aB+2πib)(cB+2πid)-1
-
getTransformedZ
public de.jtem.blas.ComplexVector getTransformedZ()
Returns the transformed argument vector.
- Returns:
σ(z|B) = Hσ(B)z + Sσ(B)
-
getZ
public de.jtem.blas.ComplexVector getZ()
Returns the argument vector which was transform.
-
setModularTransformation
public void setModularTransformation(ModularTransformation modular)
Sets the element of the modular group that determines the transformation.
- Parameters:
modular - element of the modular group
-
setPeriodMatrix
public void setPeriodMatrix(de.jtem.blas.ComplexMatrix aPeriodMatrix)
Sets the period matrix which will be transformed.
- Parameters:
periodMatrix - symmetric complex matrix with negative definite real part
-
setZ
public void setZ(de.jtem.blas.ComplexVector aZ)
Sets the argument vector which will be transformed.
- Parameters:
z - argument vector
-
transformPeriodMatrix
public static de.jtem.blas.ComplexMatrix transformPeriodMatrix(de.jtem.blas.ComplexMatrix B,
ModularTransformation sigma)
Transforms the period matrix B using
the element of the modular group σ.
The period matrix is complex a
symmetric complex matrix with negative definite real part.
σ is of the form:
/ A B \
\ C D / ,
- Parameters:
periodMatrix - symmetric complex matrix with negative definite real part
sigma - element of the modular group
- Returns:
- 2πi(aB+2πib)(cB+2πid)-1