Avancer

Section B.1 SageMathCell

L'interface web SageMathCell permet notamment d'effectuer les tâches suivantes.

  • Exécuter du code SageMath, Python, Maxima, R, etc. directement dans le fureteur, sans installation d'aucune sorte.

  • Partager son code sous la forme d'un bref lien temporaire, ou d'un lien plus long mais permanent.

Voici un premier exemple montrant comment utiliser SageMathCell comme une super calculatrice.

Résolvons le système linéaire suivant avec SageMath.

\begin{equation*} \begin{cases} a_0&+&a_1&+&a_2&=&-3\\ a_0&+&2a_1&+&4a_2&=&7\\ a_0&+&3a_1&+&9a_2&=&0\\ \end{cases} \end{equation*}

Pour cela, il suffit d'appliquer la méthode de Gauss-Jordan à la matrice augmentée du système.

\begin{equation*} \text{M} = \begin{bmatrix} 1&1&1&-3\\ 1&2&4&7\\ 1&3&9&0 \end{bmatrix} \end{equation*}

Voici le code SageMath à exécuter :

M = matrix(3, 4, [1,1,1,-3,1,2,4,7,1,3,9,0])
show(M)
GJ = M.rref()
show(GJ)

Cliquez sur ce lien pour voir ce code en action dans SageMathCell.

À la sortie de ce bloc de code, on obtient \(\text{GJ}\text{,}\) la forme échelonnée réduite de \(\text{M}\text{.}\)

\begin{equation*} \text{GJ} = \begin{bmatrix} 1&0&0&-30\\ 0&1&0&71/2\\ 0&0&1&-17/2 \end{bmatrix} \end{equation*}

On en déduit qu'il y a une unique solution :

\begin{equation*} \begin{cases} a_0&=&-30\\ a_1&=&71/2\\ a_2&=&-17/2\\ \end{cases} \end{equation*}

Voici maintenant un exemple montrant comment utiliser SageMathCell pour tester et partager du code Python.

Calculons le PGCD de \(57\) et \(42\) à l'aide de l'algorithme d'Euclide.

Voici le code Python à exécuter :

a = 57
b = 42
while a % b != 0:
    a, b = b, a % b
print(b)

Cliquez sur ce lien pour voir ce code en action dans SageMathCell.

  • Vérifiez que le langage sélectionné est bien Python.

  • Sélectionnez le langage Sage puis cliquez sur Evaluate afin d'observer qu'on obtient le même résultat à la sortie de l'algorithme.

  • Notez aussi le bouton Share grâce auquel le lien de partage a été obtenu.

À la sortie de cet algorithme, on obtient la valeur du PGCD de \(57\) et \(42\) : c'est \(3\text{.}\)