CoordinateTransformData

CoordinateTransformData[t,property]

gives the value of the specified property for the coordinate transformation t.

CoordinateTransformData[t,property,{x1,x2,,xn}]

gives the value of the property evaluated at the point {x1,x2,,xn}.

Details

  • Transformations can be entered in the form oldchart->newchart, where oldchart and newchart are valid chart specifications available from CoordinateChartData.
  • Coordinate transformation standard names are triples of the form {oldsys->newsys,metric,dim}, where {oldsys,metric,dim} and {newsys,metric,dim} are valid charts available from CoordinateChartData.
  • CoordinateTransformData[] gives a list of available coordinate transformations, including only low-dimensional members of infinite families.
  • CoordinateTransformData[t] is equivalent to CoordinateTransformData[t,"StandardName"].
  • CoordinateTransformData["Properties"] returns a list of available properties.
  • When no evaluation point {x1,x2,,xn} is specified, properties are typically pure functions expecting a list of length n.
  • Available properties include:
  • "Mapping"mapping from old to new coordinates
    "MappingJacobian"Jacobian matrix of the mapping
    "MappingJacobianDeterminant"determinant of the mapping Jacobian matrix
    "InverseMappingJacobian"inverse of the Jacobian matrix of the mapping
    "OrthonormalBasisRotation"rotation matrix between the orthonormal bases of the charts
    "StandardName"Wolfram Language standard name

Examples

open allclose all

Basic Examples  (1)

Conversion between spherical and Cartesian coordinates in three dimensions:

Scope  (12)

Names  (5)

CoordinateTransformData[] returns a list of available coordinate transformations, including only low-dimensional members of infinite families:

Pairs {oldsys->newsys,dim} are equivalent to {oldsys->newsys,"Euclidean",dim}:

When an evaluation point is given, the dimension may be omitted from the first argument:

If one of the coordinate charts can be given to CoordinateChartData without a dimension specification, then the dimension specification can be omitted from CoordinateTransformData as well:

A transform between two charts on the sphere of radius r:

Properties  (1)

Get a list of possible properties:

Property Values  (2)

A property value can be any valid Wolfram Language expression:

For most properties, if no evaluation point is given, then CoordinateTransformData will return a pure function:

This function can be applied to points:

Certain descriptive properties, which manifestly do not depend on the variables, never return a pure function as a property value:

Detailed Properties  (4)

Convert a point in Cartesian coordinates to polar coordinates:

Convert that point back to Cartesian coordinates:

Convert a generic point in polar coordinates to Cartesian coordinates, specifying the transform as a Rule of two charts:

Give the Jacobian of the mapping from polar to Cartesian coordinates:

Give the inverse of the Jacobian of the mapping from polar to Cartesian coordinates:

The two matrices are inverses of each other:

Compute the determinant of the mapping from spherical to Cartesian coordinates:

The rotation matrix that rotates the spherical basis vectors into the Cartesian basis vectors :

When this matrix is applied to expressed in terms of , the result is :

Similarly, the matrix applied to expressed in terms of results in :

Applications  (1)

Look up the standard names of the variables of oblate spheroidal coordinates:

Use the transformation to Cartesian coordinates to visualize constant-coordinate surfaces:

Find the ranges of the different coordinates:

Plot a surface as and vary over their complete range:

Repeat the processing for the other coordinates, using None to get the correct sequence of colors:

In the last plot, add a legend:

Assemble all the pieces:

Properties & Relations  (2)

CoordinateTransformData[ent,"Mapping",pt] is effectively CoordinateTransform[ent,pt]:

CoordinateTransformData checks that inputs obey the coordinate range assumptions of charts:

The starting point is singular, with a degenerate metric:

Extract the general formula using the two-argument form and apply it to extend to singular points:

Possible Issues  (1)

If one or both coordinate systems are given without parameters, and adding the default parameters would result in a duplicate parameter name, one of the default parameters will be renamed to prevent the clash:

If both coordinate systems have user-specified parameter names, no renaming is done:

Introduced in 2012
 (9.0)