Catégorie:User Manual 4.8 Mathematics
Sommaire
Introduction
Willingly would I burn to death like Phaeton,
Eudoxus of Cnidus (408 - 355 B.C.)
were this the price for reaching the sun and
learning its shape, its size and its substance.
This section is a short presentation of the Math Library implemented in PATRIUS.
The Math library of PATRIUS is based on the Open-source Commons Math library.
Commons-Math has entirely been included in PATRIUS library. It is accessible through Patrius math package: fr.cnes.sirius.patrius.math package.
Since V4.2, the user can choose and define its low-level math framework (cos, sin, exp, etc.).
Applicable and Reference Documents
Applicable Documents
[A1] CDCF - Fonctions de Base du Patrimoine de Dynamique du Vol, V1.2, SIRIUS-CF-DV-0049-CN, 2011.
[A2] Dossier de réutilisation Orekit et Commons Math, V1.0, SIRIUS-DLR-DV-0080-CN, 2010.
Reference Documents
[R1] Nürnberg, R.; Distance from a Point to an Ellipse, Imperial College London, 2006, http://www2.imperial.ac.uk/~~rn/distance2ellipse.pdf.
Glossary
None Applicable.
Overview
The Math package of PATRIUS has been developed according to the SIRIUS Scope Statement [A1]. The themes developed are described hereafter:
- Constants
- Implementation of mathematical and physical constants.
- Comparisons of Numbers
- For this theme, classes and methods of comparison that allow a precise comparison of number representations have been developed.
- Angles
- For this theme, angle utilities, such as intervals, have been implemented, and allow the user to perform multiple rigorous operations with modulus problems taken into account.
- Low-level math frameworks
- A low-level math framework provides methods to compute simple math function such as sin, cos, exp, log, etc. For this theme, a generic interface for low-level math framework has been defined. Several implementations are available (FastMath and Jafama).
- Dispersions
- Various algorithms have been developped to handle different kinds of random number generation.
- Vectors
- Vector-specific operations, particularly in the case of 2D and 3D vectors, have been developed and implemented in classes such as Vector3D. It is understood that by vector, a real column vector is actually manipulated.
- Matrices
- Matrix-specific operations, particularly in the case of 3x3 and 6x6 matrices, have been developed and implemented in classes such as Matrix3D.
- Quaternions
- Quaternion-specific operations have been developed and implemented in classes such as Quaternion. It is understood that this class represents the mathematical object quaternion and, as such, is not necessarily a rotation quaternion.
- Rotations
- Rotations implemented in PATRIUS are algebraic rotations that can be represented by normalized quaternions, rotation matrices or sequences of Euler angles. The prime objective of this design is to have all the rotation representations combined, making it easier for the user to manipulate such an object.
- Geometry
- The geometry section presents the geometry classes developed and implemented in PATRIUS. It currently includes the following objects : lines, planes, plates, parallelepipeds, cylinders, cones, ellipsoids and spherical caps.
- Interpolation methods
- Implementation of several methods : spline, bicubic, tricubic, Lagrange and Newton interpolation.
- Root-Finding algorithm
- Implementation of several algorithms : Brent, Newton, Bisection and Müller.
- Trigonometric polynomials
- Real trigonometric polynomials are implemented.
- Numerical differentiation
- Implementation of two numerical differentiation methods: finite difference and Ridders.
- Numerical integration
- Implementation of two numerical integration methods: Trapezoidal and Simpson.
- Numerical ordinary differential equations
- It is the part of numerical analysis which studies the numerical solution of ordinary differential equations (ODEs). Please note: this may sometimes be called numerical integration, but we assume here that numerical integration only refers to the computation of integrals (see the corresponding theme).
Pages dans la catégorie « User Manual 4.8 Mathematics »
Cette catégorie contient 13 pages, dont les 13 ci-dessous.
U
- User Manual 4.8 Angles and Intervals
- User Manual 4.8 Dispersions
- User Manual 4.8 Double Comparisons
- User Manual 4.8 Geometry
- User Manual 4.8 Interpolation Methods
- User Manual 4.8 Math frameworks
- User Manual 4.8 Matrices
- User Manual 4.8 Numerical differentiation and integration
- User Manual 4.8 Numerical ordinary differential equations
- User Manual 4.8 Optimization
- User Manual 4.8 Root-Finding Algorithms
- User Manual 4.8 Rotations and quaternions
- User Manual 4.8 Trigonometric Polynomials and Fourier Series