Arcane  4.2.1.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Real3x3

Classe gérant une matrice réelle 3x3. Plus de détails...

#include <arccore/base/Real3x3.h>

Fonctions membres publiques

constexpr __host__ __device__ Real3x3 ()
 Construit la matrice avec tous les coefficients à zéro.
constexpr __host__ __device__ Real3x3 (Real3 ax, Real3 ay, Real3 az)
 Construit la matrice avec les lignes (ax,ay,az).
 Real3x3 (const Real3x3 &f)=default
 Construit un triplet identique à f.
constexpr __host__ __device__ Real3x3 (const Real3x3POD &f)
 Construit un triplet identique à f.
constexpr __host__ __device__ Real3x3 (Real v)
 Construit l'instance avec le triplet (v,v,v).
constexpr __host__ __device__ Real3x3 (ConstArrayView< Real > av)
 Construit le triplet ((av[0], av[1], av[2]), (av[3], av[4], av[5]), (av[6], av[7], av[8])).
Real3x3operator= (const Real3x3 &f)=default
 Opérateur d'affectation de copie.
constexpr __host__ __device__ Real3x3operator= (Real v)
 Affecte le triplet (v,v,v) à l'instance.
constexpr __host__ __device__ Real3x3 copy () const
 Retourne une copie de la matrice.
constexpr __host__ __device__ Real3x3reset ()
 Réinitialise les coefficients de la matrice à zéro.
constexpr __host__ __device__ Real3x3assign (Real3 ax, Real3 ay, Real3 az)
 Affecte les lignes (ax,ay,az) à l'instance.
constexpr __host__ __device__ Real3x3assign (Real3x3 f)
 Copie la matrice f.
constexpr __host__ __device__ ArrayView< Realview ()
constexpr __host__ __device__ ConstArrayView< RealconstView () const
std::istream & assign (std::istream &i)
 Lit la matrice à partir du flux i La matrice est lue sous la forme de trois Real3.
std::ostream & print (std::ostream &o) const
 Écrit le triplet dans le flux o de manière à ce qu'il soit lisible par assign().
std::ostream & printXyz (std::ostream &o) const
 Écrit le triplet dans le flux o sous la forme (x,y,z).
constexpr __host__ __device__ Real3x3add (Real3x3 b)
 Ajoute b au triplet.
constexpr __host__ __device__ Real3x3sub (Real3x3 b)
 Soustrait b du triplet.
constexpr __host__ __device__ Real3x3addSame (Real3 b)
 Ajoute b à chaque composante du triplet.
constexpr __host__ __device__ Real3x3subSame (Real3 b)
 Soustrait b à chaque composante du triplet.
constexpr __host__ __device__ Real3x3operator+= (Real3x3 b)
 Ajoute b au triplet.
constexpr __host__ __device__ Real3x3operator-= (Real3x3 b)
 Soustrait b du triplet.
constexpr __host__ __device__ void operator*= (Real b)
 Multiplie chaque composante de la matrice par le réel b.
constexpr __host__ __device__ void operator/= (Real b)
 Divise chaque composante de la matrice par le réel b.
constexpr __host__ __device__ Real3x3 operator+ (Real3x3 b) const
 Crée un triplet qui est égal à ce triplet ajouté à b.
constexpr __host__ __device__ Real3x3 operator- (Real3x3 b) const
 Crée un triplet qui est égal à ce triplet moins b.
constexpr __host__ __device__ Real3x3 operator- () const
 Crée un tenseur opposé au tenseur actuel.
constexpr __host__ __device__ bool operator== (Real3x3 b) const
 Compare l'instance actuelle composante par composante à b.
constexpr __host__ __device__ bool operator!= (Real3x3 b) const
 Compare deux triplets. Pour la notion d'égalité, voir operator==().
__host__ __device__ Real3 operator[] (Integer i) const
 Accès en lecture seule à la ligne i-ème (entre 0 et 2 inclus) de l'instance.
