Sei sulla pagina 1di 115

Claudio Marsan

Introduzione all’uso di Maple V Release 6

|\^/|

|\|

|/|

MAPLE

<---- ---->

|

/

\

Liceo cantonale di Mendrisio

Mendrisio, anno scolastico 2001–2002

ii

Versione 1.1

Testo composto dall’autore con L A T E X2 ε (ultima modifica: 15 maggio 2002)

Copyright c 2002 by Claudio Marsan

Avvertenza: queste note sono state scritte come introduzione all’uso di Maple per il corso di Fisica e applicazioni della matematica per le classi 3BCD del Liceo cantonale di Mendrisio, tenuto dai professori Claudio Marsan, Norberto Pagani e Carlo Pontinelli nell’anno scolastico 2001–2002. Queste note sono basate su altre note scritte dall’autore per vari corsi su Maple V Release 3 e Maple V Release 4, tenuti per allievi e colleghi.

Malgrado la cura e l’attenzione prestata nella redazione del testo, è possibile che ci siano ancora degli errori di stampa.

Claudio Marsan Liceo Cantonale di Mendrisio Via Agostino Maspoli CH–6850 Mendrisio e–mail: claudio.marsan@liceomendrisio.ch

INDICE

1 Sistemi automatici di manipolazione algebrica

 

1

1.1 Calcolo numerico

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1

1.2 Calcolo simbolico–algebrico

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1

1.3 Computer Algebra System

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

1.4 Proprietà comuni ai Computer Algebra System

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2

1.5 Vantaggi derivanti dall’uso di Computer Algebra System

.

.

.

.

.

.

.

.

.

.

3

1.6 Limitazioni dei Computer Algebra System

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

1.7 Origine e sviluppo di Maple

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

1.8 Caratteristiche principali di Maple V Release 6

 

5

2 Uso di Maple V Release 6 for Windows

 

7

2.1 Inizio e fine di una sessione di lavoro

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

2.2 L’interfaccia grafica di Maple

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

2.3 Aiuto!

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

2.4 Fogli elettronici

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

2.5 Uso delle palette

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

2.6 Uso del pulsante destro del mouse

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

2.7 Altre caratteristiche dell’interfaccia grafica

 

12

2.8 Comandi .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

13

2.9 Commenti

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

iii

iv

INDICE

2.10 L’operatore ditto

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

2.11 Comandi di input e output

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

3 Aritmetica elementare

 

17

3.1 Operazioni elementari

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

3.2 Rappresentazione di numeri

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

3.3 Approssimazioni

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

4 Variabili

21

4.1 Nome di una variabile

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

4.2 Tipi di variabili

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

4.3 Protezione di una variabile

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

4.4 Assegnazione immediata e assegnazione differita

 

25

4.5 Costanti

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

5 Funzioni

29

5.1 Funzioni trigonometriche e loro inverse

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

29

5.2 Funzioni esponenziali e logaritmiche

 

30

5.3 Funzioni iperboliche e loro inverse

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

5.4 Altre funzioni elementari

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

5.5 Funzioni per la manipolazione di numeri interi

 

32

5.6 Definizione di nuove funzioni

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

32

6 Successioni, insiemi e liste

 

35

6.1 Successioni di espressioni

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

6.2 Insiemi .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

36

6.3 Liste

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

38

6.4 Combinazioni di liste e insiemi

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

39

6.5 Selezione di elementi

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

6.6 Calcolare con le liste

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

41

7 Polinomi ed espressioni razionali

 

43

7.1 Introduzione .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

7.2 Polinomi ad una variabile

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

INDICE

v

7.3 Polinomi in più variabili

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

7.4 Espressioni razionali

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

48

8 Equazioni, disequazioni e sistemi di equazioni

 

51

8.1 Equazioni

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

51

8.2 Disequazioni .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

8.3 Sistemi di equazioni .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

9 Somme e prodotti

