Catégorie:User Manual 3.3 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 Commons Math library of lightweight, self-contained mathematics and statistics components addressing the most common problems not available in the Java programming language. The Commons Math library has been found to cover :
- 70% of the PATRIUS requirements of Analysis, Geometry, Linear Algebra Support and Statistics ([A2] §4.2.2.5.),
- 100% of the PATRIUS requirements of Ordinary Differential Equations Solving ([A2] §4.7.2.5.).
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.
- 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).
Package List
The following themes have been developed and deployed to the Commons Math and Commons Math Add-ons packages. These cover some of the software requirements given in [A1] §4. :
Modèle:DisplayChildrenTitlesAsLinks/
Pages dans la catégorie « User Manual 3.3 Mathematics »
Cette catégorie contient 11 pages, dont les 11 ci-dessous.
U
- User Manual 3.3 Angles and Intervals
- User Manual 3.3 Dispersions
- User Manual 3.3 Double Comparisons
- User Manual 3.3 Geometry
- User Manual 3.3 Interpolation Methods
- User Manual 3.3 Matrices
- User Manual 3.3 Numerical differentiation and integration
- User Manual 3.3 Numerical ordinary differential equations
- User Manual 3.3 Root-Finding Algorithms
- User Manual 3.3 Rotations and quaternions
- User Manual 3.3 Trigonometric Polynomials and Fourier Series