Namespace inertialsim::geometry::power_series¶
Namespace List > inertialsim > geometry > power_series
Power series approximations for common functions (internal API). More...
Public Functions¶
| Type | Name |
|---|---|
| Scalar1D | f1 (const Scalar1D & x) Calculate [**\(sin(x)**_](namespaceinertialsim.md#typedef-matrix) _/x\). |
| Scalar1D | f2 (const Scalar1D & x) Calculate \((1-_ [_**cos(x)**_](namespaceinertialsim.md#typedef-matrix) _)/x^2\). |
| Scalar1D | f3 (const Scalar1D & x) Calculate \((x-sin(x))/x^3\). |
| Scalar1D | f4 (const Scalar1D & x) Calculate \((0.5x^2+cos(x)-1)/x^4\). |
| Scalar1D | f5 (const Scalar1D & x) Calculate \(1/x^2 - (1+_ [_**cos(x)**_](namespaceinertialsim.md#typedef-matrix) _)/(2_[_**xsin(x)**_](namespaceinertialsim.md#typedef-matrix) _)\). |
| Scalar1D | fn (const Scalar1D & x) Calculate \((2x-3sin(x)+_ [_**xcos(x)**_](namespaceinertialsim.md#typedef-matrix) _)/(2x^5)\). |
Detailed Description¶
Internal API
This namespace is part of InertialSim's internal API. Most users should
use the MatrixLieGroup and derived classes rather than calling these
functions directly.
See also: MatrixLieGroup
Public Functions Documentation¶
function f1¶
Calculate [**\(sin(x)**_](namespaceinertialsim.md#typedef-matrix) _/x\).
Calculation is performed in a stable way as positive x -> 0.0 from above. From above and below, the mathematical limit of this function is 1.0. For small x, the function will use the Taylor series approximation and is designed to maintain at least 10 digits of precision.
Parameters:
xInput angle in radians, x >= 0.
Returns:
The value for each input.
function f2¶
Calculate \((1-_ [_**cos(x)**_](namespaceinertialsim.md#typedef-matrix) _)/x^2\).
Calculation is performed in a stable way as positive x -> 0.0 from above. From above and below, the mathematical limit of this function is 0.5. For small x, the function will use the Taylor series approximation and is designed to maintain at least 10 digits of precision.
Parameters:
xInput angle in radians, x >= 0.
Returns:
The value for each input.
function f3¶
Calculate \((x-sin(x))/x^3\).
Calculation is performed in a stable way as positive x -> 0.0 from above. From above and below, the mathematical limit of this function is 1/6. For small x, the function will use the Taylor series approximation and is designed to maintain at least 10 digits of precision.
Parameters:
xInput angle in radians, x >= 0.
Returns:
The value for each input.
function f4¶
Calculate \((0.5x^2+cos(x)-1)/x^4\).
Calculation is performed in a stable way as positive x -> 0.0 from above. From above and below, the mathematical limit of this function is 1/12. For small x, the function will use the Taylor series approximation and is designed to maintain at least 10 digits of precision.
Parameters:
xInput angle in radians, x >= 0.
Returns:
The value for each input.
function f5¶
Calculate \(1/x^2 - (1+_ [_**cos(x)**_](namespaceinertialsim.md#typedef-matrix) _)/(2_[_**xsin(x)**_](namespaceinertialsim.md#typedef-matrix) _)\).
Calculation is performed in a stable way as positive x -> 0.0 from above. From above and below, the mathematical limit of this function is 1/12. For small x, the function will use the Taylor series approximation and is designed to maintain at least 10 digits of precision.
Parameters:
xInput angle in radians, x >= 0.
Returns:
The value for each input.
function fn¶
Calculate \((2x-3sin(x)+_ [_**xcos(x)**_](namespaceinertialsim.md#typedef-matrix) _)/(2x^5)\).
Calculation is performed in a stable way as positive x -> 0.0 from above. From above and below, the mathematical limit of this function is 1/120. For small x, the function will use the Taylor series approximation and is designed to maintain at least 10 digits of precision.
Parameters:
xInput angle in radians, x >= 0.
Returns:
The value for each input.
The documentation for this class was generated from the following file cpp/include/inertialsim/geometry/power_series.h