59

9.1 Somme

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

59

Prodotti

9.2 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

60

10 Algebra lineare

63

10.1 Definizione di matrici

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

63

10.2 Operazioni con le matrici .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

65

10.3 Matrici simboliche

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

70

10.4 Matrici particolari .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

71

10.5 Definizione di vettori

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

74

10.6 Operazioni con i vettori

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

76

10.7 Manipolazioni con vettori e matrici

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

78

10.8 Risoluzione di sistemi di equazioni lineari

10.9

Autovalori e autovettori

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

81

83

. 10.10La libreria LinearAlgebra

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

85

11 Limiti di funzioni

87

11.1 Motivazione

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

87

11.2 Calcolo di limiti con Maple

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

89

11.3 Definizione formale di limite

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

91

11.4 Proprietà dei limiti

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

93

11.5 Il “teorema sandwich”

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

94

11.6 Limiti di successioni

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

95

12 Derivate

101

12.1

Introduzione

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

101

vi

INDICE

12.2 Calcolo delle derivate con Maple

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

103

12.3 Derivate di funzioni implicite

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

106

12.4 Estremi di una funzione

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

106

CAPITOLO 1 Sistemi automatici di manipolazione algebrica Con il verbo “calcolare” si intende solitamente “calcolare

CAPITOLO 1

Sistemi automatici di manipolazione algebrica

Con il verbo “calcolare” si intende solitamente “calcolare con i numeri”; in realtà in mate- matica si può calcolare anche con oggetti ben più strani dei numeri. È dunque conveniente distinguere tra calcolo numerico e calcolo simbolico–algebrico.

1.1 Calcolo numerico

Il calcolo numerico non si occupa solo di calcoli con le operazioni aritmetiche elementari ma

anche di calcoli più sofisticati quali la valutazione di una funzione in un punto, la ricerca di uno zero di un polinomio, la ricerca degli autovalori di una matrice. Nel calcolo numerico

si opera esclusivamente con i numeri e i risultati che si ottengono non sono sempre esatti

poiché nelle applicazioni si manipolano quasi sempre numeri in virgola mobile. I calcoli più semplici possono essere eseguiti con carta e matita o con una calcolatrice, quelli più complessi richiedono l’uso di un computer che si comporta come un vero “sgranocchiatore

di numeri” (number cruncher ).

Non bisogna tuttavia credere che “calcoli matematici al calcolatore” e “calcolo numerico” sia- no sinonimi: si possono far eseguire al calcolatore anche calcoli di tipo simbolico–algebrico.

1.2 Calcolo simbolico–algebrico

Il calcolo simbolico–algebrico permette di operare con simboli che rappresentano oggetti

),

vettori, matrici, polinomi, funzioni razionali, sistemi di equazioni,

ma anche elementi

