Capitolo 90
CAS: calcolo simbolico e algoritmi
WEB (Materiali vari)
“
La macchina analitica non ha pretesa di originare alcunché. Può fare qualunque cosa noi sappiamo ordinarle
di fare.”
— Augusta Ada Lovelace, Notes on the Analytical Engine (1843)
____________________________________________________________________________________
90.1 Introduzione motivazionale
quiz e materiali con
l’AI
Negli ultimi cinquant’anni i computer hanno trasformato profondamente la pratica della
matematica. Esistono oggi due grandi famiglie di software matematici, profondamente diverse tra
loro:
- Software numerici: calcolano con valori approssimati (numeri in virgola mobile), in modo
molto veloce ma con precisione limitata. Esempi: Excel, MATLAB, NumPy (Python),
Octave. Sono indispensabili in ingegneria, fisica computazionale, statistica.
- CAS — Computer Algebra System: manipolano simboli (variabili, espressioni algebriche,
equazioni) in modo esatto, come faresti a mano. Possono semplificare \(\dfrac {x^2 - 1}{x - 1}\) in \(x + 1\) (e non in \(1.00000003\) come
farebbe un calcolo numerico).
I CAS hanno tre “superpoteri”:
-
1.
- Manipolano espressioni algebriche: somma, prodotto, fattorizzazione, semplificazione,
sviluppo di binomi e potenze.
-
2.
- Risolvono equazioni in modo esatto: dalle equazioni di secondo grado alle cubiche, sistemi
lineari, equazioni esponenziali, trigonometriche.
-
3.
- Calcolano derivate, integrali, limiti simbolicamente — anticipando concetti che
svilupperemo formalmente in IV e V (133, 144).
Software CAS popolari:
- GeoGebra: gratuito, italianizzato, multipiattaforma. In Italia è lo standard nei licei.
Include CAS, geometria dinamica, foglio di calcolo, statistica.
- WolframAlpha: web (wolframalpha.com), gratuito per uso base. Risposte immediate a
query in linguaggio quasi naturale: “solve x^2 + 3x - 4 = 0”.
- Mathematica (Wolfram), Maple (Maplesoft): software professionali a pagamento, usati
nella ricerca.
- SageMath, Maxima, SymPy: alternative open source, gratis. SymPy è una libreria Python
molto usata.
- Calcolatrici grafiche con CAS: TI-Nspire CAS, HP Prime, Casio ClassPad — calcolatrici
fisiche con CAS integrato. Permesse in alcuni esami (ma non in altri — verificare il
regolamento).
In questo capitolo:
- presentiamo le funzionalità di base di un CAS (manipolazione simbolica);
- vediamo come si risolvono equazioni e sistemi;
- diamo un anticipo di derivate, integrali e limiti — calcolabili in pochi click;
- discutiamo quando è opportuno usare un CAS (e quando no).
90.2 Calcolo simbolico
quiz e materiali con
l’AI
flashcard del
paragrafo
La caratteristica fondamentale di un CAS è la capacità di manipolare simboli
(non solo numeri). Vediamo le operazioni di base, con la sintassi di tre dei sistemi più
comuni:
Nota — Comandi base — sintassi a confronto
\[ \begin {array}{l|l|l|l} \text {Operazione} & \text {GeoGebra CAS} & \text {WolframAlpha / Mathematica} & \text {SymPy (Python)} \\ \hline \text {Somma/prodotto} & \text {automatici} & \text {automatici} & \text {automatici} \\ \text {Espansione} & \texttt {Espandi[(x+1)\textasciicircum 3]} & \texttt {Expand[(x+1)\textasciicircum 3]} & \texttt {expand((x+1)**3)} \\ \text {Fattorizzazione} & \texttt {Fattorizza[x\textasciicircum 2-1]} & \texttt {Factor[x\textasciicircum 2-1]} & \texttt {factor(x**2-1)} \\ \text {Semplificazione} & \texttt {Semplifica[...]} & \texttt {Simplify[...]} & \texttt {simplify(...)} \\ \text {Sostituzione} & \texttt {Sostituisci[f,x=2]} & \texttt {f /. x->2} & \texttt {f.subs(x, 2)} \\ \end {array} \]
(Sintassi semplificata, per uso didattico. In ogni sistema esistono varianti.)
Esempio 90.1 — Sviluppo di un binomio
Calcolare \((x + 1)^5\) con un CAS.
Soluzione (GeoGebra): Espandi[(x + 1)^5].
Output:
\[ x^5 + 5x^4 + 10x^3 + 10x^2 + 5x + 1. \]
(I coefficienti sono la quinta riga del triangolo di Tartaglia, 86.)
Esempio 90.2 — Fattorizzazione
Fattorizzare \(x^3 - 1\).
Soluzione (CAS): Fattorizza[x^3 - 1].
Output: \((x - 1)(x^2 + x + 1)\).
(Verifica: \((x-1)(x^2 + x + 1) = x^3 + x^2 + x - x^2 - x - 1 = x^3 - 1\) \(\checkmark\).)
Esempio 90.3 — Semplificazione di una frazione
algebrica
Semplificare \(\dfrac {x^2 - 4}{x^2 + 4x + 4}\).
Soluzione (CAS): Semplifica[(x^2 - 4)/(x^2 + 4x + 4)].
Output: \(\dfrac {x - 2}{x + 2}\) (per \(x \neq -2\)).
Esempio 90.4 — Espansione di polinomi
grandi
Calcolare \((1 + x)^{20}\) manualmente è impraticabile (richiederebbe la riga 20 del triangolo di
Tartaglia, con coefficienti che arrivano a \(\binom {20}{10} = 184756\)).
Soluzione (CAS): Espandi[(1 + x)^20]. Il CAS restituisce l’intero polinomio in una
frazione di secondo.
90.3 Risoluzione di equazioni con CAS
quiz e materiali con
l’AI
flashcard del
paragrafo
Una delle applicazioni più frequenti dei CAS è la risoluzione di equazioni e sistemi. A
differenza dei metodi numerici (che danno approssimazioni), il CAS restituisce le soluzioni
esatte.
Nota — Comandi per risolvere
\[ \begin {array}{l|l|l} \text {Sistema} & \text {Comando} & \text {Esempio} \\ \hline \text {GeoGebra} & \texttt {Risolvi[...]} & \texttt {Risolvi[x\textasciicircum 2 - 4 = 0, x]} \\ \text {Mathematica} & \texttt {Solve[..., x]} & \texttt {Solve[x\textasciicircum 2 - 4 == 0, x]} \\ \text {SymPy} & \texttt {solve(...)} & \texttt {solve(x**2 - 4, x)} \end {array} \]
Esempio 90.5 — Equazione di secondo grado
Risolvi[x^2 + 3x - 4 = 0, x].
Output: \(x = 1\) o \(x = -4\).
Esempio 90.6 — Equazione di terzo grado
Risolvi[x^3 - 6x^2 + 11x - 6 = 0, x].
Output: \(x = 1\) o \(x = 2\) o \(x = 3\).
(Il CAS applica internamente metodi di fattorizzazione e/o la formula di Cardano; per
noi è sufficiente leggere il risultato.)
Esempio 90.7 — Equazione di terzo grado in forma
generale
Risolvi[x^3 - 2x + 1 = 0, x].
Output (Mathematica):
\[ x = 1,\qquad x = \tfrac {-1 - \sqrt 5}{2},\qquad x = \tfrac {-1 + \sqrt 5}{2}. \]
(Sono radici esatte, con simboli irrazionali. Un metodo numerico darebbe
approssimazioni come \(-1.618, 0.618, 1\).)
Esempio 90.8 — Sistema lineare
Risolvi[{x + y = 5, 2x - y = 1}, {x, y}].
Output: \(x = 2\), \(y = 3\).
Esempio 90.9 — Equazione esponenziale
Risolvi[2^x = 7, x].
Output: \(x = \log _2 7 \approx 2.807\) (o \(x = \ln 7/\ln 2\), equivalente).
Nota — Quando una soluzione non si trova in forma
chiusa
Esistono equazioni per cui le soluzioni esistono ma non sono esprimibili in forma chiusa con
radicali (es. molte equazioni di grado \(\geq 5\), teorema di Abel-Ruffini, 1824). In quei casi il CAS dà:
- una rappresentazione implicita (es. “\(x\) tale che \(f(x) = 0\)”);
- oppure passa a metodi numerici approssimati. Il comando esplicito è di solito NSolve
(numerico) invece di Solve (simbolico).
90.4 Derivate e integrali con CAS
quiz e materiali con
l’AI
flashcard del
paragrafo
I CAS hanno la capacità — straordinaria — di calcolare derivate e integrali simbolicamente.
Sono concetti che svilupperemo formalmente nei capitoli di analisi (133 per le derivate, 144 per gli
integrali), ma vale la pena anticiparli per mostrare la potenza dei CAS.
Derivate
La derivata \(f'(x)\) di una funzione \(f(x)\) misura il suo tasso di variazione istantaneo (coefficiente angolare della
retta tangente al grafico, 71, 133).
Nota — Comandi per la derivata
\[ \begin {array}{l|l|l} \text {Sistema} & \text {Comando} & \text {Esempio} \\ \hline \text {GeoGebra} & \texttt {Derivata[f, x]} & \texttt {Derivata[x\textasciicircum 3, x]} \\ \text {Mathematica} & \texttt {D[f, x]} & \texttt {D[x\textasciicircum 3, x]} \\ \text {SymPy} & \texttt {diff(f, x)} & \texttt {diff(x**3, x)} \end {array} \]
Esempio 90.10 — Derivata di un polinomio
Derivata[x^3 - 2x^2 + 5x - 7, x].
Output: \(3x^2 - 4x + 5\).
(Regola generale, anticipo 134: \((x^n)' = n x^{n-1}\); la derivata si distribuisce su somme e moltiplica le
costanti.)
Esempio 90.11 — Derivata di funzioni
elementari
- Derivata[sin(x), x] \(\to \cos x\).
- Derivata[e^x, x] \(\to e^x\).
- Derivata[ln(x), x] \(\to 1/x\).
- Derivata[x^2 sin(x), x] \(\to 2x\sin x + x^2 \cos x\) (regola del prodotto).
Integrali
L’integrale di una funzione è l’operazione inversa della derivata: dato \(f(x)\), troviamo \(F(x)\) tale che \(F'(x) = f(x)\)
(primitiva, o integrale indefinito, 144).
Nota — Comandi per l’integrale
\[ \begin {array}{l|l} \text {Sistema} & \text {Comando} \\ \hline \text {GeoGebra} & \texttt {Integrale[f, x]} \\ \text {Mathematica} & \texttt {Integrate[f, x]} \\ \text {SymPy} & \texttt {integrate(f, x)} \end {array} \]
Esempio 90.12 — Integrale di un polinomio
Integrale[x^2 + 3x - 1, x].
Output: \(\dfrac {x^3}{3} + \dfrac {3 x^2}{2} - x + C\).
(La costante di integrazione \(C\) è di solito sottintesa nei CAS — verifica nella
documentazione.)
Esempio 90.13 — Integrali notevoli
- Integrale[1/x, x] \(\to \ln |x| + C\).
- Integrale[e^x, x] \(\to e^x + C\).
- Integrale[sin(x), x] \(\to -\cos x + C\).
- Integrale[1/(1+x^2), x] \(\to \arctan x + C\).
Integrali definiti
Per il calcolo di un’area sotto una curva, si usa l’integrale definito (148):
\[ \int _a^b f(x)\, dx = F(b) - F(a). \]
\[ \begin {array}{l|l} \text {Sistema} & \text {Comando} \\ \hline \text {GeoGebra} & \texttt {Integrale[f, a, b]} \\ \text {Mathematica} & \texttt {Integrate[f, \{x, a, b\}]} \\ \text {SymPy} & \texttt {integrate(f, (x, a, b))} \end {array} \]
Esempio 90.14 — Area sotto la parabola
Calcolare \(\int _0^1 x^2 \, dx\) (area tra \(y = x^2\), asse \(x\), e le rette verticali \(x = 0\) e \(x = 1\)).
Integrale[x^2, 0, 1].
Output: \(1/3\). (Risultato già noto a Cavalieri e Archimede, ottenuto con metodi geometrici.)
90.5 Esempi svolti
quiz e materiali con
l’AI
Esempio 90.15 — Verifica di un calcolo
manuale
Sviluppare \((2x - 3)^4\) a mano, poi verificare con un CAS.
Soluzione manuale (binomio di Newton, 87):
\[ (2x - 3)^4 = 16 x^4 - 96 x^3 + 216 x^2 - 216 x + 81. \]
Verifica con CAS: Espandi[(2x - 3)^4] \(\to \) stesso risultato.
Esempio 90.16 — Risolvere un sistema 3x3
Risolvi[{x + y + z = 6, 2x - y + z = 3, x + 2y - z = 4}, {x, y, z}].
Output: \(x = 1\), \(y = 2\), \(z = 3\).
(Risolvere a mano richiederebbe il metodo di Gauss o Cramer; il CAS lo fa
istantaneamente.)
Esempio 90.17 — Studio di una funzione
assistito
Per studiare \(f(x) = x^3 - 3x^2 + 2\):
- Derivata[f, x] \(\to 3x^2 - 6x\);
- Risolvi[3x^2 - 6x = 0, x] \(\to x = 0\) o \(x = 2\) (punti critici);
- f(0) \(\to 2\) (massimo locale);
- f(2) \(\to -2\) (minimo locale).
Tutto in pochi comandi. Lo studio analitico completo sarà in 141.
Esempio 90.18 — Plottare un grafico
Per visualizzare il grafico di una funzione:
- GeoGebra: digita semplicemente f(x) = x^3 - 3x^2 + 2 nella barra di input; il
grafico appare automaticamente nella vista grafica.
- Mathematica: Plot[x^3 - 3x^2 + 2, {x, -2, 4}].
Vantaggio: visualizzazione immediata di funzioni complesse senza dover tabulare manualmente
i valori.
Quando usare il CAS — e quando no
Nota — Linea guida pratica
| USA il CAS quando… | NON usare il CAS quando… |
| |
| devi verificare un calcolo lungo | stai imparando la teoria |
| il calcolo a mano è impraticabile | l’esercizio è pensato per esercitarti a
mano |
| esplori un problema, vuoi farti un’idea | nell’esame i CAS non sono ammessi |
| vuoi visualizzare un grafico complesso | basta una calcolatrice scientifica |
| risolvi un sistema con molte variabili | il calcolo è banale (perdi più tempo a
digitare!) |
Nota — Atteggiamento corretto
Il CAS è uno strumento, non un sostituto della comprensione. Le idee matematiche —
definizioni, teoremi, metodi di risoluzione — vanno imparate e comprese a mano. Una
volta padroneggiate, il CAS le applica per te ai casi più laboriosi, liberando energia
mentale per i problemi davvero interessanti.
Analogia: anche se esistono le calcolatrici, conosci ancora le tabelline. Allo stesso modo,
anche se esistono i CAS, devi conoscere le regole di derivazione, le formule risolutive, le
proprietà delle funzioni. Il CAS automatizza, ma non insegna.
90.6 Esercizi proposti
quiz e materiali con
l’AI
-
1.
- Apri GeoGebra (o un CAS a tua scelta). Verifica i seguenti calcoli prima a mano, poi con il
CAS:
- (a) sviluppa \((x + 2)^3\);
- (b) fattorizza \(x^2 - 9\);
- (c) semplifica \((x^2 - 1)/(x - 1)\);
- (d) risolvi \(x^2 - 5x + 6 = 0\).
-
2.
- Usando il CAS, calcola:
- (a) lo sviluppo di \((x + y)^{10}\);
- (b) la fattorizzazione di \(x^5 - 32\);
- (c) la semplificazione di \(\dfrac {x^3 + 1}{x + 1}\).
-
3.
- Risolvi con il CAS:
- (a) \(x^3 - 6x^2 + 11x - 6 = 0\);
- (b) \(\{2x + y = 5,\ x - 3y = -7\}\);
- (c) \(\log _2(x) = 5\);
- (d) \(e^x = 10\).
-
4.
- Confronta il risultato del CAS con la formula risolutiva delle equazioni di secondo grado:
risolvi a mano \(3x^2 - 5x + 1 = 0\) e poi con Risolvi[3x^2 - 5x + 1 = 0, x].
-
5.
- Usando il CAS, calcola (anticipo derivate):
- (a) \(\dfrac {d}{dx}(x^4)\);
- (b) \(\dfrac {d}{dx}(\sin x)\);
- (c) \(\dfrac {d}{dx}(x\cdot e^x)\);
- (d) \(\dfrac {d}{dx}(\ln x)\).
-
6.
- Usando il CAS, calcola (anticipo integrali):
- (a) \(\int x^3\, dx\);
- (b) \(\int \cos x\, dx\);
- (c) \(\int _0^1 (x^2 + 1)\, dx\);
- (d) \(\int _0^\pi \sin x\, dx\).
-
7.
- Usando GeoGebra (vista grafica), disegna i grafici di:
- (a) \(y = x^2 - 4\);
- (b) \(y = \sin x\);
- (c) \(y = e^{-x^2}\) (curva “a campana”, distribuzione normale, 159).
Identifica visivamente zeri, massimi, minimi, asintoti.
-
8.
- Visita wolframalpha.com e digita queste query in linguaggio naturale:
- “solve \(x^2 + 2x - 3 = 0\)”;
- “derivative of \(\sin (x) \cdot \cos (x)\)”;
- “integral of \(x e^x\)”;
- “factor \(x^4 - 16\)”.
Esplora le sezioni della risposta che WolframAlpha fornisce automaticamente (grafici,
forme alternative, soluzioni passo-passo).
-
9.
- (Discussione.) Lo studente A risolve un’equazione di secondo grado a mano sbagliando un
segno; lo studente B la risolve con il CAS senza errori. Ha imparato di più A o B?
Argomenta i pro e i contro.
-
10.
- (Discussione — limiti dei CAS.) Cerca su WolframAlpha la query “solve \(e^x = x^2\)”. Cosa
restituisce? Spiega perché.
-
11.
- (Sfida.) Usando il CAS, calcola lo sviluppo di \((a + b + c)^4\) (trinomio elevato alla quarta). Quanti
termini ha lo sviluppo? Confrontalo con il coefficiente multinomiale che hai visto in
84.
90.7 Riepilogo del capitolo
quiz e materiali con
l’AI
- Software numerici (Excel, MATLAB, NumPy): calcolano valori approssimati. Veloci,
precisi al limite della macchina.
- CAS — Computer Algebra System (GeoGebra, Mathematica, Maple, WolframAlpha,
SymPy): manipolano simboli in modo esatto. Sono “calcolo algebrico fatto dal
computer”.
-
Tre superpoteri dei CAS:
-
1.
- manipolazione algebrica (espansione, fattorizzazione, semplificazione);
-
2.
- risoluzione esatta di equazioni e sistemi;
-
3.
- derivate, integrali e limiti simbolici.
- Software di riferimento nella scuola italiana: GeoGebra (gratuito, multilingua, comprende
CAS + geometria dinamica + statistica + grafici). WolframAlpha (web, gratis, query in
linguaggio naturale).
-
Comandi essenziali (sintassi GeoGebra/Mathematica):
\[ \begin {array}{l|l} \text {Azione} & \text {Comando tipico} \\ \hline \text {Espandere} & \texttt {Espandi/Expand} \\ \text {Fattorizzare} & \texttt {Fattorizza/Factor} \\ \text {Semplificare} & \texttt {Semplifica/Simplify} \\ \text {Risolvere} & \texttt {Risolvi/Solve} \\ \text {Derivare} & \texttt {Derivata/D} \\ \text {Integrare} & \texttt {Integrale/Integrate} \end {array} \]
- Linea guida: usa il CAS per verificare, esplorare, velocizzare — non per saltare
l’apprendimento dei fondamenti. La calcolatrice non ha eliminato le tabelline; il CAS non
elimina la matematica.
- Limiti dei CAS: equazioni di grado \(\geq 5\) in generale non si risolvono in radicali (Abel-Ruffini,
1824); molte equazioni trascendenti non hanno soluzione in forma chiusa — il CAS passa a
metodi numerici.
- Cenni storici: l’idea di “macchina che fa matematica” risale a Charles Babbage e Ada
Lovelace (xix sec.). I primi CAS commerciali appaiono negli anni ’60 (Reduce, Macsyma),
si diffondono negli anni ’80 (Maple, Mathematica), diventano gratuiti e di massa con
WolframAlpha (2009) e SageMath/SymPy (anni 2010).