Class E_point


Code: embedded/E_domain.mpl

An instance of this class represents a point on the embedded surface EX(a)

Extends: domain_point
StaticField: tolerance::float = .1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-97
StaticField: max_iterations::integer = 100
StaticField: a::scalar

This is the value of $a$, where we are considering $EX(a)$.

StaticField: alpha0::scalar

This is computed from a by the set_a() method

StaticField: alpha1::scalar

This is computed from a by the set_a() method

StaticField: alpha2::scalar

This is computed from a by the set_a() method

StaticField: alpha3::scalar

This is computed from a by the set_a() method

StaticField: alpha4::scalar

This is computed from a by the set_a() method

StaticField: alpha5::scalar

This is computed from a by the set_a() method

StaticField: alpha6::scalar

This is computed from a by the set_a() method

StaticField: alpha7::scalar

This is computed from a by the set_a() method

StaticField: alpha8::scalar

This is computed from a by the set_a() method

StaticField: alpha9::scalar

This is computed from a by the set_a() method

StaticField: alpha10::scalar

This is computed from a by the set_a() method

StaticField: alpha11::scalar

This is computed from a by the set_a() method

StaticField: alpha12::scalar

This is computed from a by the set_a() method

StaticField: alpha13::scalar

This is computed from a by the set_a() method

StaticField: alpha14::scalar

This is computed from a by the set_a() method

Method: set_a(a_)::void
Field: x::[scalar, scalar, scalar, scalar]

Coordinates of the point

Field: u::[scalar, scalar, scalar, scalar]

A unit vector orthogonal to $x$, $n$ and $v$

Field: v::[scalar, scalar, scalar, scalar]

A unit vector orthogonal to $x$, $n$ and $u$

Field: n::[scalar, scalar, scalar, scalar]

Normalised gradient of $g$

Field: z::[scalar, scalar]

Basic G-invariant functions of $x$

Field: ndg::scalar

Norm of the gradient of $g$

Field: sndg::scalar

Square norm of the gradient of $g$

Field: indg::scalar

Inverse norm of the gradient of $g$

Field: curvature::scalar

Gaussian curvature of the surface

Method: fix()::void
Method: fix_x()::void

This method adjusts the coordinates of a point to ensure that it lies on the surface $EX(a)$ and in the fundamental domain. Moreover, if the constraint field is set to a value indicating that the point should lie on one of the curves $C_0$, $C_1$, $C_3$ or $C_5$, then the coordinates are adjusted if necessary to ensure that that holds.


Method: fix_n()::void

This method sets this["n"] to the normalisation of the gradient of $g$ at the point this["x"]. It uses the simp() function, which simplifies symbolically unless we have any floating point subexpressions, in which case it evaluates numerically.


Method: fix_uv()::void

This method sets this["u"] and this["v"] in such a way that [this["x"],this["n"],this["u"],this["v"]] is an oriented orthonormal basis for $\mathbb{R}^4$.


Method: set_C0(t::scalar)::void

This method sets the current point to lie on the curve $C_0$. As the parameter $t$ runs from $0$ to $1$, the point covers the section of $C_0$ contained in the fundamental domain $F_{16}$ starting with $v_6$ at $t=0$, and moving to $v_3$ at $t=1$.


Method: set_C1(t::scalar)::void

This method sets the current point to lie on the curve $C_1$. As the parameter $t$ runs from $0$ to $1$, the point covers the section of $C_1$ contained in the fundamental domain $F_{16}$ starting with $v_0$ at $t=0$, and moving to $v_6$ at $t=1$.


Method: set_C3(t::scalar)::void

This method sets the current point to lie on the curve $C_3$. As the parameter $t$ runs from $0$ to $1$, the point covers the section of $C_3$ contained in the fundamental domain $F_{16}$ starting with $v_{11}$ at $t=0$, and moving to $v_3$ at $t=1$.


Method: set_C5(t::scalar)::void

This method sets the current point to lie on the curve $C_5$. As the parameter $t$ runs from $0$ to $1$, the point covers the section of $C_5$ contained in the fundamental domain $F_{16}$ starting with $v_0$ at $t=0$, and moving to $v_{11}$ at $t=1$.


Method: set_random()::void

This sets the current point to a randomly generated point in $F_{16}$