__host__ __device__ Real3 operator() (Integer i) const
 Accès en lecture seule à la ligne i-ème (entre 0 et 2 inclus) de l'instance.
__host__ __device__ Real operator() (Integer i, Integer j) const
 Accès en lecture seule à la ligne i-ème et à la colonne j-ème.
__host__ __device__ Real3operator[] (Integer i)
 Accès à la ligne i-ème (entre 0 et 2 inclus) de l'instance.
__host__ __device__ Real3operator() (Integer i)
 Accès à la ligne i-ème (entre 0 et 2 inclus) de l'instance.
__host__ __device__ Realoperator() (Integer i, Integer j)
 Accès à la ligne i-ème et à la colonne j-ème.
constexpr __host__ __device__ Real determinant () const
 Déterminant de la matrice.
constexpr __host__ __device__ bool isNearlyZero () const

Fonctions membres publiques statiques

constexpr __host__ static __device__ Real3x3 null ()
 Construit le tenseur nul.
constexpr __host__ static __device__ Real3x3 zero ()
 Construit la matrice nulle.
constexpr __host__ static __device__ Real3x3 identity ()
 Construit la matrice identité
constexpr __host__ static __device__ Real3x3 fromColumns (Real ax, Real ay, Real az, Real bx, Real by, Real bz, Real cx, Real cy, Real cz)
 Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
constexpr __host__ static __device__ Real3x3 fromLines (Real ax, Real bx, Real cx, Real ay, Real by, Real cy, Real az, Real bz, Real cz)
 Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).

Attributs publics

Real3 x
 premier élément du triplet
Real3 y
 premier élément du triplet
Real3 z
 premier élément du triplet

Amis

std::ostream & operator<< (std::ostream &o, Real3x3 t)
 Écrit le triplet t dans le flux o.
std::istream & operator>> (std::istream &i, Real3x3 &t)
 Lit le triplet t depuis le flux o.
constexpr __host__ __device__ Real3x3 operator* (Real sca, Real3x3 vec)
 Multiplication par un scalaire.
constexpr __host__ __device__ Real3x3 operator* (Real3x3 vec, Real sca)
 Multiplication par un scalaire.
constexpr __host__ __device__ Real3x3 operator/ (Real3x3 vec, Real sca)
 Division par un scalaire.
constexpr __host__ __device__ bool operator< (Real3x3 v1, Real3x3 v2)
 Opérateur de comparaison.

Description détaillée

Classe gérant une matrice réelle 3x3.

La matrice comprend trois composantes x, y et z de type Real3. Chaque composante représente une ligne de la matrice. Par conséquent, pour une matrice m, m.y.z représente la 2ème ligne et la 3ème colonne de la matrice.

Il est également possible d'accéder aux éléments de la matrice comme un tableau. Par exemple m[1][2] représente la 2ème ligne et la 3ème colonne de la matrice.

Les matrices peuvent être construites par ligne en spécifiant les valeurs ligne par ligne (fromLines()) ou en spécifiant par colonne (fromColumns()).

Par exemple :

Real3x3 matrix;
matrix.x.y = 2.0;
matrix.y.z = 3.0;
matrix.x.x = 5.0;
Real3 y
premier élément du triplet
constexpr __host__ __device__ Real3x3()
Construit la matrice avec tous les coefficients à zéro.
Real3 x
premier élément du triplet
Real y
deuxième composante du triplet
Real z
troisième composante du triplet
Real x
première composante du triplet

Définition à la ligne 66 du fichier arccore/src/base/arccore/base/Real3x3.h.

Documentation des constructeurs et destructeur

◆ Real3x3() [1/5]

__host__ __device__ Arcane::Real3x3::Real3x3 ( )
inlineconstexpr

◆ Real3x3() [2/5]

__host__ __device__ Arcane::Real3x3::Real3x3 ( Real3 ax,
Real3 ay,
Real3 az )
inlineconstexpr

Construit la matrice avec les lignes (ax,ay,az).

Définition à la ligne 78 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