matematici che possono essere numeri (interi, razionali, reali, complessi, algebrici,

1

2

CAPITOLO 1. SISTEMI AUTOMATICI DI MANIPOLAZIONE ALGEBRICA

di strutture algebriche astratte quali gruppi, anelli, campi, algebre. L’aggettivo simbolico

vuole far risaltare il fatto che si cerca una soluzione che possa essere espressa median-

te una formula chiusa, mentre l’aggettivo algebrico sottolinea il fatto che i calcoli sono

eseguiti esattamente, sfruttando le regole dell’algebra e non utilizzando le approssimazioni dell’aritmetica in virgola mobile. Tipici problemi di calcolo simbolico–algebrico sono la fat-

torizzazione di polinomi, la derivazione e l’integrazione di funzioni, la risoluzione analitica

di equazioni differenziali, la risoluzione esatta di sistemi di equazioni, la semplificazione di

espressioni matematiche,

1.3 Computer Algebra System

Con Computer Algebra System (CAS), che si può tradurre con sistema automatico di manipolazione algebrica o con sistema di algebra computazionale, si intende un programma per calcolatore che permette di risolvere problemi di calcolo simbolico–algebrico.

Tra i CAS si distinguono i sistemi specializzati in un ramo della fisica o della matematica (per esempio: SCHOONSCHIP per la fisica delle alte energie, CAMAL per la meccanica ce- leste, SHEEP e STENSOR per la relatività generale, Cayley e GAP per la teoria dei gruppi, PARI per la teoria dei numeri, CoCoA per l’algebra commutativa, Macaulay per l’algebra

geometrica, DELiA per l’analisi di equazioni differenziali) e i sistemi generali che tentano

di coprire il maggior numero di aree di applicazione possibile (per esempio: MACSYMA,

REDUCE, AXIOM, MuMATH, DERIVE, MAPLE, MUPAD, MATHEMATICA).

1.4 Proprietà comuni ai Computer Algebra System

I CAS sono programmi interattivi: l’utente inserisce un’espressione matematica o istruzio-

ne e il programma tenta di eseguirla. Una volta ottenuto il risultato l’utente può inserire una nuova istruzione.

I CAS lavorano in aritmetica esatta, ma mettono a disposizione dell’utente anche l’arit-

metica in virgola mobile nella precisione desiderata (per esempio: 150 cifre decimali).

I CAS contengono conoscenze matematiche notevoli, tali da farli diventare dei buoni assi-

stenti matematici e da sostituire un’intera biblioteca di testi matematici di consultazione.

La maggior parte dei CAS, oltre a funzionare come calcolatori simbolico–algebrici, mettono

a disposizione anche un linguaggio di programmazione per lo sviluppo di nuovi algoritmi.

1.5.

VANTAGGI DERIVANTI DALL’USO DI COMPUTER ALGEBRA SYSTEM

3

1.5 Vantaggi derivanti dall’uso di Computer Algebra System

A lungo termine l’obiettivo dei CAS è, per quanto possibile, raggiungere l’automatizza-

zione del processo di risoluzione di problemi matematici. I CAS attuali sono ben lungi dall’essere risolutori automatici di problemi ma sono ugualmente strumenti utili, se non indispensabili, nella ricerca e nell’insegnamento.

Il vantaggio principale nell’uso di un CAS è la sua abilità nella manipolazione di calcoli

algebrici, anche complessi.

Usando un CAS l’utente può concentrarsi sull’analisi di un problema matematico lasciando

al computer i dettagli di calcolo.

I CAS spingono l’utente a fare degli “esperimenti matematici”: è facile controllare delle congetture matematiche e di produrne di nuove in base ai risultati di calcoli eseguiti.

I CAS possono essere utilizzati come “preprocessori” per problemi che, per la loro natura

intrinseca, dovranno poi essere risolti mediante l’imprecisa aritmetica in virgola mobile: i CAS possono elaborare l’input iniziale e portarlo in una forma algebrica più conveniente (sia dal punto di vista del costo computazionale, sia dal punto di vista della precisione) che verrà poi traslata in codice Fortran o codice C.

I seguenti sono esempi che vorrebbero dimostrare l’utilità dei CAS come strumenti per ricercatori, scienziati, studiosi.

Nel 1847 l’astronomo francese Charles Delaunay iniziò a calcolare la posizione della

Luna in funzione del tempo: ci impiegò 20 anni (10 anni per il calcolo e altri 10 per

la

verifica). Nel 1867 pubblicò in due volumi i suoi risultati, che non vennero messi

in

discussione per oltre 100 anni. Con l’avvento dei satelliti artificiali il metodo di

Delaunay per il calcolo delle orbite divenne economicamente interessante e nel 1970 tre ricercatori della Boeing di Seattle riuscirono ad eseguire al calcolatore i calcoli di Delaunay in sole 20 ore, scoprendo tre piccoli errori nel lavoro originale.

Considerata la vita media di un uomo, la riduzione del tempo necessario per un’ope- razione da 20 anni a 20 ore rappresenta un guadagno qualitativo!

Nel 1973 Richard Pavelle intraprese un calcolo algebrico nel campo della teoria della relatività generale spendendo tre mesi di lavoro con carta e matita. L’anno successivo gli si presentò un problema ancora più pesante. Invece di calcolare con carta e matita Pavelle decise di scrivere un programma con MACSYMA, un CAS allora in fase di sviluppo presso il MIT di Boston.

Per provare il programma usò il problema del 1973: il calcolatore verificò l’esattezza

di tre mesi di calcoli in soli due minuti!

Uno studio condotto al calcolatore su otto fra le tavole degli integrali indefiniti più usate negli Stati Uniti all’inizio degli anni Ottanta rivelò che circa il 10% cento delle

4

CAPITOLO 1. SISTEMI AUTOMATICI DI MANIPOLAZIONE ALGEBRICA

formule contenute in queste tavole era errato; una delle tavole conteneva addirittura il 25% di formule errate!

È noto che la frazione 3π 2 è equivalente a 3π (non è necessario ricorrere ad un CAS!). Vediamo cosa succede con due modelli di calcolatrici scientifiche:

Casio FX–730P: (3π*π)/π=9.424777960; 3π=9.424777961

Hewlett Packard 38G: (3π*π)/π=9.42477796078; 3π=9.42477796077

Avremmo potuto eseguire gli stessi semplici calcoli con un programma scritto in un qualsiasi linguaggio di programmazione e fatto girare su un qualsiasi calcolatore e avremmo molto probabilmente osservato delle discrepanze nei risultati: la causa di ciò è l’uso dell’aritmetica in virgola mobile.

L’aritmetica in virgola mobile è utilizzata nella progettazione di macchine di ogni tipo, dighe, ponti, missili, eccetera. Dobbiamo dunque, per esempio, aver paura di volare con un aereo?

π

1.6 Limitazioni dei Computer Algebra System

I CAS richiedono spesso molta memoria macchina e molta pazienza umana. Anche calcoli

apparentemente semplici, come per esempio la ricerca del massimo comune divisore di due polinomi, può portare a lunghi tempi di attesa dovuti al fatto che la macchina sta lavorando in aritmetica esatta.

I risultati non sono sempre semplificati come sarebbe desiderato dall’utente e quest’ultimo deve intervenire nuovamente.

Ci sono ancora tantissimi argomenti matematici (piuttosto avanzati!) che non possono

essere trattati con un CAS.

1.7 Origine e sviluppo di Maple

Maple non è un acronimo per MAthematical PLEasure o per altro, ma è solo un nome per ricordare che il prodotto è canadese (maple = acero, la foglia di acero appare nella bandiera canadese).

Lo sviluppo di Maple è iniziato nel novembre del 1980 grazie al Symbolic Computation

Group dell’Università di Waterloo (Canada) e la prima versione commercializzata (Maple 3.3) risale al 1985. A partire dalla versione 5.2 è cambiata la denominazione del prodotto:

invece di Maple 5.2 si usa Maple V Release 2; da allora il prodotto si chiama Maple V. La versione più recente è Maple V Release 8 ed è stata rilasciata verso la metà del 2002. Noi lavoreremo però con Maple V Release 6.02, rilasciata nel febbraio 2001. Nel seguito useremo come sinonimi Maple e Maple V.

1.8.

CARATTERISTICHE PRINCIPALI DI MAPLE V RELEASE 6

5

Purtroppo Maple è diventato, con il passare delle versioni, un prodotto sempre più com- merciale e si è allontanato dallo sviluppo quasi pionieristico del mondo accademico. Esso continua ad essere sviluppato in Canada ed è usato in ogni parte del mondo da scienziati, ingegneri, matematici, insegnanti e studenti.

Maple V è disponibile anche per piattaforme Unix e Macintosh.