pymor.models.transforms
¶
Module Contents¶
- class pymor.models.transforms.BilinearTransformation(x, name=None)[source]¶
Bases:
MoebiusTransformation
The bilinear transform also known as Tustin’s method.
The bilinear transform can be seen as the first order approximation of the natural logarithm that maps the z-plane onto the s-plane. The approximation is given by
\[z = \frac{1+xs}{1-xs},\]where
x
is an arbitrary number. Usually, this is chosen as the step size of the numerical integration trapezoid rule, i.e. the sampling time of a discrete-timeLTIModel
.Parameters
- x
An arbitrary number that defines the
BilinearTransformation
.- name
Name of the transform.
- class pymor.models.transforms.CayleyTransformation(name=None)[source]¶
Bases:
MoebiusTransformation
Maps the upper complex half-plane to the unit disk.
The Cayley transform is defined as
\[f(s) = \frac{s-i}{s+i}.\]Parameters
- name
Name of the transform.
- class pymor.models.transforms.MoebiusTransformation(coefficients, normalize=False, name=None)[source]¶
Bases:
pymor.core.base.ImmutableObject
Maps the Riemann sphere onto itself.
A Moebius transformation
\[M(s) = \frac{as+b}{cs+b}\]is determined by the coefficients \(a,b,c,d\in\mathbb{C}\). The Moebius transformations form a group under composition, therefore the
__matmul__
operator is defined to yield aMoebiusTransformation
if both factors areMoebiusTransformations
.Parameters
- coefficients
A tuple, list or
NumPy array
containing the four coefficientsa,b,c,d
.- normalize
If
True
, the coefficients are normalized, i.e., \(ad-bc=1\). Defaults toFalse
.- name
Name of the transformation.
Methods
Constructs a Moebius transformation from three points and their images.
Returns the inverse Moebius transformation by applying the inversion formula.
- classmethod from_points(z, w=(0, 1, np.inf), name=None)[source]¶
Constructs a Moebius transformation from three points and their images.
A Moebius transformation is completely determined by the images of three distinct points on the Riemann sphere under transformation.
Parameters
- z
A tuple, list or
NumPy array
of three complex numbers that are transformed.- w
A tuple, list or
NumPy array
of three complex numbers represent the images ofz
. Defaults to(0, 1, np.inf)
.- name
Name of the transformation.
Returns
- M
The corresponding
MoebiusTransformation
that fulfills M(z)=w.
- inverse(normalize=False)[source]¶
Returns the inverse Moebius transformation by applying the inversion formula.
Parameters
- normalize
If
True
, the coefficients are normalized, i.e., \(ad-bc=1\). Defaults toFalse
.
Returns
- M
The inverse
MoebiusTransformation
.