◆ Real3x3() [3/5]

__host__ __device__ Arcane::Real3x3::Real3x3 ( const Real3x3POD & f)
inlineexplicitconstexpr

Construit un triplet identique à f.

Définition à la ligne 100 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

◆ Real3x3() [4/5]

__host__ __device__ Arcane::Real3x3::Real3x3 ( Real v)
inlineexplicitconstexpr

Construit l'instance avec le triplet (v,v,v).

Définition à la ligne 107 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

◆ Real3x3() [5/5]

__host__ __device__ Arcane::Real3x3::Real3x3 ( ConstArrayView< Real > av)
inlineexplicitconstexpr

Construit le triplet ((av[0], av[1], av[2]), (av[3], av[4], av[5]), (av[6], av[7], av[8])).

Définition à la ligne 113 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

Documentation des fonctions membres

◆ add()

__host__ __device__ Real3x3 & Arcane::Real3x3::add ( Real3x3 b)
inlineconstexpr

Ajoute b au triplet.

Définition à la ligne 215 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

Référencé par operator+=().

◆ addSame()

__host__ __device__ Real3x3 & Arcane::Real3x3::addSame ( Real3 b)
inlineconstexpr

Ajoute b à chaque composante du triplet.

Définition à la ligne 233 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ assign() [1/3]

__host__ __device__ Real3x3 & Arcane::Real3x3::assign ( Real3 ax,
Real3 ay,
Real3 az )
inlineconstexpr

Affecte les lignes (ax,ay,az) à l'instance.

Définition à la ligne 171 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

Référencé par operator>>.

◆ assign() [2/3]

__host__ __device__ Real3x3 & Arcane::Real3x3::assign ( Real3x3 f)
inlineconstexpr

Copie la matrice f.

Définition à la ligne 180 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ assign() [3/3]

std::istream & Arcane::Real3x3::assign ( std::istream & i)

Lit la matrice à partir du flux i La matrice est lue sous la forme de trois Real3.

Définition à la ligne 28 du fichier arccore/src/base/arccore/base/Real3x3.cc.

Références x, y, et z.

◆ constView()

__host__ __device__ ConstArrayView< Real > Arcane::Real3x3::constView ( ) const
inlineconstexpr

Retourne une vue constante sur les neuf éléments de la matrice. [x.x, x.y, x.z, y.x, y.y, y.z, z.x, z.y, z.z]

Définition à la ligne 197 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ copy()

__host__ __device__ Real3x3 Arcane::Real3x3::copy ( ) const
inlineconstexpr

Retourne une copie de la matrice.

Définition à la ligne 161 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3().

◆ determinant()

__host__ __device__ Real Arcane::Real3x3::determinant ( ) const
inlineconstexpr

Déterminant de la matrice.

Définition à la ligne 368 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

Référencé par Arcane::math::inverseMatrix(), et Arcane::math::matrixDeterminant().

◆ fromColumns()

__host__ static __device__ Real3x3 Arcane::Real3x3::fromColumns ( Real ax,
Real ay,
Real az,
Real bx,
Real by,
Real bz,
Real cx,
Real cy,
Real cz )
inlinestaticconstexpr

Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).

Définition à la ligne 147 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3().

Référencé par Arcane::math::matrix3x3Prod(), et Arcane::math::matrix3x3Transp().

◆ fromLines()

__host__ static __device__ Real3x3 Arcane::Real3x3::fromLines ( Real ax,
Real bx,
Real cx,
Real ay,
Real by,
Real cy,
Real az,
Real bz,
Real cz )
inlinestaticconstexpr

Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).

Définition à la ligne 153 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3().

Référencé par Arcane::math::matrixProduct().

◆ identity()

__host__ static __device__ Real3x3 Arcane::Real3x3::identity ( )
inlinestaticconstexpr

Construit la matrice identité

Définition à la ligne 144 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3().

◆ isNearlyZero()

__host__ __device__ bool Arcane::Real3x3::isNearlyZero ( ) const
inlineconstexpr

