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