---
---

<link rel="stylesheet" href="styles.css" type="text/css">

<span id="Initial"><br><br></span>

# <span><a href="#Plan">[&nabla;]</a></span> <span><a href="#Final">[@]</a></span> <span style="color: red;">Introduction à SageMath</span>

### Version 2020-10-17
### Licence cc-by-sa ModLibre.info sauf autres indications

#### NB : Copiez les instructions que vous voulez tester dans une version récente de SageMath

<span id="Plan"><br><br></span>

# <span><a href="#Exacts_1">[&nabla;]</a></span> <span><a href="#Initial">[&Delta;]</a></span> <span style="color: red;">Plan de l'introduction à SageMath</span>

* [<STRONG>Affichages exacts ou formatés</STRONG>](#Exacts_1)
* [<STRONG>Matrices</STRONG>](#Matrices)
* [<STRONG>Graphiques</STRONG>](#Graphique_1)
* [<STRONG>Polynomes</STRONG>](#Polynomes)
* [<STRONG>Différentiation et intégration</STRONG>](#Differentiation)
* [<STRONG>Théorie des graphes</STRONG>](#Graphes)
* [<STRONG>Python</STRONG>](#Python_1)
* [<STRONG>Python : Triangle de Sierpinski</STRONG>](#Python_4)
* [<STRONG>Python : Lotka-Volterra</STRONG>](#Python_6)
* [<STRONG>Langage R</STRONG>](#R)
* [<STRONG>Calculs interactifs</STRONG>](#Interaction)
* [<STRONG>Calculs itératifs</STRONG>](#Iteration)
* [<STRONG>Références</STRONG>](#References)
* [<STRONG>Fin</STRONG>](#Final)

<span id="Exacts_1"><br><br></span>

# <span><a href="#Exacts_2">[&nabla;]</a></span> <span><a href="#Plan">[&Delta;]</a></span> <span style="color: red;">Affichages exacts</span>

```{SageMath}
a, b = var('a', 'b')
a^2 + b^2 
```
a^2 + b^2

```{SageMath}
Toto = 22 
Toto
```
22

```{SageMath}
6/4
```
3/2

```{SageMath}
8/6 
```
4/3

<span id="Exacts_2"><br><br></span>

# <span><a href="#Exacts_3">[&nabla;]</a></span> <span><a href="#Exacts_1">[&Delta;]</a></span> <span style="color: red;">Affichages exacts : factorielles</span>
```{SageMath}
factorial(600)
```
12655723162254307425418678245150829297671403862274660768187828858528140823147351237817802795619571074765208532598060224803240903782164769430795025578054271906283387643826088448124626488332623608376164081221171179439885840257818732919037889603719186743943363062139593784473922231852782547619771723889252476871186000174697934549112845662596182308280390615184691924446215552586523740084932807259056238962104689731522587564412231618018774350801526839567367444928206231310973619440354723718012867753019556135721376207959558860559933052856914157120622980057169891912595926540427596853441276985006724869558201930657900240943007657817473684008944448183219124163017666607770667585082169598239230274035517738648065600492702095732843492708856036920219883363111527988109277392696562776813446645651238419301586157342867860646666350050113314787911320639668510871569846664873595017518995670958477806411667505346462590471136862647349666243426242677175204732314281064417939041868653741187423064985189556742640111598580035644021835576715752869397465453828584471291269955890393294448315746500268702149708808053100406398480942695623586049403348084970064668900206251516968479727515576425962392136269169089884609794271331061018895634421094082310408889752954265842691732460538911784960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

```{SageMath}
factorial(100)
```
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

```{SageMath}
i = var('i')
i = int(40*random())
i, factorial(i)
```
(35, 10333147966386144929666651337523200000000L)

<span id="Exacts_3"><br><br></span>

# <span><a href="#Exacts_4">[&nabla;]</a></span> <span><a href="#Exacts_2">[&Delta;]</a></span> <span style="color: red;">Affichages exacts : trigonométrie</span>

```{SageMath}
pi
```
pi

```{SageMath}
cos(pi)+1
```
0

```{SageMath}
cos(pi) + 1
```
cos(pi) + 1

```{SageMath}
cos(pi/2)
```
0

```{SageMath}
cos(pi/3)
```
1/2

```{SageMath}
cos(2*pi/3)
```
-1/2

<span id="Exacts_4"><br><br></span>

# <span><a href="#Exacts_5">[&nabla;]</a></span> <span><a href="#Exacts_3">[&Delta;]</a></span> <span style="color: red;">Affichages exacts : trigonométrie</span>

```{SageMath}
cos(pi/17)
```

cos(1/17*pi)
```{SageMath}
cos(pi/4)
```
1/2*sqrt(2)

```{SageMath}
cos(pi/5)
```
1/4*sqrt(5) + 1/4

```{SageMath}
latex(cos(pi/6)) 
```

$$\frac{1}{2} \, \sqrt{3}$$

<span id="Exacts_5"><br><br></span>

# <span><a href="#Format">[&nabla;]</a></span> <span><a href="#Exacts_4">[&Delta;]</a></span> <span style="color: red;">Affichages exacts</span>

```{SageMath}
factorial(150)
```
57133839564458545904789328652610540031895535786011264182548375833179829124845398393126574488675311145377107878746854204162666250198684504466355949195922066574942592095735778929325357290444962472405416790722118445437122269675520000000000000000000000000000000000000

```{SageMath}
(3/4)**3
```
27/64

```{SageMath}
sqrt(31)
```
sqrt(31)

<span id="Format"><br><br></span>

# <span><a href="#Matrices">[&nabla;]</a></span> <span><a href="#Exacts_5">[&Delta;]</a></span> <span style="color: red;">Affichages numériques formatés</span>

```{SageMath}
n(8/60)
```
0.133333333333333

```{SageMath}
n(8/6, 53)
```
1.33333333333333

```{SageMath}
n(8/6, 200)
```
1.3333333333333333333333333333333333333333333333333333333333

```{SageMath}
n(8/6, digits = 6)
```
1.33333

```{SageMath}
n(factorial(150))
```
5.71338395644585e262

```{SageMath}
n(pi)
```
3.14159265358979

```{SageMath}
n(pi, 53)
```
3.14159265358979

```{SageMath}
N(pi, 200)
```
3.1415926535897932384626433832795028841971693993751058209749

```{SageMath}
N(pi, digits = 6)
```
3.14159


<span id="Matrices"><br><br></span>

# <span><a href="#Graphique_1">[&nabla;]</a></span> <span><a href="#Format">[&Delta;]</a></span> <span style="color: red;">Matrices</span>

```{SageMath}
random_matrix(ZZ,5,5)
```
[ -1   3   1  -1  -1]
[  1  -2  -1 -12  -2]
[  0   0   0   1  -1]
[ -1  -1   0   1   1]
[  0   1   4   0   0]

```{SageMath}
random_matrix(QQ,5,5)
```
[1/2   0   1  -2  -2]
[ -1  -2   0  -1   2]
[  1   0   0  -1   0]
[  1   0  -2   2  -2]
[  1   1   0   1   0]

```{SageMath}
random_matrix(CC,5,3)
```
[  0.489586894030108 + 0.248333693548485*I   0.925504040903679 + 0.971022768196534*I -0.750224957551303 - 0.0925885687612076*I]
[  0.734730117716241 - 0.579273576679723*I   0.875148233935730 + 0.709337958682879*I   0.878029911308471 + 0.343286943457176*I]
[ -0.424036443895202 - 0.574726880627621*I  -0.575904338863223 - 0.540294007216634*I   0.858925895602405 - 0.711972537122582*I]
[ -0.385622295725467 + 0.577951267273975*I  -0.742864134414032 - 0.888773779912506*I  0.0601516717804098 + 0.374152600975045*I]
[-0.636058406210340 + 0.0165073241401774*I  -0.901975628663192 - 0.755812968489364*I  -0.669377326258509 - 0.572944447380326*I]

```{SageMath}
random_matrix(RR,5,5)
```
[ -0.811704668565255   0.785793156577759   0.222675354600597  -0.497374627818053   0.616438972358207]
[ -0.723667981709970 -0.0614798957323899   0.671725707237411   0.431412939690882  -0.373773178121372]
[  0.332089160509406   0.346216041138981   0.312238117299918  0.0663332833178378   0.140395014475014]
[ -0.463024535143201  -0.729251092252178  -0.952018423860972  -0.194440129439551  -0.572535231630911]
[-0.0832055220404708  -0.120197272272354  -0.853728529304118   0.450491186112010  -0.894917056072650]

<span id="Graphique_1"><br><br></span>

# <span><a href="#Graphique_2">[&nabla;]</a></span> <span><a href="#Matrices">[&Delta;]</a></span> <span style="color: red;">Graphique simple : sin(x)</span>


```{SageMath}
plot(sin(x),-pi,pi)
```
<img src="images/SageMath_sin_x_00_cc-by-sa_JMT_1440x0910.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Graphique_2"><br><br></span>

# <span><a href="#Graphique_3">[&nabla;]</a></span> <span><a href="#Graphique_1">[&Delta;]</a></span> <span style="color: red;">Graphique simple : sin(x)/x</span>

```{SageMath}
plot(sin(x)/x, -5, 5)
```
<img src="images/SageMath_sin_x_DIV_x_00_cc-by-sa_JMT_1440x0920.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Graphique_3"><br><br></span>

# <span><a href="#Graphique_4">[&nabla;]</a></span> <span><a href="#Graphique_2">[&Delta;]</a></span> <span style="color: red;">Graphique 3D : x^2 + y^2</span>

```{SageMath}
x, y = var('x', 'y')
plot3d(x^2 + y^2, (x,-1,1), (y,-1,1), viewer='threejs')
```
<img src="images/SageMath_x2_PLUS_y2_10_cc-by-sa_JMT_1440x0700.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Graphique_4"><br><br></span>

# <span><a href="#Polynomes">[&nabla;]</a></span> <span><a href="#Graphique_3">[&Delta;]</a></span> <span style="color: red;">Graphique 3D : x^2 + y^3</span>

```{SageMath}
x, y = var('x', 'y')
plot3d(x^2 + y^3, (x,-1,1), (y,-1,1), viewer='threejs')
```
<img src="images/SageMath_x2_PLUS_y3_00_cc-by-sa_JMT_1440x0690.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Polynomes"><br><br></span>

# <span><a href="#Differentiation">[&nabla;]</a></span> <span><a href="#Graphique_4">[&Delta;]</a></span> <span style="color: red;">Polynomes</span>


```{SageMath}
    a, b = var('a, b')
P = expand( (a*x + b)^2 )
P
```
a^2*x^2 + 2*a*b*x + b^2


```{SageMath}
factor(P)
```
(a*x + b)^2


```{SageMath}
P.factor()
```
(a*x + b)^2


<span id="Differentiation"><br><br></span>

# <span><a href="#EDO">[&nabla;]</a></span> <span><a href="#Polynomes">[&Delta;]</a></span> <span style="color: red;">Différentiation et intégration</span>

```{SageMath}
f(x) = x^2 
derivative( f(x) )
```
2*x


```{SageMath}
# g(x) = integral( f(x))  = Ancienne forme
g(x) = integral( f(x), x)
g(x)
```
1/3*x^3


```{SageMath}
f(x).integral(x)
```
1/3*x^3


```{SageMath}
integral(f(x), x, 0, 1)
```
1/3


```{SageMath}
integral_numerical(f(x), 0, 1)
```
(0.3333333333333333, 3.700743415417188e-15)


```{SageMath}
d(x) = derivative( f(x) )
g(x) = integral( f(x), x )
plot( (d(x), f(x), g(x)), x, 0, 1) 
```
<img src="images/SageMath_x_x2_x3_00_cc-by-sa_JMT_1440x0880.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">


```{SageMath}
diff(x^3 + 3*x^2)
```
3*x^2 + 6*x


```{SageMath}
integral(x*sin(2*x)*cos(x)^3, x)
```
-1/40*x*cos(5*x) - 1/8*x*cos(3*x) - 1/4*x*cos(x) + 1/200*sin(5*x) + 1/24*sin(3*x) + 1/4*sin(x)

<span id="EDO"><br><br></span>

# <span><a href="#Graphes">[&nabla;]</a></span> <span><a href="#Differentiation">[&Delta;]</a></span> <span style="color: red;">Équations différentielles ordinaires</span>

```{SageMath}
from sage.calculus.desolvers import desolve_odeint
t, x, y = var('t, x, y')
t   = srange(0, 10, 0.1)
f   = [x*(1-y), -y*(1-x)]
sol = desolve_odeint(f, [0.5,2], t, [x,y])
p   = line(zip(sol[:,0], sol[:,1]))
p.show() 
```

<img src="images/SageMath_Trajectoire_00_20I22U09c_1200x0870.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Graphes"><br><br></span>

# <span><a href="#Python_1">[&nabla;]</a></span> <span><a href="#EDO">[&Delta;]</a></span> <span style="color: red;">Théorie des graphes</span>

```{SageMath}
n = 6
G = graphs.CompleteGraph(n)
from sage.graphs.graph_coloring import edge_coloring
for jour, matches in enumerate(edge_coloring(G)) :
    print "Matches du jour " + str(jour) + " : " + str(matches) 
```
Matches du jour 0 : [(0, 5), (1, 4), (2, 3)]
Matches du jour 1 : [(0, 2), (1, 5), (3, 4)]
Matches du jour 2 : [(0, 4), (1, 3), (2, 5)]
Matches du jour 3 : [(0, 1), (2, 4), (3, 5)]
Matches du jour 4 : [(0, 3), (1, 2), (4, 5)]

```{SageMath}
G = graphs.CompleteGraph(6)
G.show(edge_colors=edge_coloring(G, hex_colors=True)) 
```

<img src="images/SageMath_Graphs_00_cc-by-sa_JMT_1440x0820.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">


<span id="Python_1"><br><br></span>

# <span><a href="#Python_2">[&nabla;]</a></span> <span><a href="#Graphes">[&Delta;]</a></span> <span style="color: red;">Programmation en Python</span>

```{SageMath}
print "a" 
```
a

```{SageMath}
print("a")
```
a

<span id="Python_2"><br><br></span>

# <span><a href="#Python_3">[&nabla;]</a></span> <span><a href="#Python_1">[&Delta;]</a></span> <span style="color: red;">Python : Fibonacci</span>

```{SageMath}
#Copyright (C)   2007-2008   Creative Commons Attribution 2.5
#                            http://wiki.laptop.org/go/Pippy
#Version         2013-04-12  Jean.Thiery@ModLibre.info
#
#   Title:  Fibonacci Series
#   Author: Rafael Ortiz </go/User:RafaelOrtiz>
#   About:  The Fibonacci Number Series
#   en:     http://en.wikipedia.org/wiki/Fibonacci_number
#   fr:     http://fr.wikipedia.org/wiki/Suite_de_Fibonacci
#   Shows:  Using tuple assignments. While loop. 

a, b = 0, 1
while b < 1001:
     print b,
     a, b = b, a+b

print
print 
```
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

<span id="Python_3"><br><br></span>

# <span><a href="#Python_4">[&nabla;]</a></span> <span><a href="#Python_2">[&Delta;]</a></span> <span style="color: red;">Python : Fibonacci 2</span>

```{SageMath}
#Copyright (C)   2007-2008   Creative Commons Attribution 2.5
#                            http://wiki.laptop.org/go/Pippy
#Version         2013-04-12  Jean.Thiery@ModLibre.info
#
#   Title:  Fibonacci Series (normal and alternate)
#   Author: Rafael Ortiz </go/User:RafaelOrtiz>
#   About:  The Fibonacci Number Series
#   en:     http://en.wikipedia.org/wiki/Fibonacci_number
#   fr:     http://fr.wikipedia.org/wiki/Suite_de_Fibonacci
#   Shows:  Using tuple assignments. While loop.

a, b = 0, 1
while b < 1001:
     print b,
     a, b = b, a+b

print

a, b = 0, 1
while b < 1001:
     print b,
     a, b = b, a-b

print
print 
```
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
1 -1 2 -3 5 -8 13 -21 34 -55 89 -144 233 -377 610 -987

<span id="Python_4"><br><br></span>

# <span><a href="#Python_5">[&nabla;]</a></span> <span><a href="#Python_3">[&Delta;]</a></span> <span style="color: red;">Python : Triangle de Sierpinski</span>

```{SageMath}
#Copyright (C)   2007-2008   Creative Commons Attribution 2.5
#                            http://wiki.laptop.org/go/Pippy
#Version         2013-04-12  Jean.Thiery@ModLibre.info
#
#   Title:  Sierpinski's triangle
#   Author: Madeleine Ball
#   About:  Character graphics of a Sierpinski triangle
#   en:     http://en.wikipedia.org/wiki/Sierpinski_triangle
#   fr:     http://fr.wikipedia.org/wiki/Triangle_de_Sierpi%C5%84ski
#   Shows:  Modifying Pascal's triangle program, loops, vectors 

size = 4 # 5 
modulus = 2

lines = modulus**size

vector = [1]
for i in range(1,lines+1):
  vector.insert(0,0)
  vector.append(0)

for i in range(0,lines):
  newvector = vector[:]
  for j in range(0,len(vector)-1):
    if (newvector[j] == 0):
      print " ",
    else:
      remainder = newvector[j] % modulus
      if (remainder == 0):
        print "O",  # "O" or "#"
      else:
        print "-",  # "." or "="
    newvector[j] = vector[j-1] + vector[j+1]
  print
  vector = newvector[:]

print
```
                                -                              
                              -   -                            
                            -   O   -                          
                          -   -   -   -                        
                        -   O   O   O   -                      
                      -   -   O   O   -   -                    
                    -   O   -   O   -   O   -                  
                  -   -   -   -   -   -   -   -                
                -   O   O   O   O   O   O   O   -              
              -   -   O   O   O   O   O   O   -   -            
            -   O   -   O   O   O   O   O   -   O   -          
          -   -   -   -   O   O   O   O   -   -   -   -        
        -   O   O   O   -   O   O   O   -   O   O   O   -      
      -   -   O   O   -   -   O   O   -   -   O   O   -   -    
    -   O   -   O   -   O   -   O   -   O   -   O   -   O   -  
  -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -


<img src="images/SageMath_Art_Sierpinski_triangle_0590x0509_SM.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

[Plus d'informations](https://wiki.sagemath.org/art#Sierpinski_triangle)


<span id="Python_5"><br><br></span>

# <span><a href="#Python_6">[&nabla;]</a></span> <span><a href="#Python_4">[&Delta;]</a></span> <span style="color: red;">Python : Tortue</span>

```{SageMath}
from turtle import *
from math import *

AB = 50 * sqrt(13)
alpha = degrees(atan(2/3))
forward(200)
left(90)
forward(100)
left(90)
forward(50)
left(alpha)
forward(AB)

mainloop()
```
<span id="Python_6"><br><br></span>

# <span><a href="#Python_7">[&nabla;]</a></span> <span><a href="#Python_5">[&Delta;]</a></span> <span style="color: red;">Python : Lotka-Volterra</span>

```{SageMath}
import scipy; from scipy import integrate
a, b, c, d = 1.0, 0.1, 1.5, 0.75
def dX_dt(X, t=0):                            # renvoie l'augmentation des populations
    return [ a * X[0] -     b * X[0] * X[1] ,
            -c * X[1] + d * b * X[0] * X[1] ]
t = srange(0, 15, 0.01)                       # échelle de temps
X0 = [10, 5]           # Conditions initiales : 10 lievres et 5 lynx
X  = integrate.odeint(dX_dt, X0, t)           # résolution numérique
lievres, lynx = X.T                           # raccourcis de X.transpose()
p  = line(zip(t, lievres),  color = 'green')  # tracé du nombre de lievres
p += line(zip(t, lynx), color='red')          # tracé du nombre de lynx
p.show()                                      # tracé 
```

<img src="images/SageMath_Pred_Proies_00_cc-by-sa_JMT_1440x0864.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Python_7"><br><br></span>

# <span><a href="#R">[&nabla;]</a></span> <span><a href="#Python_6">[&Delta;]</a></span> <span style="color: red;">Python : Lotka-Volterra + Libellés</span>

```{SageMath}
import scipy; from scipy import integrate
a, b, c, d = 1.0, 0.1, 1.5, 0.75
def dX_dt(X, t=0):                            # renvoie l'augmentation des populations
    return [ a * X[0] -     b * X[0] * X[1] ,
            -c * X[1] + d * b * X[0] * X[1] ]
t = srange(0, 15, 0.01)                       # échelle de temps
X0 = [10, 5]           # Conditions initiales : 10 lievres et 5 lynx
X  = integrate.odeint(dX_dt, X0, t)           # résolution numérique
lievres, lynx = X.T                           # raccourcis de X.transpose()
p  = line(zip(t, lievres),  color = 'green')  # tracé du nombre de lievres
p += line(zip(t, lynx), color='red')          # tracé du nombre de lynx

p += text("Lievres",  (10.6, 37), fontsize = 20, color = 'green')
p += text("Lynx", (12,  8), fontsize = 20, color = 'red')
p.axes_labels(["temps", "population"]);
p.show(gridlines=True)                        # tracé 
```
<img src="images/SageMath_Lynx_Lievres_00_cc-by-sa_JMT_1440x0864.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="R"><br><br></span>

# <span><a href="#Interaction">[&nabla;]</a></span> <span><a href="#Python_7">[&Delta;]</a></span> <span style="color: red;">Calculs divers : Langage R...</span>

```{SageMath}
r.summary(r.c(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987))
```
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    1.0     4.5    27.5   161.4   166.2   987.0 

## Addition

```{SageMath}
1*200 + 2*50 + 8*20 + 3*10 + 7*5 + 1*2 + 3*1
```
530

<span id="Interaction"><br><br></span>

# <span><a href="#Iteration">[&nabla;]</a></span> <span><a href="#R">[&Delta;]</a></span> <span style="color: red;">Calculs interactifs</span>

## Vector Fields and Euler's Method

```{SageMath}
x,y = var('x,y')
from sage.ext.fast_eval import fast_float
@interact
def _(f = input_box(default=y), g=input_box(default=-x*y+x^3-x),
      xmin=input_box(default=-1), xmax=input_box(default=1),
      ymin=input_box(default=-1), ymax=input_box(default=1),
      start_x=input_box(default=0.5), start_y=input_box(default=0.5),
      step_size=(0.01,(0.001, 0.2)), steps=(600,(0, 1400)) ):
    ff = fast_float(f, 'x', 'y')
    gg = fast_float(g, 'x', 'y')
    steps = int(steps)

    points = [ (start_x, start_y) ]
    for i in range(steps):
        xx, yy = points[-1]
        try:
            points.append( (xx + step_size * ff(xx,yy), yy + step_size * gg(xx,yy)) )
        except (ValueError, ArithmeticError, TypeError):
            break

    starting_point = point(points[0], pointsize=50)
    solution = line(points)
    vector_field = plot_vector_field( (f,g), (x,xmin,xmax), (y,ymin,ymax) )

    result = vector_field + starting_point + solution

    pretty_print(html(r"$\displaystyle\frac{dx}{dt} = %s$  $ \displaystyle\frac{dy}{dt} = %s$" % (latex(f),latex(g))))
    result.show(xmin=xmin,xmax=xmax,ymin=ymin,ymax=ymax)
```

<img src="images/SageMath_Interact_00_cc-by-sa_JMT_1000x0965.png" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="Iteration"><br><br></span>

# <span><a href="#References">[&nabla;]</a></span> <span><a href="#Interaction">[&Delta;]</a></span> <span style="color: red;">Calculs itératifs</span>

## [Série de Taylor](https://wiki.sagemath.org/interact/calculus#Taylor_Series)

<img src="images/SageMath_Interact_Taylor_0700x0501_SM.gif" style="width:70%; border:0px solid; margin-right: 0px" align="center">

## [Tours de Hanoï](https://wiki.sagemath.org/art#The_Towers_of_Hanoi)

<img src="images/SageMath_Art_Hanoi_Tower_0484x0082_SM.gif" style="width:70%; border:0px solid; margin-right: 0px" align="center">

<span id="References"><br><br></span>

# <span><a href="#Final">[&nabla;]</a></span> <span><a href="#Iteration">[&Delta;]</a></span> <span style="color: red;">Références</span>

- [Calcul mathématique avec Sage](http://sagebook.gforge.inria.fr/) A. Casamayou, N. Cohen, G. Connan, T. Dumont, L. Fousse, F. Maltey, M. Meulien, M. Mezzarobba, C. Pernet, N. M. Thiéry, P. Zimmermann : Licence libre CC-BY-SA 3.0; 468 pages, mai 2013, ISBN: 9781481191043

- [Computational Mathematics with SageMath](http://sagebook.gforge.inria.fr/english.html) Paul Zimmermann, Alexandre Casamayou, Nathann Cohen, Guillaume Connan, Thierry Dumont, Laurent Fousse, François Maltey, Matthias Meulien, Marc Mezzarobba, Clément Pernet, Nicolas M. Thiéry, Erik Bray, John Cremona, Marcelo Forets, Alexandru Ghitza, Hugh Thomas : Free license CC-BY-SA: xiv + 464 pages, December 2018

- [Rechnen mit Sage](http://sagebook.gforge.inria.fr/)

<span id="Final"><br><br></span>

# <span><a href="#Initial">[@]</a></span> <span><a href="#References">[&Delta;]</a></span> <span style="color: red;">Fin</span>

***
##### [2021-03-13 &nbsp;&nbsp;&nbsp; © 2020-2021 ModLibre.info](http://ModLibre.info) &nbsp;&nbsp;&nbsp; [licence cc-by-sa](http://creativecommons.org) &nbsp;&nbsp;&nbsp; [Source](SageMath.Rmd) &nbsp;&nbsp;&nbsp; [W3C](http://validator.w3.org/) &nbsp;&nbsp;&nbsp; [HTML5](https://fr.wikipedia.org/wiki/HTML5) &nbsp;&nbsp;&nbsp; [CSS](http://jigsaw.w3.org/css-validator/)
***
