Fonctions mathématiques diverses. Plus de détails...
#include "arcane/utils/Math.h"
#include "arcane/utils/ArrayView.h"
#include "arcane/utils/NumericTypes.h"
#include "arcane/utils/Real2x2.h"
#include "arcane/utils/Real3.h"
#include "arcane/utils/Real2.h"
#include "arcane/Algorithm.h"
Aller au code source de ce fichier.
Espaces de nommage | |
namespace | Arcane |
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*- | |
namespace | Arcane::math |
Espace de nom pour les fonctions mathématiques. | |
Fonctions | |
__host__ __device__ Real3 | Arcane::math::vecMul (Real3 u, Real3 v) |
Produit vectoriel de u par v. dans \(R^3\). | |
__host__ __device__ Real | Arcane::math::vecMul2D (Real3 u, Real3 v) |
Produit vectoriel de u par v dans \(R^2\). | |
__host__ __device__ Real | Arcane::math::cross2D (Real3 u, Real3 v) |
Produit vectoriel de u par v dans \(R^2\). | |
__host__ __device__ Real | Arcane::math::dot (Real2 u, Real2 v) |
Produit scalaire de u par v dans \(R^2\). | |
__host__ __device__ Real | Arcane::math::scaMul (Real2 u, Real2 v) |
Produit scalaire de u par v dans \(R^2\). | |
__host__ __device__ Real | Arcane::math::dot (Real3 u, Real3 v) |
Produit scalaire de u par v. | |
__host__ __device__ Real | Arcane::math::scaMul (Real3 u, Real3 v) |
Produit scalaire de u par v. | |
__host__ __device__ Real | Arcane::math::mixteMul (Real3 u, Real3 v, Real3 w) |
Produit mixte de u, v et w. | |
__host__ __device__ Real | Arcane::math::matDet (Real3 u, Real3 v, Real3 w) |
Déterminant de la matrice u,v,w. | |
Real3x3 | Arcane::math::prodTens (Real3 u, Real3 v) |
Produit tensoriel de deux vecteurs Real3. | |
__host__ __device__ Real3 | Arcane::math::prodTensVec (Real3x3 t, Real3 v) |
Produit matrice vecteur entre un tenseur et un vecteur. | |
__host__ __device__ Real2 | Arcane::math::prodTensVec (Real2x2 t, Real2 v) |
__host__ __device__ Real3 | Arcane::math::prodVecTens (Real3 v, Real3x3 t) |
Produit transposé(vecteur) matrice entre la transposée d'un vecteur et une matrice. | |
__host__ __device__ Real3x3 | Arcane::math::matrixProduct (const Real3x3 &t, const Real3x3 &v) |
Produit matrice matrice entre deux tenseurs. | |
__host__ __device__ Real3x3 | Arcane::math::transpose (const Real3x3 &t) |
Transpose la matrice. | |
__host__ __device__ Real3x3 | Arcane::math::matrixTranspose (const Real3x3 &t) |
Transpose la matrice. | |
__host__ __device__ Real | Arcane::math::doubleContraction (const Real3x3 &u, const Real3x3 &v) |
__host__ __device__ Real | Arcane::math::doubleContraction (const Real2x2 &u, const Real2x2 &v) |
__host__ __device__ Real2 | Arcane::math::min (Real2 a, Real2 b) |
Retourne le minimum de deux Real2. | |
__host__ __device__ Real3 | Arcane::math::min (Real3 a, Real3 b) |
Retourne le minimum de deux Real3. | |
__host__ __device__ Real2x2 | Arcane::math::min (const Real2x2 &a, const Real2x2 &b) |
Retourne le minimum de deux Real2x2. | |
__host__ __device__ Real3x3 | Arcane::math::min (const Real3x3 &a, const Real3x3 &b) |
Retourne le minimum de deux Real3x3. | |
template<class T > | |
T | Arcane::math::min (const T &a, const T &b, const T &c) |
Retourne le minimum de trois éléments. | |
template<class T > | |
T | Arcane::math::max (const T &a, const T &b, const T &c) |
Retourne le maximum de trois éléments. | |
__host__ __device__ Real2 | Arcane::math::max (Real2 a, Real2 b) |
Retourne le maximum de deux Real2. | |
__host__ __device__ Real3 | Arcane::math::max (Real3 a, Real3 b) |
Retourne le maximum de deux Real3. | |
__host__ __device__ Real2x2 | Arcane::math::max (const Real2x2 &a, const Real2x2 &b) |
Retourne le maximum de deux Real2x2. | |
__host__ __device__ Real3x3 | Arcane::math::max (const Real3x3 &a, const Real3x3 &b) |
Retourne le maximum de deux Real3x3. | |
__host__ __device__ Real | Arcane::math::min4Real (Real a, Real b, Real c, Real d) |
retourne le min de quatre Real | |
__host__ __device__ Real | Arcane::math::max4Real (Real a, Real b, Real c, Real d) |
retourne le max de quatre Real | |
__host__ __device__ Real | Arcane::math::min8Real (const Real a[8]) |
retourne le min de huit Real | |
Real | Arcane::math::max8Real (const Real a[8]) |
retourne le max de huit Real | |
__host__ __device__ Real | Arcane::math::minMod (Real a, Real b, Real c, Real d) |
retourne le Min mod de quatre Real | |
__host__ __device__ Real | Arcane::math::minMod2 (Real a, Real b) |
retourne le Min mod de deux Reals | |
__host__ __device__ Real | Arcane::math::maxMod2 (Real a, Real b) |
retourne le Max mod de deux Reals | |
Real | Arcane::math::relativeError (Real a, Real b) |
Retourne l'erreur relative entre deux scalaires a et b. | |
Real | Arcane::math::relativeError (const Real3x3 &T1, const Real3x3 &T2) |
Retourne l'erreur relative entre deux tenseurs T1 et T2. | |
Real | Arcane::math::relativeError2 (Real a, Real b) |
Retourne l'erreur relative entre deux scalaires a et b relativement à b. | |
Real | Arcane::math::relativeError1 (Real a, Real b) |
Retourne l'erreur relative entre deux scalaires a et b relativement à a. | |
bool | Arcane::math::searchExtrema (ConstArrayView< Real2 > array, Real &xmin, Real &xmax, Real &ymin, Real &ymax, bool need_init) |
Recherche les valeurs extrèmes d'un tableau de couple (x,y). | |
__host__ __device__ Real | Arcane::math::matrixDeterminant (Real3x3 m) |
Calcul du déterminant d'une matrice 3x3. | |
Real | Arcane::math::normeR3 (Real3 v1) |
Norme d'un vecteur. | |
__host__ __device__ Real3x3 | Arcane::math::matrix3x3Id () |
Matrice identite. | |
__host__ __device__ Real3x3 | Arcane::math::inverseMatrix (const Real3x3 &m, Real d) |
Calcul de l'inverse d'une matrice m en supposant connu son déterminant d. | |
__host__ __device__ Real3x3 | Arcane::math::inverseMatrix (const Real3x3 &m) |
Calcul de l'inverse d'une matrice m. | |
Real3 | Arcane::math::crossProduct3 (Real3 v1, Real3 v2) |
Produit vectoriel de deux vecteurs à 3 composantes. | |
__host__ __device__ Real3 | Arcane::math::cross (Real3 v1, Real3 v2) |
Produit vectoriel de deux vecteurs à 3 composantes. | |
__host__ __device__ Real3 | Arcane::math::normalizeReal3 (Real3 v) |
Normalisation d'un Real3. | |
Real3 | Arcane::math::normalizedCrossProduct3 (Real3 v1, Real3 v2) |
Produit vectoriel normalisé. | |
Real3x3 | Arcane::math::matrix3x3Transp (Real3x3 m) |
Real3x3 | Arcane::math::matrix3x3Prod (Real3x3 m1, Real3x3 m2) |
Multiplication de 2 matrices 3x3. | |
__host__ __device__ Real3 | Arcane::math::multiply (const Real3x3 &m, Real3 v) |
Produit matrice 3x3 . vecteur. | |
bool | Arcane::math::isNearlyId (Real3x3 m, Real epsilon=1.e-10) |
Vérifie qu'une matrice vaut bien la matrice identité. | |
Real3 | Arcane::math::planarSymmetric (Real3 u, Real3 n) |
Symétrie d'un vecteur u par rapport à un plan de normale n. | |
Real3 | Arcane::math::axisSymmetric (Real3 u, Real3 a) |
Symétrie d'un vecteur u par rapport à un axe de vecteur directeur a . | |
template<typename T > | |
void | Arcane::math::add (ArrayView< T > lhs, ConstArrayView< T > copy_array) |
Ajoute le tableau copy_array dans l'instance. | |
template<typename T > | |
void | Arcane::math::add (ArrayView< T > lhs, ArrayView< T > copy_array) |
Ajoute le tableau copy_array dans l'instance. | |
template<typename T > | |
void | Arcane::math::sub (ArrayView< T > lhs, ConstArrayView< T > copy_array) |
Soustrait le tableau copy_array de l'instance. | |
template<typename T > | |
void | Arcane::math::sub (ArrayView< T > lhs, ArrayView< T > copy_array) |
Soustrait le tableau copy_array de l'instance. | |
template<typename T > | |
void | Arcane::math::mult (ArrayView< T > lhs, ConstArrayView< T > copy_array) |
Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array. | |
template<typename T > | |
void | Arcane::math::mult (ArrayView< T > lhs, ArrayView< T > copy_array) |
Multiplie terme à terme les éléments de l'instance par les éléments du tableau copy_array. | |
template<typename T > | |
void | Arcane::math::mult (ArrayView< T > lhs, T o) |
Multiplie tous les éléments du tableau par le réel o. | |
template<typename T > | |
void | Arcane::math::power (ArrayView< T > lhs, T o) |
Met à la puissance o tous les éléments du tableau. | |
Fonctions mathématiques diverses.
Définition dans le fichier MathUtils.h.