Définition à la ligne 52 du fichier MathReal3x3.h.

◆ null()

__host__ static __device__ Real3x3 Arcane::Real3x3::null ( )
inlinestaticconstexpr

Construit le tenseur nul.

Définition à la ligne 138 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3().

◆ operator!=()

__host__ __device__ bool Arcane::Real3x3::operator!= ( Real3x3 b) const
inlineconstexpr

Compare deux triplets. Pour la notion d'égalité, voir operator==().

Valeurs retournées
vraisi les deux triplets sont différents,
fauxsinon.

Définition à la ligne 298 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références operator==(), et Real3x3().

◆ operator()() [1/4]

__host__ __device__ Real3 & Arcane::Real3x3::operator() ( Integer i)
inline

Accès à la ligne i-ème (entre 0 et 2 inclus) de l'instance.

Paramètres
inuméro de ligne à retourner

Définition à la ligne 349 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ operator()() [2/4]

__host__ __device__ Real3 Arcane::Real3x3::operator() ( Integer i) const
inline

Accès en lecture seule à la ligne i-ème (entre 0 et 2 inclus) de l'instance.

Paramètres
inuméro de ligne à retourner

Définition à la ligne 317 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ operator()() [3/4]

__host__ __device__ Real & Arcane::Real3x3::operator() ( Integer i,
Integer j )
inline

Accès à la ligne i-ème et à la colonne j-ème.

Paramètres
inuméro de ligne à retourner
jnuméro de colonne à retourner

Définition à la ligne 360 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ operator()() [4/4]

__host__ __device__ Real Arcane::Real3x3::operator() ( Integer i,
Integer j ) const
inline

Accès en lecture seule à la ligne i-ème et à la colonne j-ème.

Paramètres
inuméro de ligne à retourner
jnuméro de colonne à retourner

Définition à la ligne 328 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ operator*=()

__host__ __device__ void Arcane::Real3x3::operator*= ( Real b)
inlineconstexpr

Multiplie chaque composante de la matrice par le réel b.

Définition à la ligne 257 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

◆ operator+()

__host__ __device__ Real3x3 Arcane::Real3x3::operator+ ( Real3x3 b) const
inlineconstexpr

Crée un triplet qui est égal à ce triplet ajouté à b.

Définition à la ligne 273 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator+=()

__host__ __device__ Real3x3 & Arcane::Real3x3::operator+= ( Real3x3 b)
inlineconstexpr

Ajoute b au triplet.

Définition à la ligne 251 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références add(), et Real3x3().

◆ operator-() [1/2]

__host__ __device__ Real3x3 Arcane::Real3x3::operator- ( ) const
inlineconstexpr

Crée un tenseur opposé au tenseur actuel.

Définition à la ligne 279 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator-() [2/2]

__host__ __device__ Real3x3 Arcane::Real3x3::operator- ( Real3x3 b) const
inlineconstexpr

Crée un triplet qui est égal à ce triplet moins b.

Définition à la ligne 276 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator-=()

__host__ __device__ Real3x3 & Arcane::Real3x3::operator-= ( Real3x3 b)
inlineconstexpr

Soustrait b du triplet.

Définition à la ligne 254 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), et sub().

◆ operator/=()

__host__ __device__ void Arcane::Real3x3::operator/= ( Real b)
inlineconstexpr

Divise chaque composante de la matrice par le réel b.

Définition à la ligne 265 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x, y, et z.

◆ operator=()

__host__ __device__ Real3x3 & Arcane::Real3x3::operator= ( Real v)
inlineconstexpr

Affecte le triplet (v,v,v) à l'instance.

Définition à la ligne 123 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator==()

__host__ __device__ bool Arcane::Real3x3::operator== ( Real3x3 b) const
inlineconstexpr

Compare l'instance actuelle composante par composante à b.

Valeurs retournées
vraisi this.x==b.x et this.y==b.y et this.z==b.z.
fauxsinon.

Définition à la ligne 287 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

