Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 1.67 KB

demo-symbolics.rst

File metadata and controls

64 lines (45 loc) · 1.67 KB

Démontration: Calcul symbolique

Le coeur des systèmes comme Maple et Maxima est le calcul sur les expressions, avec sa simplicité pour les nouveaux venus et sa souplesse. Modulo la déclaration explicite des variables et des petites variantes de syntaxe, l'utilisateur casuel retrouvera ses petits.

Une expression:

sage: f = cos(x)^6 + sin(x)^6 + 3 * sin(x)^2 * cos(x)^2; f
cos(x)^6 + sin(x)^6 + 3*cos(x)^2*sin(x)^2

La même après avoir configuré les affichages en latex:

.. skip::

    sage: %display latex
    sage: f

Simplifions-la:

sage: f.simplify_trig()
1

Variables symboliques:

sage: k
Traceback (most recent call last):
...
NameError: name 'k' is not defined
sage: var('n,k')
(n, k)

Une sommation définie:

sage: sum(binomial(n, k) * factorial(k) / factorial(n+1+k), k, 0, n)
1/2*sqrt(pi)/factorial(n + 1/2)

Calcul de limlimits_{xrightarrow frac{pi}{4} }dfrac{cosleft(frac{pi}{4}-x right)-tan x }{1-sinleft(frac{pi}{4}+x right)}:

sage: f(x) = (cos(pi/4-x)-tan(x)) / (1-sin(pi/4 + x))
sage: limit(f(x), x = pi/4, dir='minus')
+Infinity

Calcul, selon la valeur de x, de l'intégrale int_0^{infty} frac{x cos u}{u^2+x^2} du:

sage: var('u')
u
sage: f = x * cos(u) / (u^2 + x^2)
sage: assume(x>0)
sage: f.integrate(u, 0, infinity)
1/2*pi*e^(-x)
sage: forget(); assume(x<0); f.integrate(u, 0, infinity)
-1/2*pi*e^x

L'arithmétique est gérée en interne (pynac) et le reste est délégué à Maxima. En relatif, cet aspect reste un des points faibles de Sage.