Class E_chart


Code: embedded/roothalf/E_atlas.mpl

An instance of this class represents an approximate conformal map $p\colon\mathbb{R}^2\to EX^*$. We refer to the point $p(0)$ as the centre of the chart.

Field: centre::RR0_4

A point in $EX^*$ which is the centre of the chart

Field: square_centre::RR0_2

The image under square_diffeo_E0() of the centre. This is stored separately to allow for the case where we take square_centre to be an exact rational point, and then compute centre numerically from square_centre

Field: n::RR0_4

The unit normal vector to $EX^*$ in $S^3$ at the centre

Field: u::RR0_4

A unit tangent vector to $EX^*$ at the centre

Field: v::RR0_4

Another unit tangent vector to $EX^*$ at the centre

Field: p

This is a polynomial function $\mathbb{R}^2\to\mathbb{R}^4$ which sends $0$ to the centre point, and is approximately a conformal map to $EX^*$.

Field: p0

The same as $p$, but with coefficients evaluated numerically.

Field: p_inv_approx

A linear map $\mathbb{R}^4\to\mathbb{R}^2$ which is approximately inverse to $p$ near the centre

Field: degree::posint

The degree of the polynomials in $p$.

Field: coeffs_exact::boolean = false

true if the polynomial coefficients in $p$ are exact.

Field: vertex_index::integer = 0

If the centre lies at $v_k$, this field should be set to $k$.

Field: curve_index::integer = 0

If the centre lies on the curve $C_k$, this field should be set to $k$.

Field: curve_parameter::RR0 = NULL

If the centre is $c_{Ek}(t)$, then this field should be set to $t$.

Field: grid_index::integer = 0
Method: vertex_set_exact(k)

Set vertex_index to k, and calculate various associated data, using exact coefficients where appropriate. This gives a chart of polynomial degree one.


Method: vertex_set_numeric(k)

Set vertex_index to k, and calculate various associated data, using numerical coefficients. This gives a chart of polynomial degree one.


Method: curve_set_exact(k0::integer,t0::RR0)

Set curve_index to k0 and curve_parameter to t0, and calculate various associated data, using exact coefficients where appropriate. This gives a chart of polynomial degree one. For charts of this type, we will ensure that $p(t,0)$ is the Taylor approximation to $c_{k0}(t0+t)$.


Method: curve_improve_exact()

Increase the polynomial degree of this chart by one.


Method: curve_set_degree_exact(d,force_)

Set the degree of this chart to d, and calculate the appropriate coefficients.


Method: curve_set_numeric(k0,t0)

Set curve_index to k0 and curve_parameter to t0, and calculate various associated data, using numerical coefficients. This gives a chart of polynomial degree one. For charts of this type, we will ensure that $p(t,0)$ is the Taylor approximation to $c_{k0}(t0+t)$.


Method: curve_improve_numeric()

Increase the polynomial degree of this chart by one.


Method: curve_set_degree_numeric(d,force_)

Set the degree of this chart to d, and calculate the appropriate coefficients.


Method: centre_set_numeric(x0)

Set the centre and calculate coefficients, giving a chart of polynomial degree one.


Method: centre_improve_numeric()

Increase the polynomial degree of this chart by one.


Method: centre_set_degree_numeric(d,force_)

Set the degree of this chart to d, and calculate the appropriate coefficients.


Method: improve_numeric()

Increase the polynomial degree by one, using the curve_improve_numeric method if applicable, otherwise the centre_improve_numeric method.


Method: set_degree_numeric(d)

Set the polynomial degree, using the curve_set_degree_numeric method if applicable, otherwise the centre_set_degree_numeric method.


Method: square_set_numeric(s0)
Method: isometrize(log_rescale_z)

This method assumes that log_rescale_z defines a function $f$ on $EX^*$, and adjusts the chart to make it approximately isometric as a map from (the unit disk with the hyperbolic metric) to ($EX^*$ with $\exp(2f)$ times the standard metric).


Method: isometry_error(log_rescale_z,s1::RR0_2)

This returns a measure of the failure of $p$ to be isometric, in the context described above.


Method: p_c()

This is the composite of $p\colon\mathbb{R}^2\to EX^*$ with the standard isomorphism $\mathbb{C}\to\mathbb{R}^2$.


Method: p_inv(x0)

Inverse to the map $p\colon\mathbb{R}^2\to EX^*$


Method: p_inv_c(x0)

Inverse to the map $p_c\colon\mathbb{C}\to EX^*$


Method: disc_plot(r)

Generate a plot showing the image under $p$ of a disc of radius $r$ centred at the origin in $\mathbb{R}^2$


Method: circle_plot(r)

Generate a plot showing the image under $p$ of a circle of radius $r$ centred at the origin in $\mathbb{R}^2$


Method: err_plot(r)

Generate a plot measuring the failure of $p$ to be a conformal map landing in $EX^*$. This uses the values of $p$ and its derivatives on a circle of radius $r$ centred at the origin in $\mathbb{R}^2$


Method: check()

This returns a table T whose entries are nonnegative real numbers. If the chart has all the properties that it is supposed to have, then the entries in T will all be zero. The entry T["max"] is the maximum of all the other entries. In practice we find that when working to 100 digit precision, we end up with T["max"] < 10^(-89). Note that we only test whether we have the correct Taylor coefficients for $p$, we do not test anything about how well the series is converging.