Référencé par operator!=().

◆ operator[]() [1/2]

__host__ __device__ Real3 & Arcane::Real3x3::operator[] ( Integer i)
inline

Accès à la ligne i-ème (entre 0 et 2 inclus) de l'instance.

Paramètres
inuméro de ligne à retourner

Définition à la ligne 339 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ operator[]() [2/2]

__host__ __device__ Real3 Arcane::Real3x3::operator[] ( Integer i) const
inline

Accès en lecture seule à la ligne i-ème (entre 0 et 2 inclus) de l'instance.

Paramètres
inuméro de ligne à retourner

Définition à la ligne 307 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ print()

std::ostream & Arcane::Real3x3::print ( std::ostream & o) const

Écrit le triplet dans le flux o de manière à ce qu'il soit lisible par assign().

Définition à la ligne 38 du fichier arccore/src/base/arccore/base/Real3x3.cc.

Références x, y, et z.

◆ printXyz()

std::ostream & Arcane::Real3x3::printXyz ( std::ostream & o) const

Écrit le triplet dans le flux o sous la forme (x,y,z).

Définition à la ligne 48 du fichier arccore/src/base/arccore/base/Real3x3.cc.

Références x, y, et z.

Référencé par operator<<.

◆ reset()

__host__ __device__ Real3x3 & Arcane::Real3x3::reset ( )
inlineconstexpr

Réinitialise les coefficients de la matrice à zéro.

Définition à la ligne 164 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), et zero().

◆ sub()

__host__ __device__ Real3x3 & Arcane::Real3x3::sub ( Real3x3 b)
inlineconstexpr

Soustrait b du triplet.

Définition à la ligne 224 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

Référencé par operator-=().

◆ subSame()

__host__ __device__ Real3x3 & Arcane::Real3x3::subSame ( Real3 b)
inlineconstexpr

Soustrait b à chaque composante du triplet.

Définition à la ligne 242 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ view()

__host__ __device__ ArrayView< Real > Arcane::Real3x3::view ( )
inlineconstexpr

Retourne une vue sur les neuf éléments de la matrice. [x.x, x.y, x.z, y.x, y.y, y.z, z.x, z.y, z.z]

Définition à la ligne 190 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références x.

◆ zero()

__host__ static __device__ Real3x3 Arcane::Real3x3::zero ( )
inlinestaticconstexpr

Construit la matrice nulle.

Définition à la ligne 141 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3().

Référencé par Arcane::DataTypeTraitsT< Real3x3 >::defaultValue(), Real3x3(), et reset().

◆ operator* [1/2]

__host__ __device__ Real3x3 operator* ( Real sca,
Real3x3 vec )
friend

Multiplication par un scalaire.

Définition à la ligne 386 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator* [2/2]

__host__ __device__ Real3x3 operator* ( Real3x3 vec,
Real sca )
friend

Multiplication par un scalaire.

Définition à la ligne 392 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator/

__host__ __device__ Real3x3 operator/ ( Real3x3 vec,
Real sca )
friend

Division par un scalaire.

Définition à la ligne 398 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator<

__host__ __device__ bool operator< ( Real3x3 v1,
Real3x3 v2 )
friend

Opérateur de comparaison.

Cet opérateur permet de trier des Real3 par exemple dans std::set

Définition à la ligne 409 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références Real3x3(), x, y, et z.

◆ operator<<

std::ostream & operator<< ( std::ostream & o,
Real3x3 t )
friend

Écrit le triplet t dans le flux o.

Définition à la ligne 374 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références printXyz(), et Real3x3().

◆ operator>>

std::istream & operator>> ( std::istream & i,
Real3x3 & t )
friend

Lit le triplet t depuis le flux o.

Définition à la ligne 380 du fichier arccore/src/base/arccore/base/Real3x3.h.

Références assign(), et Real3x3().

Documentation des données membres

◆ x

◆ y

◆ z


La documentation de cette classe a été générée à partir des fichiers suivants :