linearization

A class of static functions defined on a simplex in three dimensions that return a lineInterval

[ kepler | Source | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

OVERVIEW TEXT
AUTHOR

Class Summary

class linearization

{

public:
static lineInterval delta(const domain&);
static lineInterval dih(const domain&);
static lineInterval dih2(const domain&);
static lineInterval dih3(const domain&);
static lineInterval solid(const domain&);
static lineInterval gamma(const domain&);
static lineInterval eta2(const domain&);
static lineInterval eta2_135(const domain&);
static lineInterval eta2_234(const domain&);
static lineInterval eta2_456(const domain&);
static lineInterval rad2(const domain&);
static lineInterval vorAnalytic(const domain&);
static lineInterval chi324(const domain&);
static lineInterval VorVc(const domain&);
static lineInterval VorSqc(const domain&);
static lineInterval VorInverted(const domain&);
static lineInterval uprightVorVc(const domain&);
static lineInterval uprightVorVcInverted(const domain&);
static lineInterval quo(const domain&);
static void selfTest();
protected:
}; // linearization

Back to the top of linearization


OVERVIEW TEXT

The class linearization contains a number of static functions that return a lineInterval. The functions are defined on a simplex in three dimensions. Most of these functions are described in the paper Sphere Packings I. References to this paper will appear as SP I.X in the documentation that follows.

There is one potential source of serious errors with these routines. The domain is given as a function of the squares of the edges of the simplex. The reason for this is that most of the functions that arise are more naturally expressed in terms of the squares of the edge lengths. (In Sphere Packings, I, the unsquared coordinates are y1,...,y6, and the squared coordinates are x1,...,x6. These functions are always in terms of the variables x1,...,x6.)

The partial derivative information in the returned lineInterval is always with respect to the squared coordinates.

Back to the top of linearization


AUTHOR

Thomas C. Hales

Back to the top of linearization


lineInterval delta(const domain&);

The volume of a simplex is sqrt(delta)/12. This may be used as a definition of the polynomial delta. Reference SP I.8.1.

static lineInterval delta(const domain&);

Back to the top of linearization


lineInterval dih(const domain&);

The dihedral angle of a simplex along the first edge. Explicit formulas for this function appear in SP I.8.3.1. The edge numbering conventions are given in SP I.1.

static lineInterval dih(const domain&);

Back to the top of linearization


lineInterval dih2(const domain&);

The dihedral angle of a simplex along the second edge. Explicit formulas for this function appear in SP I.8.3.1. The edge numbering conventions are given in SP I.1.

static lineInterval dih2(const domain&);

Back to the top of linearization


lineInterval dih3(const domain&);

The dihedral angle of a simplex along the third edge. Explicit formulas for this function appear in SP I.8.3.1. The edge numbering conventions are given in SP I.1.

static lineInterval dih3(const domain&);

Back to the top of linearization


lineInterval solid(const domain&);

The solid angle of a simplex at its distinguished vertex. Explicit formulas for this function appear in SP I.8.4.

static lineInterval solid(const domain&);

Back to the top of linearization


lineInterval gamma(const domain&);

The compression of a simplex. Explicit formulas for this function appear in SP I.8.5.

static lineInterval gamma(const domain&);

Back to the top of linearization


lineInterval eta2(const domain&);

The circumradius squared of the face along edges 1,2,6 of a simplex. Explicit formulas for this function appear in SP I.8.2. The variables are the lengths squared of the edges of the triangle.

static lineInterval eta2(const domain&);

Back to the top of linearization


lineInterval eta2_135(const domain&);

The circumradius squared of the face along edges 1,3,5 of a simplex. Explicit formulas for this function appear in SP I.8.2. The variables are the lengths squared of the edges of the triangle.

static lineInterval eta2_135(const domain&);

Back to the top of linearization


lineInterval eta2_234(const domain&);

The circumradius squared of the face along edges 2,3,4 of a simplex. Explicit formulas for this function appear in SP I.8.2. The variables are the lengths squared of the edges of the triangle.

static lineInterval eta2_234(const domain&);

Back to the top of linearization


lineInterval eta2_456(const domain&);

The circumradius squared of the face along edges 4,5,6 of a simplex. Explicit formulas for this function appear in SP I.8.2. The variables are the lengths squared of the edges of the triangle.

static lineInterval eta2_456(const domain&);

Back to the top of linearization


lineInterval rad2(const domain&);

The circumradius squared of a simplex. Explicit formulas for this function appear in SP I.8.2.

static lineInterval rad2(const domain&); 

Back to the top of linearization


lineInterval vorAnalytic(const domain&);

The analytic voronoi function. Explicit formulas for this function appear in SP I.8.6.3. The original domain of the function is the set of all simplices with edges of length in the interval [2,sqrt(8)], such that the simplex contains its own circumcenter. This function is analytically continued using the formula of SP I.8.6.3.

static lineInterval vorAnalytic(const domain&);

Back to the top of linearization


lineInterval chi324(const domain&);

The function chi determinining the orientation of simplices, where orientation is used in the sense of SP I.8.2.3. Explicit formulas for this function appear in SP I.8.2.

static lineInterval chi324(const domain&);

Back to the top of linearization


lineInterval VorVc(const domain&);

The function vor(S,1.255) of [Formulation]. This is the truncation of the Voronoi function at 1.255. Explicit formulas for this function appear in [Formulation]. The first three edges must be at most 2.51 in length. There is a different function uprightVorVc that should be used if one of the edges is greater than 2.51.

static lineInterval VorVc(const domain&);

Back to the top of linearization


lineInterval VorSqc(const domain&);

The function vor(S,sqrt(2)) of [Formulation]. This is the truncation of the Voronoi function at sqrt(2). Explicit formulas for this function appear in [Formulation].

static lineInterval VorSqc(const domain&);

Back to the top of linearization


lineInterval VorInverted(const domain&);

The function vorAnalytic(hat Q) of [Formulation]. The domain is upright quarters. Hat Q is the inversion of Q. The function value is equal to vorAnalytic(x1,x6,x5,x4,x3,x2). The derivatives have been reindexed appropriately.

static lineInterval VorInverted(const domain&);

Back to the top of linearization


lineInterval uprightVorVc(const domain&);

The function vorVc is not analytic or even differentiable as the length of one of the first three edges crosses the line at twice the truncation (2t = 2.51). The version VorVc is intended for simplices whose first three edges are at most 2.51. The version here is intended for use when the first edge has length greater than 2.51, which occurs, for instance, on upright quarters.

static lineInterval uprightVorVc(const domain&);

Back to the top of linearization


lineInterval uprightVorVcInverted(const domain&);

The function uprightVorVcInverted is the variant of VorVcInverted that is to be used when the first edge has length greater than 2.51, which occurs on upright quarters.

static lineInterval uprightVorVcInverted(const domain&);

Back to the top of linearization


lineInterval quo(const domain&);

The function quo is the quoin of a single Rogers simplex located along the edges 1,2,6 of the domain. It only depends on the variable y1,y2,y6.

static lineInterval quo(const domain&);

Back to the top of linearization


void selfTest();

Check the correctness of the linearization procedures.

static void selfTest();

Back to the top of linearization


All Members

public:
static lineInterval delta(const domain&);
static lineInterval dih(const domain&);
static lineInterval dih2(const domain&);
static lineInterval dih3(const domain&);
static lineInterval solid(const domain&);
static lineInterval gamma(const domain&);
static lineInterval eta2(const domain&);
static lineInterval eta2_135(const domain&);
static lineInterval eta2_234(const domain&);
static lineInterval eta2_456(const domain&);
static lineInterval rad2(const domain&);
static lineInterval vorAnalytic(const domain&);
static lineInterval chi324(const domain&);
static lineInterval VorVc(const domain&);
static lineInterval VorSqc(const domain&);
static lineInterval VorInverted(const domain&);
static lineInterval uprightVorVc(const domain&);
static lineInterval uprightVorVcInverted(const domain&);
static lineInterval quo(const domain&);
static void selfTest();
protected:

Back to the top of linearization


Ancestors

Class does not inherit from any other class.

Back to the top of linearization


Descendants

Class is not inherited by any others.

Back to the top of linearization


Generated from source by the Cocoon utilities on Mon Dec 22 19:37:22 1997 .

Report problems to jkotula@unimax.com