SymPy - Numéros
Le module principal du package SymPy contient la classe Number qui représente les nombres atomiques. Cette classe a deux sous-classes: Float et Rational class. La classe rationnelle est encore étendue par la classe Integer.
La classe Float représente un nombre à virgule flottante de précision arbitraire.
>>> from sympy import Float
>>> Float(6.32)
La sortie de l'extrait de code ci-dessus est la suivante:
6.32
SymPy peut convertir un entier ou une chaîne en float.
>>> Float(10)
10.0
Float('1.33E5')# scientific notation
133000.0
Lors de la conversion en float, il est également possible de spécifier le nombre de chiffres pour la précision comme indiqué ci-dessous -
>>> Float(1.33333,2)
La sortie de l'extrait de code ci-dessus est la suivante:
1.3
Une représentation d'un nombre (p / q) est représentée comme un objet de la classe Rational avec q étant un nombre non nul.
>>> Rational(3/4)
La sortie de l'extrait de code ci-dessus est la suivante:
$\frac{3}{4}$
Si un nombre à virgule flottante est passé au constructeur Rational (), il renvoie la valeur sous-jacente de sa représentation binaire
>>> Rational(0.2)
La sortie de l'extrait de code ci-dessus est la suivante:
$\frac{3602879701896397}{18014398509481984}$
Pour une représentation plus simple, spécifiez la limitation du dénominateur.
>>> Rational(0.2).limit_denominator(100)
La sortie de l'extrait de code ci-dessus est la suivante:
$\frac{1}{5}$
Lorsqu'une chaîne est passée au constructeur Rational (), un nombre rationnel de précision arbitraire est renvoyé.
>>> Rational("3.65")
La sortie de l'extrait de code ci-dessus est la suivante:
$\frac{73}{20}$
L'objet rationnel peut également être obtenu si deux arguments numériques sont passés. Les parties numérateur et dénominateur sont disponibles en tant que propriétés.
>>> a=Rational(3,5)
>>> print (a)
>>> print ("numerator:{}, denominator:{}".format(a.p, a.q))
La sortie de l'extrait de code ci-dessus est la suivante:
3/5
numerator:3, denominator:5
>>> a
La sortie de l'extrait de code ci-dessus est la suivante:
$\frac{3}{5}$
La classe Integer dans SymPy représente un nombre entier de n'importe quelle taille. Le constructeur peut accepter un nombre flottant ou rationnel, mais la partie fractionnaire est rejetée
>>> Integer(10)
La sortie de l'extrait de code ci-dessus est la suivante:
10
>>> Integer(3.4)
La sortie de l'extrait de code ci-dessus est la suivante:
3
>>> Integer(2/7)
La sortie de l'extrait de code ci-dessus est la suivante:
0
SymPy a un RealNumberclasse qui agit comme alias pour Float. SymPy définit également Zero et One comme des classes singleton accessibles avec S.Zero et S.One respectivement comme indiqué ci-dessous -
>>> S.Zero
La sortie est la suivante -
0
>>> S.One
La sortie est la suivante -
1
Les autres objets numériques Singleton prédéfinis sont Half, NaN, Infinity et ImaginaryUnit
>>> from sympy import S
>>> print (S.Half)
La sortie est la suivante -
½
>>> print (S.NaN)
La sortie est la suivante -
nan
Infinity est disponible en tant qu'objet symbole oo ou S.Infinity
>>> from sympy import oo
>>> oo
La sortie de l'extrait de code ci-dessus est la suivante:
$\infty$
>>> S.Infinity
La sortie de l'extrait de code ci-dessus est la suivante:
$\infty$
Le numéro ImaginaryUnit peut être importé en tant que symbole I ou accessible en tant que S.ImaginaryUnit et représente la racine carrée de -1
>>> from sympy import I
>>> I
Lorsque vous exécutez l'extrait de code ci-dessus, vous obtenez la sortie suivante -
i
>>> S.ImaginaryUnit
La sortie de l'extrait de code ci-dessus est la suivante -
i
>>> from sympy import sqrt
>>> i=sqrt(-1)
>>> i*i
Lorsque vous exécutez l'extrait de code ci-dessus, vous obtenez la sortie suivante -
-1