Capitolo 90
CAS: calcolo simbolico e algoritmi

WEB (Materiali vari)

Studia questo capitolo con l’AI: quiz, esercizi e altro

Ripassa con le flashcard

Esercizi auto-generati

Sorgente di questo capitolo

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:

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:

In questo capitolo:

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à:

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

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

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). \]

Nota  — Comandi

\[ \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\):

Tutto in pochi comandi. Lo studio analitico completo sarà in 141.

Esempio 90.18 — Plottare un grafico

Per visualizzare il grafico di una funzione:

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

Esercizio 90.1

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