#### Description:

The forward transformation of a UnitNormMap subtracts the specified centre and then transforms the resulting vector to a unit vector and the vector norm. The output contains one more coordinate than the input: the initial Nin outputs are in the same order as the input; the final output is the norm. If the norm is 0, then the output of the forward transformation is AST__BAD for each component of the unit vector and 0 for the norm (the final value).

The inverse transformation of a UnitNormMap multiplies each component of the provided vector by the provided norm and adds the specified centre. The output contains one fewer coordinate than the input: the initial Nin inputs are in the same order as the output; the final input is the norm. If the provided norm is 0 then the other input values are ignored, and the output vector is the centre.

Example: if centre = [1, -1] then [5, 2] transforms to [4, 3] after subtracting the centre; the norm is 5, so the output is [0.8, 0.6, 5].

UnitNormMap enables radially symmetric transformations, as follows:

- apply a UnitNormMap to produce a unit vector and norm (radius)

- apply a one-dimensional mapping to the norm (radius), while passing the unit vector unchanged

- apply the same UnitNormMap in the inverse direction to produce the result

#### Constructor Function

astUnitNormMap

#### Inheritance

The UnitNormMap class inherits from the Mapping class.

#### Attributes

The UnitNormMap class does not define any new attributes beyond those which are applicable to all Mappings.

#### Functions

The UnitNormMap class does not define any new functions beyond those which are applicable to all Mappings.
Copyright (C) 2021 East Asian Observatory