Corso di aggiornamento “Algebra tra tradizione e rinnovamento” Prof. Paolo Boieri 2 -L'ARITMETICA E LE OPZIONI DI PRECISIONE “Introduzione a DERIVE” LA MODALITA' EXACT L'opzione di default è EXACT. Le operazioni sugli interi sono svolte con precisione “arbitraria”: selezioniamo Author e digitiamo 100!, poi selezioniamo Simplify. Il risultato è troppo lungo per poter essere visualizzato in una sola riga dello schermo: è possibile percorrerlo usando la barra di scorrimento orizzontale; comunque il risultato viene indicato anche qui di seguito: 93326215443944152681699238856266700490715968264381621468592963895217599993229915 608941463976156518286253697920827223758251185210916864000000000000000000000000. Anche i razionali sono rappresentati esattamente, indipendentemente dal numero di cifre richieste: Le operazioni sui razionali sono svolte operando su numeratore e denominatore, come nell'aritmetica con carta e matita: viene sempre effettuata la semplificazione dei fattori comuni a numeratore e denominatore. Scheda n. 2 – L’aritmetica e le opzioni di precisione. Pag. Gli irrazionali sono rappresentati in forma simbolica e, in generale, non vengono semplificati. Nella linea di editing che si attiva con il comando Author, Pigreco viene inserito digitando PI oppure selezionando il corrispondente carattere nell’elenco di simboli sovrastante; il numero di Eulero e va anch’esso selezionato dall’elenco di simboli ed è caratterizzato da un accento circonflesso: Così, ad esempio, se scriviamo sqrt(3) oppure selezioniamo il corrispondente simbolo seguito da 3, otteniamo 3 e anche selezionando Simplify l’espressione non cambia. Analogamente selezionando Simplify con l’espressione SQRT(2)+SQRT(5)+SQRT(7) si ottiene 7 5 2 . In certi casi DERIVE semplifica espressioni contenenti irrazionali: questo avviene, ad esempio, per le espressioni contenenti radicali doppi o multipli: Le seguenti espressioni vengono razionalizzate: Infine, digitando SUM(1/k,k,1,50) e selezionando Simplify, si ottiene: 2 Scheda n. 2 – L’aritmetica e le opzioni di precisione. Pag. 3 LA MODALITA’ APPROXIMATE Mediante il comando di menu Declare, Algebra State, Simplification, alla voce Precision Mode si può scegliere di lavorare in modo APPROXIMATE, determinando eventualmente alla voce Precision Digits il numero di cifre di accuratezza. Si può ottenere lo stesso risultato selezionando Author e digitando nella linea di editing i seguenti comandi: Precision:=Approximate PrecisionDigits:=6 Supponiamo di accettare l'impostazione di default, che è di 6 cifre. Impartendo il comando: Notation:=Scientific un numero razionale viene rappresentato in notazione scientifica, vale a dire come, ad esempio, xx.yyyy se piccolo, oppure come x.yyyyy 10^zz, se grande. Così le espressioni (41/37)^31 e (7/2)^20 vengono semplificate, rispettivamente, in: 24.1016 e 7.60958*10^10: Lo stesso avviene per gli irrazionali: approssimiamo SQRT(3) con 6 cifre: PrecisionDigits:=6 SQRT(3) Selezionando Simplify si ottiene 1.73205. Portiamo ora la precisione a 20 cifre: PrecisionDigits:=20 Scheda n. 2 – L’aritmetica e le opzioni di precisione. Pag. 4 Selezionando ora Simplify sulla precedente espressione si ottiene: 1.7320508075688772935. Osserviamo che se cerchiamo di approssimare 1.73205 con 20 cifre decimali otteniamo un risultato diverso dal precedente: 1.7320508416351769151. La spiegazione di questi fatti è abbastanza sottile; in realtà nel modo APPROXIMATE il numero razionale (con numeratore e denominatore grandi) oppure irrazionale è approssimato internamente con una frazione con numeratore e denominatore il più piccoli possibile nell'ambito della accuratezza fissata. OSSERVAZIONE IMPORTANTE: I numeri in DERIVE sono rappresentati come simboli (ad esempio, SQRT(3) in modalità EXACT) oppure sono approssimati come quoziente di razionali e le operazioni interne sono sempre fatte sui razionali. La rappresentazione in forma decimale (o scientifica) è solo un fatto di notazione, per assicurare una buona leggibilità del numero. Per accedere alla rappresentazione “vera” del numero si può, attraverso i menu Declare, Algebra State, Output, Number Display, selezionare Rational alla voce Notation, oppure più semplicemente digitare Notation:=Rational. Il numero di cifre è determinato da NotationDigits:= n , ove n è il numero di cifre. In DERIVE, la scelta della PRECISION e` a monte di quella della NOTATION. Ogni tipo di precisione implica un certo tipo di notazione, scelto per default (forma frazionaria per EXACT, forma decimale/scientifica per APPROXIMATE). Passiamo allora alla rappresentazione dei numeri in forma razionale e riprendiamo gli esempi precedenti: semplificando (41/37)^31 e SQRT(3) si ottiene, rispettivamente, 28223/1171 e 5042/2911. Scheda n. 2 – L’aritmetica e le opzioni di precisione. Pag. Passando alla precisione di 20 cifre semplificando SQRT(3) si ottiene invece 100568547815/58063278153. La natura approssimata di questi calcoli può essere ben vista in questo esempio, che abbiamo già svolto in modo esatto: semplificando le due espressioni (che sono uguali, visto che la seconda si ottiene dalla razionalizzazione della prima) 1/(SQRT(2)-1) e SQRT(2)+1, si ottengono i seguenti risultati: 739070640481/306133082839 e 107578520350/44560482149. 5 Scheda n. 2 – L’aritmetica e le opzioni di precisione. Pag. Le due frazioni NON sono uguali, ma, con un'accuratezza di 20 cifre, forniscono lo stesso valore: 2.4142135623730950488. Possiamo valutare la loro differenza: 739070640481/306133082839 107578520350/44560482149 = 1.3928150621714260322*10^(-21) che è inferiore alla precisione scelta di 20 cifre. OSSERVAZIONE 1: quando si usa APPROXIMATE si ricordi che raddoppiando le cifre di precisione si quadruplicano (circa) i tempi di elaborazione. LA MODALITA’ MIXED La modalità MIXED permette di eseguire i calcoli sui razionali in modalità esatta, mentre approssima gli irrazionali come avviene per la modalità APPROXIMATE: la notazione diventa, di defualt, MIXED (DERIVE decide automaticamente tra razionale, decimale o scientifica). 6 Corso di aggiornamento “Algebra tra tradizione e rinnovamento” Prof. Paolo Boieri 3 – I NOMI DELLE VARIABILI E IL COMANDO “Introduzione a DERIVE” SIMPLIFY Il nome di una variabile in DERIVE può essere costituito da una sola lettera, oppure da più caratteri (di cui il primo deve essere una lettera). Per selezionare la modalità prescelta si usa il menu Declare, Algebra State, Input e si seleziona la modalità desiderata nel campo Input Mode. Con Input Mode = Character le variabili hanno nomi composti da una sola lettera; la scrittura abc viene interpretata come il prodotto delle tre variabili a, b e c. La modalità può essere attivata anche selezionando Author e digitando direttamente nella linea di editing InputMode:=Character. Selezionando invece l’opzione Word, abc viene considerata un'unica variabile. Inoltre nella stessa finestra di dialogo alla voce Case Sensitivity selezionando Insensitive non viene riconosciuta la differenza tra maiuscole e minuscole, mentre con Sensitive le espressioni maiuscole e minuscole sono considerate differenti. Ad esempio, con Sensitive Moc è diverso da MOC (e da mOc), mentre con Insensitive è uguale. Nel seguito utilizzeremo sempre Input Mode = Character e Case Sentivity = Insensitive. IL COMANDO SIMPLIFY Il comando Simplify ha in DERIVE una doppia funzione: una più generale di eseguire un'operazione o di calcolare una funzione, una più specifica di semplificare una espressione algebrica. In particolare Simplify esegue automaticamente le seguenti operazioni: 1) raccoglie i fattori numerici e i fattori simili nei monomi (vedi #1 nella prossima immagine) 2) raccoglie i termini simili nelle somme (vedi #3) 3) applica le identita` x + 0 = x e x*1 = x (vedi #5) 4) nella potenza di un prodotto distribuisce l'esponente sui fattori (vedi #7) Scheda n. 3 – I nomi delle variabili e il comando Simplify - Pag. Nel calcolo di polinomi Simplify sviluppa prodotti e potenze di polinomi per eliminare (se possibile) dei termini oppure per ridurre il grado di una variabile. 2 Corso di aggiornamento “Algebra tra tradizione e rinnovamento” Prof. Paolo Boieri 4 – IL COMANDO EXPAND “Introduzione a DERIVE” Il comando Simplify Expand ha lo scopo di massimizzare il numero di addendi algebricamente indipendenti in un'espressione. Ad esempio il comando, applicato all’espressione (x3)4 , produce, dopo aver selezionato anche Simplify per dare esecuzione al comando stesso, lo sviluppo della potenza indicata: Come avviene per Simplify, anche Expand puo` essere utilizzato su una intera espressione oppure su una parte di essa. Si evidenzia la parte che interessa selezionandola con il mouse e poi si sceglie Simplify Expand dal menu. Vediamo un esempio: introduciamo l'espressione x*(x-1)^2-x^2*(x-1). Evidenziamo (x-1)^2 e usiamo Expand; otteniamo: x*(x^2-2*x+1)-x^2*(x-1). Evidenziamo x*(x^2-2*x+1) e usiamo Expand ottenendo: x^3-2*x^2+x-x^2*(x-1). Idem per x^2*(x-1); otteniamo: x^3-2*x^2+x-(x^3-x^2). Ora evidenziamo l'intera espressione e selezioniamo ancora Expand: x*(1-x). Scheda n. 4 – Il comando Expand. Pag. 2 Nel caso di polinomi di più variabili è possibile espandere il polinomio scegliendo l'ordinamento desiderato. In questo esempio si espande con il comando Simplify Expand il polinomio (x+2·y+5·z^2)^3 nella sola x (confermiamo con OK la variabile proposta x nel campo Expansion Variables). Si ottiene così un polinomio in x con coefficienti che dipendono da y e z: x3 + 3x2 (2y + 5z2) + 3x (2y + 5z2)2 + (2y + 5z2)3. Lo stesso risultato si ottiene anche senza usare il menu: si seleziona Author e si digita il comando expand(#1,x), ove si suppone che l’espressione da espandere sia proprio la #1, confermiamo con OK e successivamente selezioniamo Simplify. Se invece evidenziamo con il mouse la sola variabile y nel campo Expansion Variables (oppure digitiamo il comando expand(#1,y), otterremo il polinomio: 8y3 + 12y2 (x + 5z2) + 6y (x + 5z2)2 + (x + 5z2)3 Se invece vogliamo espandere l’espressione nella x come variabile principale e nella y come secondaria (selezionando con il mouse sia x che y nel campo Expansion Variables, ovvero digitando il comando expand(#1,x,y)), si ottiene un polinomio in x e y con coefficienti dipendenti da z: x3 + 6 x2 y + 15 z2 x2 + 12 x y2 + 60 z2 x y + 75 z4 x + 8 y3 + 60 z2 y2 + 150 z4 y + 125 z6 Se espandiamo nella y come variabile principale e nella x come secondaria con il comando expand(#1,y,x) si ottiene: 8 y3 + 12 y2 x + 60 z2 y2 + 6 y x2 + 60 z2 y x + 150 z4 y + x3 + 15 z2 x2 + 75 z4 x + 125 z6. Ecco come appare lo schermo di calcolo di DERIVE: Scheda n. 4 – Il comando Expand. Pag. 3 Corso di aggiornamento “Algebra tra tradizione e rinnovamento” Prof. Paolo Boieri 5 – IL COMANDO FACTOR “Introduzione a DERIVE” Il comando Simplify Factor permette di fattorizzare un'espressione. Quando è applicato a un numero fornisce la scomposizione in fattori primi del numero stesso. Ad esempio 1234567890987654321 viene scomposto in 3^2*7*19*928163*1111211111. Il comando fa aprire la seguente finestra di dialogo: Selezionando OK la funzione Factor viene inserita nello schermo di calcolo. Selezionando Simplify si ottiene il risultato desiderato. Lo stesso risultato si sarebbe ottenuto anche selezionando Author e digitando direttamente la funzione Factor(1234567890987654321) e poi selezionando Simplify. Nel caso di polinomi in una variabile e` possibile scegliere tra cinque opzioni, che permettono un controllo completo dei risultati. Vediamo l'uso di queste opzioni su un esempio: introduciamo il polinomio 2x2 (x 1)2 (x2 9) (x2 3) (x2 + 4). che mediante Expand viene scritto nella forma Scheda n. 5 – Il comando Factor. Pag. 2 2x10 4x9 14x8 + 32x7 58x6 + 84x5 + 174x4 432x3 + 216x2. Applichiamo ora le cinque opzioni disponibili, partendo dalla “meno potente” fino alla “più potente” e osservando che ognuna di esse esegue le stesse operazioni dell'opzione precedente più una nuova operazione, tipica dell'opzione stessa. Le opzioni sono sulla destra della finestra di dialogo che appare all’inizio di questo Capitolo. La prima opzione è Trivial che fattorizza i coefficienti numerici e le potenze della variabile comuni ai vari termini: 2x2 (x8 2x7 7x6 + 16x5 29x4 + 42x3 + 87x2 216x + 108). L'opzione Squarefree evidenzia anche le potenze di binomi; nel nostro caso evidenzia il termine (x 1)2: nel fattore di sesto grado non decomposto non compaiono termini del tipo (x a)n con n>1: 2x2(x 1)2 (x6 8x4 21x2 + 108). L'opzione Rational permette di decomporre sui razionali (nel nostro caso si ha una decomposizione sugli interi): 2x2 (x 3) (x + 3) (x 1)2 (x2 3) (x2 + 4). L'opzione Radical permette di decomporre sui reali, introducendo dei radicali: 2 2 x 2 x 3 x 3 x 1 x 3 x 3 x 2 4 . Infine l'opzione Complex decompone sui complessi: 2 2 x 2 x 3 x 3 x 1 x 3 x 3 x 2i x 2i . Scheda n. 5 – Il comando Factor. Pag. OSSERVAZIONE Per il teorema fondamentale dell'algebra, un polinomio P(z) a coefficienti complessi può essere sempre scritto come prodotto di tanti fattori del tipo x z i , dove zi sono le radici complesse distinte di molteplicità mi. Nella pratica una fattorizzazione di questo tipo non e` sempre possibile, in quanto essa presuppone il calcolo esplicito dei numeri zi (che sono le soluzioni dell'equazione algebrica P(z) = 0). Il problema della fattorizzazione esplicita è legato a quello della risolubilità per radicali delle equazioni algebriche. DERIVE decompone sempre, con l'opzione Complex, i polinomi di grado due, tre e quattro. Tuttavia nella decomposizione possono apparire radicali doppi, come in questo caso: x4 2x3 + x 3 oppure funzioni trigonometriche inverse, per cui il risultato è di difficile lettura e di scarso aiuto pratico come nel caso: x4 + 2x3 + 3x2 + x + 1. mi Poiché la fattorizzazione del secondo polinomio non appare che in piccola parte sullo schermo, riportiamo qui di seguito il risultato della fattorizzazione espresso nel formato dell’editor di DERIVE: (3^(3/4)*SQRT(2*SQRT(5)*COS(ATAN(9*SQRT(771)/257)/3+pi/6)-SQRT(3))/6+x+1/2+#i~ *(3^(3/4)*SQRT(2*SQRT(5)*SIN(ATAN(9*SQRT(771)/257)/3+pi/3)+SQRT(3))/6+3^(3/4)~ *SQRT(SQRT(3)-2*SQRT(5)*SIN(ATAN(9*SQRT(771)/257)/3))/6))*(3^(3/4)*SQRT(2*SQR~ T(5)*COS(ATAN(9*SQRT(771)/257)/3+pi/6)-SQRT(3))/6+x+1/2-#i*(3^(3/4)*SQRT(2*SQ~ RT(5)*SIN(ATAN(9*SQRT(771)/257)/3+pi/3)+SQRT(3))/6+3^(3/4)*SQRT(SQRT(3)-2*SQR~ T(5)*SIN(ATAN(9*SQRT(771)/257)/3))/6))*(-3^(3/4)*SQRT(2*SQRT(5)*COS(ATAN(9*SQ~ RT(771)/257)/3+pi/6)-SQRT(3))/6+x+1/2+#i*(3^(3/4)*SQRT(SQRT(3)-2*SQRT(5)*SIN(~ ATAN(9*SQRT(771)/257)/3))/6-3^(3/4)*SQRT(2*SQRT(5)*SIN(ATAN(9*SQRT(771)/257)/~ 3+pi/3)+SQRT(3))/6))*(-3^(3/4)*SQRT(2*SQRT(5)*COS(ATAN(9*SQRT(771)/257)/3+pi/~ 6)-SQRT(3))/6+x+1/2+#i*(3^(3/4)*SQRT(2*SQRT(5)*SIN(ATAN(9*SQRT(771)/257)/3+pi~ /3)+SQRT(3))/6-3^(3/4)*SQRT(SQRT(3)-2*SQRT(5)*SIN(ATAN(9*SQRT(771)/257)/3))/6~ )) In casi come questo conviene passare alla modalità Approximate, (vedi Capitolo 2) per avere un risultato più chiaro: 3 Scheda n. 5 – Il comando Factor. Pag. Nel caso di polinomi di quinto grado o superiore, DERIVE può non essere in grado di decomporre (né con raDical, né con Complex); in tal caso risponde riscrivendo il polinomio introdotto: 4 Corso di aggiornamento “Algebra tra tradizione e rinnovamento” Prof. Paolo Boieri 6 – LE FUNZIONI RAZIONALI E LA LORO “Introduzione a DERIVE” MANIPOLAZIONE I comandi Simplify, Expand e Factor agiscono anche sulle funzioni razionali. Iniziamo con Simplify, che, se applicato ad una singola funzione fratta, esegue le operazioni già viste a proposito dei polinomi e inoltre elimina i fattori polinomiali comuni al numeratore e al denominatore, dividendoli entrambi per il loro massimo comun divisore. Così l’espressione #1 viene semplificata nella espressione #2, la #3 viene semplificata nella #4: Vengono riconosciuti e semplificati anche i fattori a coefficienti reali: Se introduciamo una somma di funzioni razionali, viene scritta un'espressione con un denominatore comune e sono svolte le abituali semplificazioni (anche in questo caso l’espressione di partenza è identificata da un numero pari, quella ottenuta dalla sua semplificazione dal successivo dispari): Scheda n. 6 – Le funzioni razionali e la loro manipolazione. Pag. 2 E ancora: Il comando Simplify Expand se applicato a una funzione razionale non propria (grado del numeratore grado del denominatore) esegue la divisione, identificando così il quoziente e il resto. Il denominatore della funzione razionale propria ottenuta è fattorizzato sui RAZIONALI e viene scritta la decomposizione in fratti semplici. Nei primi due esempi viene svolta solo la divisione, non essendo possibile la decomposizione del denominatore sui razionali: Nel seguente esempio, invece, la decomposizione è possibile: Vediamo ora un esempio piu` complicato in cui il denominatore è dato da x6 + 5x4 8x2 48 che si fattorizza in: (x2 + 4)2 (x2 3): Scheda n. 6 – Le funzioni razionali e la loro manipolazione. Pag. 3 Il comando Simplify Factor (con la scelta di default Rational) ha lo stesso effetto di Simplify su una singola funzione: Nel caso di somma di più funzioni può portare a una decomposizione più completa del denominatore: Si osservi che possiamo comunque forzare il tipo di decomposizione: ad esempio, possiamo scegliere raDical, nell'esempio precedente, ottenendo la decomposizione completa di numeratore e denominatore: Scheda n. 6 – Le funzioni razionali e la loro manipolazione. Pag. Poiché il risultato ottenuto eccede lo spazio disponibile sulla riga, lo si riporta qui di seguito anche nel formato dell’editor di DERIVE. x*(x+(SQRT(69)/18+11/54)^(1/3)-(SQRT(69)/18-11/54)^(1/3)+1/3)* (x^2-x*((SQRT(69)/18+ 11/54)^(1/3)-(SQRT(69)/18-11/54)^(1/3)-2/3)(SQRT(69)/486+11/1458)^(1/3)+(SQRT(69)/486-11/1458)^(1/3)+ (11*SQRT(69)/486+371/1458)^(1/3)+(371/1458-11*SQRT(69)/486)^(1/3) +2/3)/((x-1)*(x+1)*(x^2+x+1)). Sono predefinite numerose funzioni per la manipolazione di espressioni. In particolare le seguenti funzioni sono utili per la decomposizione di espressioni: NUMERATOR(frazione) fornisce il numeratore della frazione in argomento DENOMINATOR (frazione) fornisce il denominatore della frazione in argomento. OSSERVAZIONE: prima di utilizzare NUMERATOR e DENOMINATOR si può utilizzare il comando Simplify Factor per scomporre in fattori primi. Le funzioni QUOTIENT(polinomio1, polinomio2) REMAINDER(polinomio1, polinomio2) 4 Scheda n. 6 – Le funzioni razionali e la loro manipolazione. Pag. 5 forniscono rispettivamente il quoziente e il resto della divisione tra i due polinomi indicati: mentre la funzione POLY_GCD((polinomio1, polinomio2) fornisce il massimo comun divisore dei due polinomi in argomento: OSSERVAZIONE: anche a proposito dei numeri interi esiste una funzione, chiamata GCD, che restituisce il massimo comun divisore tra i due numeri e la funzione LCM che individua il minimo comune multiplo: Altre funzioni molto importanti nella manipolazioni di espressioni sono LHS e RHS che forniscono rispettivamente il primo e il secondo membro di un'uguaglianza. L'argomento di queste funzioni puo' anche essere un'equazione scritta in precedenza e rappresentata dal numero della riga corrispondente. La funzione TERMS(u) fornisce un vettore i cui elementi sono i termini di un polinomio ordinati rispetto a una variabile: Infine FACTORS restituisce il vettore dei fattori del polinomio indicato in argomento e VARIABLES fornisce il vettore delle variabili dell'espressione indicata dalla potenza più alta a quella Scheda n. 6 – Le funzioni razionali e la loro manipolazione. Pag. più bassa. E' utile utilizzare la funzione FACTORS composta con FACTOR: 6