Mobius: R6 class representing a Möbius transformation.

MobiusR Documentation

R6 class representing a Möbius transformation.

Description

A Möbius transformation is given by a matrix of complex numbers with non-null determinant.

Active bindings

a

get or set a

b

get or set b

c

get or set c

d

get or set d

Methods

Public methods


Method new()

Create a new Mobius object.

Usage
Mobius$new(M)
Arguments
M

the matrix corresponding to the Möbius transformation

Returns

A new Mobius object.


Method print()

Show instance of a Mobius object.

Usage
Mobius$print(...)
Arguments
...

ignored

Examples
Mobius$new(rbind(c(1+1i,2),c(0,3-2i)))

Method getM()

Get the matrix corresponding to the Möbius transformation.

Usage
Mobius$getM()

Method compose()

Compose the reference Möbius transformation with another Möbius transformation

Usage
Mobius$compose(M1, left = TRUE)
Arguments
M1

a Mobius object

left

logical, whether to compose at left or at right (i.e. returns M1 o M0 or M0 o M1)

Returns

A Mobius object.


Method inverse()

Inverse of the reference Möbius transformation.

Usage
Mobius$inverse()
Returns

A Mobius object.


Method power()

Power of the reference Möbius transformation.

Usage
Mobius$power(k)
Arguments
k

an integer, possibly negative

Returns

The Möbius transformation M^k, where M is the reference Möbius transformation.


Method gpower()

Generalized power of the reference Möbius transformation.

Usage
Mobius$gpower(k)
Arguments
k

a real number, possibly negative

Returns

A Mobius object, the generalized k-th power of the reference Möbius transformation.

Examples
M <- Mobius$new(rbind(c(1+1i,2),c(0,3-2i)))
Mroot <- M$gpower(1/2)
Mroot$compose(Mroot) # should be M

Method transform()

Transformation of a point by the reference Möbius transformation.

Usage
Mobius$transform(M)
Arguments
M

a point or Inf

Returns

A point or Inf, the image of M.

Examples
Mob <- Mobius$new(rbind(c(1+1i,2),c(0,3-2i)))
Mob$transform(c(1,1))
Mob$transform(Inf)

Method fixedPoints()

Returns the fixed points of the reference Möbius transformation.

Usage
Mobius$fixedPoints()
Returns

One point, or a list of two points, or a message in the case when the transformation is the identity map.


Method transformCircle()

Transformation of a circle by the reference Möbius transformation.

Usage
Mobius$transformCircle(circ)
Arguments
circ

a Circle object

Returns

A Circle object or a Line object.


Method transformLine()

Transformation of a line by the reference Möbius transformation.

Usage
Mobius$transformLine(line)
Arguments
line

a Line object

Returns

A Circle object or a Line object.


Method transformGcircle()

Transformation of a generalized circle (i.e. a circle or a line) by the reference Möbius transformation.

Usage
Mobius$transformGcircle(gcirc)
Arguments
gcirc

a Circle object or a Line object

Returns

A Circle object or a Line object.


Method clone()

The objects of this class are cloneable with this method.

Usage
Mobius$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

See Also

MobiusMappingThreePoints to create a Möbius transformation, and also the compose method of the Inversion R6 class.

Examples


## ------------------------------------------------
## Method `Mobius$print`
## ------------------------------------------------

Mobius$new(rbind(c(1+1i,2),c(0,3-2i)))

## ------------------------------------------------
## Method `Mobius$gpower`
## ------------------------------------------------

M <- Mobius$new(rbind(c(1+1i,2),c(0,3-2i)))
Mroot <- M$gpower(1/2)
Mroot$compose(Mroot) # should be M

## ------------------------------------------------
## Method `Mobius$transform`
## ------------------------------------------------

Mob <- Mobius$new(rbind(c(1+1i,2),c(0,3-2i)))
Mob$transform(c(1,1))
Mob$transform(Inf)

PlaneGeometry documentation built on Aug. 10, 2023, 1:09 a.m.