Classes (extension) | Math

# TDesign : SphericalDesign : ObjectExtension

A subclass of SphericalDesign, encapsulating a set of points which represent a spherical design, allowing for searching, basic transformations and visualization of the design.

## Description

Spherical t-designs
A finite subset X on S^(n−1) is called a spherical t-design on S^(n−1), if for any polynomial `f(x) = f(x1, x2, . . . , xn)` of degree at most t, the value of the integral of `f(x)` on S^(n−1) (divided by the volume of S^(n−1)) is just the average value of `f(x)` on the finite set X. As is obvious from the definition, a spherical t-design is better if t is larger, and usually a spherical t-design X is better if the cardinality |X| is smaller.1

This is a subclass of SphericalDesign, used to load a design of a specific number of points and fundamental parameter t.

NOTE: The coordinate system follows that of Spherical and Polar. The +X axis points forward, +Y points left, +Z points upward.
McLaren's Improved Snub Cube and Other New Spherical Designs in Three Dimensions, R. H. Hardin and N. J. A. Sloane, Discrete and Computational Geometry, 15 (1996), pp. 429-441.

The T-Designs found here are from the work of Hardin and Sloane. These and other designs can be downloaded directly from their site: http://neilsloane.com/sphdesigns/

If you use any of these designs, please acknowledge this source.

## Class Methods

### TDesign.new(numPoints, t, dim: 3)

#### Arguments:

 numPoints The number of points you'd like in your design. If multiple matches in the design library are found, the `t` argument must be specified to disambiguate, otherwise an error will be thrown. t The desired t parameter. Can be `nil` but the method will throw an error if multiple design matches are found for `numPoints`. (Some valid designs include the same number of points but different values of t.) dim The t-design's dimensions. Only dimension 3 is supported.

### TDesign.newHoa(numChans, optimize: 'energy', order)

Return a t-design sutiable for ambisonic encoding or decoding.

#### Arguments:

numChans

The number of input or output channels, i.e., the number of t-design points.

If `nil`, the number of channels/points will be determined by the order and optimize arguments.

optimize

Optimize criteria:

 `\energy` Total energy `\spreadE` Energy spread
NOTE: Optimizing for energy spread, `\spreadE`, returns a t-design sampled so that energy is smoothed evenely across the sphere, and uses a t-design with more points than `\energy`.
order

Ambisonic order.

## Instance Methods

### .t

Return the design's t parameter.

## EXAMPLES

[1] - Bannai, E., Bannai, E. A survey on spherical designs and algebraic combinatorics on spheres. European Journal of Combinatorics, Volume 30, Issue 6, August 2009, Pages 1392-1425.