|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmfc.matrix.AbstractComplex2By2
mfc.group.Moebius
This class represents linear fractional transformations or Möbius transformations.
a z + b
z |->
c z + d
All methods of Complex2By2 try to avoid the
creation of temporarily used objects in their internal computations,
unless the opposite is stated in their describtions.
This class has final member objects, which are
used as dummy variables. Thus, it is definitely not thread-safe.
| Field Summary |
| Fields inherited from class mfc.matrix.AbstractComplex2By2 |
aIm, aRe, bIm, bRe, cIm, cRe, dIm, dRe, EPS, EPSILON, EPSSQR |
| Constructor Summary | |
Moebius()
|
|
Moebius(AbstractComplex2By2 m)
|
|
Moebius(Complex A,
Complex B,
Complex m)
creates loxodromic transformation s with the two different fix points A and B, such that: |
|
Moebius(Complex a,
Complex b,
Complex c,
Complex d)
|
|
Moebius(double ar,
double ai,
double br,
double bi,
double mr,
double mi)
creates loxodromic transformation s with the two different fix points A=(ar,ai) and B=(br,bi), such that: |
|
Moebius(double ar,
double ai,
double br,
double bi,
double cr,
double ci,
double dr,
double di)
|
|
| Method Summary | |
Moebius |
adjoined()
Returns adjoined of this. |
Complex |
applyDifferentialTo(Complex z)
evaluates differential of instance at z and returns the result |
void |
applyDifferentialTo(Complex z,
Complex r)
evaluates differential of instance at z and assigns r with the result |
Complex |
applyInverseDifferentialTo(Complex z)
evaluates differential of inverse of instance at z and returns the result |
void |
applyInverseDifferentialTo(Complex z,
Complex r)
evaluates differential of inverse of instance at z and assigns r with the result |
Complex |
applyInverseTo(Complex z)
applies inverse of instance to z and returns the result |
void |
applyInverseTo(Complex z,
Complex r)
applies inverse of instance to z and assigns r with the result |
Complex |
applyTo(Complex z)
applies instance to z and returns the result |
void |
applyTo(Complex z,
Complex r)
applies instance to z and assigns r with the result |
void |
applyTo(ComplexProjective1 v)
Apply this to a ComplexProjective1. |
void |
applyTo(ComplexProjective1 v,
ComplexProjective1 w)
Apply this to a ComplexProjective1. |
void |
assign(Complex a,
Complex b,
Complex m)
set instance to the loxodromic transformation s with the two different fix points A and B, such that: |
void |
assign(Complex a,
Complex b,
Complex c,
Complex d)
Assign this with prescribed entries. |
void |
assign(Complex a,
Complex b,
Complex c,
Complex A,
Complex B,
Complex C)
Set this to moebius transform which maps a onto A, b onto B, and c onto C. |
void |
assign(ComplexProjective1 a,
ComplexProjective1 b,
ComplexProjective1 c)
assigns this with the Moebius transform wich maps (0,1) to a, (1,1) to b and (1,0) (=infinity) to c uses tons of new Complex numbers - optimize!! |
void |
assign(ComplexProjective1 fixPoint1,
ComplexProjective1 fixPoint2,
double lambdaRe,
double lambdaIm)
Assign this by prescribing its fixed points and the
eigenvalues lambda, 1/lambda of the
corresponding 2×2-matrix. |
void |
assign(double ar,
double ai,
double br,
double bi,
double mr,
double mi)
set instance to the loxodromic transformation s with the two different fix points A=(ar,ai) and B=(br,bi), such that: |
void |
assign(double ar,
double ai,
double br,
double bi,
double cr,
double ci,
double dr,
double di)
Assign this with prescribed entries. |
void |
assign(Moebius m)
Assign this with the given transformation. |
void |
assignAdjoined()
Assign this with its own adjoined. |
void |
assignDivide(Complex c)
Assign this with the product of itself and the inverse of c. |
void |
assignDivide(Moebius m)
Assign this with the product of itself and the inverse of m. |
void |
assignDivide(Moebius a,
Moebius b)
Assign this with the product of a and the inverse of
b. |
void |
assignEuclideanLogScaleRotation(ComplexProjective1 center,
double logScale,
double angle)
Assign this with a Euclidean scale-rotation. |
void |
assignIdentity()
Assign this with the identity transformation |
void |
assignInvert()
Assign this with its own inverse. |
void |
assignInvert(Moebius m)
Assign this with the inverse of m. |
void |
assignSphericalLogScaleRotation(ComplexProjective1 center,
double logScale,
double angle)
Assign this with a sperical scale-rotation. |
void |
assignTimes(Moebius a)
Assign this with the product of itself and a. |
void |
assignTimes(Moebius a,
Moebius b)
Assign this with the product of a and b. |
Moebius |
divide(AbstractComplex2By2 a)
Returns ratio of this and a. |
Complex[] |
getFixPoints()
returns array of fixpoints of instance, if its number is either 1 or 2. |
int |
getFixPoints(Complex[] fp)
assigns array fp with fix points of instance and returns the number of fixpoints, which can be either 1, 2, or infinity. |
double |
getRadiusOfMappedCircle(Complex centerOfCircle,
double radiusOfCircle,
Complex centerOfMappedCircle)
computes the image of a circle given by center and radius. |
Moebius |
invert()
Returns inverse of this. |
boolean |
isElliptic()
|
boolean |
isHyperbolic()
|
boolean |
isLoxodromic()
we call a moebius loxodromic if its norm is not 1, this is not standart. |
boolean |
isParabolic()
|
Moebius |
times(AbstractComplex2By2 a)
Returns product of this with a. |
static void |
times(Moebius a,
Moebius b,
Moebius c)
Multiplies a and b and store
the result in c. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public Moebius()
public Moebius(double ar,
double ai,
double br,
double bi,
double cr,
double ci,
double dr,
double di)
public Moebius(Complex a,
Complex b,
Complex c,
Complex d)
public Moebius(AbstractComplex2By2 m)
public Moebius(double ar,
double ai,
double br,
double bi,
double mr,
double mi)
m=(mr,mi) is the square of one of the eigenvalues of the element of SL2C which represents s.
public Moebius(Complex A,
Complex B,
Complex m)
m is the square of one of the eigenvalues of the element of SL2C which represents s.
| Method Detail |
public void assign(double ar,
double ai,
double br,
double bi,
double cr,
double ci,
double dr,
double di)
assign in class AbstractComplex2By2
public void assign(Complex a,
Complex b,
Complex c,
Complex d)
assign in class AbstractComplex2By2public void assign(Moebius m)
public final void assign(double ar,
double ai,
double br,
double bi,
double mr,
double mi)
m=(mr,mi) is the square of one of the eigenvalues of the element of SL2C which represents s.
public void assignIdentity()
assignIdentity in class AbstractComplex2By2
public final void assign(Complex a,
Complex b,
Complex m)
m is the square of one of the eigenvalues of the element of SL2C which represents s.
public void assign(ComplexProjective1 fixPoint1,
ComplexProjective1 fixPoint2,
double lambdaRe,
double lambdaIm)
throws java.lang.IllegalArgumentException
Assign this by prescribing its fixed points and the
eigenvalues lambda, 1/lambda of the
corresponding 2×2-matrix.
If fixPoint1 and fixPoint2 correspond to
the complex numbers z1 and z2, then
this is set to the transformation T with
T(z) - z2 2 z - z2
--------- = lambda ------ .
T(z) - z1 z - z1
fixPoint1 - a ComplexProjective1: the first fix pointfixPoint2 - a ComplexProjective1: the second fix pointlambdaRe - a double: real part of lambdalambdaIm - a double: imaginary part of
lambda
java.lang.IllegalArgumentException - if lambdaRe == 0.0 && lambdaIm
== 0.0 or if the fix points coincide.
public void assignEuclideanLogScaleRotation(ComplexProjective1 center,
double logScale,
double angle)
Assign this with a Euclidean scale-rotation.
One fix point is center, the other is at infinity.
center - a ComplexProjective1: center of the
scale-rotationlogScale - a double: the logarithmic scaleangle - a double: the angle of rotation
public void assignSphericalLogScaleRotation(ComplexProjective1 center,
double logScale,
double angle)
Assign this with a sperical scale-rotation.
One fix point is center, the other is the point
diametrically opposite on the Riemann sphere.
center - a ComplexProjective1: center of the
scale-rotationlogScale - a double: the logarithmic scaleangle - a double: the angle of rotation
public final void assign(Complex a,
Complex b,
Complex c,
Complex A,
Complex B,
Complex C)
public final void assign(ComplexProjective1 a,
ComplexProjective1 b,
ComplexProjective1 c)
public void assignInvert(Moebius m)
m.
public void assignInvert()
assignInvert in class AbstractComplex2By2public Moebius invert()
public void assignAdjoined()
assignAdjoined in class AbstractComplex2By2public Moebius adjoined()
public void assignTimes(Moebius a)
public static void times(Moebius a,
Moebius b,
Moebius c)
a and b and store
the result in c.
public void assignTimes(Moebius a,
Moebius b)
a and b.
public Moebius times(AbstractComplex2By2 a)
a.
public void assignDivide(Moebius m)
m.
public void assignDivide(Complex c)
c.
assignDivide in class AbstractComplex2By2
public void assignDivide(Moebius a,
Moebius b)
a and the inverse of
b.
public Moebius divide(AbstractComplex2By2 a)
a.
public void applyTo(ComplexProjective1 v,
ComplexProjective1 w)
this to a ComplexProjective1.
w - a ComplexProjective1: used to hand over the resultpublic void applyTo(ComplexProjective1 v)
this to a ComplexProjective1.
public final void applyTo(Complex z,
Complex r)
public final Complex applyTo(Complex z)
public final void applyInverseTo(Complex z,
Complex r)
public final Complex applyInverseTo(Complex z)
public final void applyDifferentialTo(Complex z,
Complex r)
public final Complex applyDifferentialTo(Complex z)
public final void applyInverseDifferentialTo(Complex z,
Complex r)
public final Complex applyInverseDifferentialTo(Complex z)
public final boolean isElliptic()
public final boolean isParabolic()
public final boolean isHyperbolic()
public final boolean isLoxodromic()
public final int getFixPoints(Complex[] fp)
public final Complex[] getFixPoints()
public final double getRadiusOfMappedCircle(Complex centerOfCircle,
double radiusOfCircle,
Complex centerOfMappedCircle)
centerOfCircle - center of circle which is to mapradiusOfCircle - radius of circle which is to mapcenterOfMappedCircle - center of mapped circle
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||