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 FormConstructor 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