# Manuale di &kalgebra;

## Introduzione

&kalgebra; ha numerose funzioni che permettono all'utente di effettuare tutti i tipi di operazioni matematiche e di visualizzarle graficamente. Una volta questo programma era orientato su &MathML;. Adesso può essere usato da chiunque con un minimo di conoscenza di matematica per risolvere problemi semplici e complessi.

Include funzioni quali:

- Una calcolatrice per la valutazione semplice e veloce di funzioni matematiche.

- Possibilità di usare script per calcoli avanzati.

- Funzionalità del linguaggio che includono la definizione di funzioni e il completamento automatico della sintassi

- Funzioni per l'analisi che includono la differenziazione simbolica, il calcolo vettoriale e la manipolazione di liste.

- Grafico di funzioni con cursore mobile per la ricerca grafica delle radici e altri tipi di analisi.

- Grafico 3D per l'utile visualizzazione di funzioni 3D.

- Un dizionario integrato degli operatori per un aiuto veloce sulle numerose funzioni disponibili.

Qui sotto vi è un'immagine di &kalgebra; in azione:

Immagine della finestra principale di &kalgebra; Finestra principale di &kalgebra;

Quando un utente inizia una sessione di &kalgebra;, viene presentata una finestra composta da una scheda Calcolatrice, una scheda Grafico 2D, una scheda Grafico 3D e una scheda Dizionario. Sotto ciascuna scheda si trovano un campo di inserimento per scrivere le funzioni o fare calcoli e un campo che mostra i risultati.

In ogni momento l'utente può gestire le sue sessioni usando le opzioni del menu Sessione:

&Ctrl; N Sessione Nuova

- Apre una nuova finestra di &kalgebra;.

&Ctrl;&Shift; F Sessione Modalità a tutto schermo

- Attiva o disattiva la modalità a tutto schermo della finestra di &kalgebra;. La modalità a tutto schermo può essere attivata e disattivata anche usando il pulsante che si trova a destra nella parte alta della finestra di &kalgebra;.

&Ctrl; Q Sessione Esci

- Chiude il programma.

## Sintassi

&kalgebra; usa una sintassi algebrica intuitiva per l'inserimento delle funzioni dell'utente, in modo simile a quanto viene fatto nella maggior parte delle moderne calcolatrici grafiche. Questa sezione elenca gli operatori fondamentali forniti in &kalgebra;. Il suo autore ha modellato questa sintassi seguendo Maxima e Maple, per gli utenti che possono avere familiarità con questi programmi.

Per gli utenti interessati al funzionamento interno di &kalgebra;, le espressioni inserite dall'utente sono convertite in &MathML; nel motore interno. Una conoscenza basilare delle possibilità di &MathML; permetterà di comprendere meglio le funzionalità interne di &kalgebra;.

Ecco una lista degli operatori disponibili al momento:

- `+ - * /` : addizione, sottrazione, moltiplicazione e divisione.

- `^, **` : elevamento a potenza, puoi usare entrambi. È anche possibile usare il carattere Unicode `²`. Con gli elevamenti a potenza è anche possibile effettuare radici, ad esempio: `a**(1/b)`

- `->` : lambda. È il modo di specificare una o più variabili che saranno vincolate in una funzione. Ad esempio, nell'espressione `length:=(x,y)->(x*x+y*y)^0.5`, l'operatore lambda è usato per denotare che `x` e `y` saranno vincolate quando la funzione length verrà usata.

- `x=a..b` : è usato per delimitare un intervallo (variabile limitata + limite superiore + limitare inferiore). Ciò significa che `x` va da `a` a `b`.

- `()` : usato per specificare una priorità più alta.

- `abc(params)` : funzioni. Quando l'analizzatore trova una funzione, controlla se `abc` è un operatore. Se lo è, sarà trattato come un operatore; se non lo è, sarà trattato come una funzione utente.

- `:=` : definizione. Usata per definire il valore di una variabile. Puoi far cose come `x:=3`, `x:=y` con y definita o no, oppure `perimetro:=r->2*pi*r`.

- `?` : definizione di condizione definita a tratti. Una definizione "a tratti" è il modo in cui possiamo definire operazioni condizionali in &kalgebra;. Per dirla anche in altri termini, questo è un modo di definire una condizione «if, elseif, else». Se introduciamo la condizione prima del `?`, questa condizione sarà usata solo se è vera; se viene trovato un `?` senza condizione, verrà usato come ultima alternativa. Esempio: `piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }`

- `{ }` : contenitore &MathML;. Può essere usato per definire un contenitore. Utile principalmente per le funzioni definite a tratti.

- `= > >= < <=` : comparatori di valori per rispettivamente: uguale, maggiore di, maggiore o uguale a, minore di, minore o uguale a.

Adesso potresti chiedermi: perché l'utente dovrebbe conoscere &MathML;? Semplice: con il MathML possiamo operare con funzioni come `cos()`, `sin()` e con qualsiasi altra funzione trigonometrica, `sum()` o `product()`. Non importa che tipo di funzione sia. Possiamo usare `plus()`, `times()` e qualunque cosa che abbia un operatore. Sono implementate anche le funzioni booleane, quindi possiamo usare qualcosa del tipo `or(1,0,0,0,0)`.

## Uso della calcolatrice

La calcolatrice di &kalgebra; è utile come calcolatrice potenziata. L'utente può inserire espressioni da valutare in modalità Calcola o Vàluta, a seconda della scelta del menu Calcolatrice.

In modalità di valutazione &kalgebra; semplifica l'espressione anche se c'è una variabile non definita. In modalità di calcolo &kalgebra; calcola tutto, mostrando un errore se trova una variabile non definita.

Oltre alla visualizzazione nella calcolatrice delle equazioni inserite dall'utente e dei risultati, tutte le variabili che vengono dichiarate sono visualizzate in un pannello fisso a destra. Facendo doppio clic su una variabile vedrai una finestra di dialogo per ti permette di modificarne il valore (un modo per truccare il log).

La variabile `ans` è speciale: ogni volta che inserisci un'espressione, questa assumerà il valore dell'ultimo risultato.

Di seguito vi sono funzioni d'esempio che possono essere inserite nel campo di inserimento della finestra della calcolatrice.

- `sin(pi)`

- `k:=33`

- `sum(k*x : x=0..10)`

- `f:=p->p*k`

- `f(pi)`

Di seguito vi è un'immagine della finestra della calcolatrice dopo aver inserito le espressioni d'esempio elencate sopra:

Immagine della finestra della calcolatrice di &kalgebra; con le espressioni d'esempio Finestra della calcolatrice di &kalgebra;

Un utente può controllare l'esecuzione di una serie di calcoli usando le opzioni del menu Calcolatrice:

&Ctrl; L Calcolatrice Carica script...

- Esegue le istruzioni presenti in un file. Un metodo utile per creare "librerie" o riprendere un lavoro interrotto in precedenza.

Calcolatrice Script recenti

- Visualizza un sotto-menu che ti permette di scegliere gli script eseguiti di recente.

&Ctrl; G Calcolatrice Salva script...

- Salva le istruzioni che hai digitato dall'inizio della sessione in modo da poterle riusare. Genera file di testo semplice, quindi dovrebbe essere semplice correggerle usando un qualsiasi editor di testo, ad esempio &kate;.

&Ctrl; S Calcolatrice Esporta registro...

- Salva il log e tutti i risultati su file &HTML; che può essere stampato o pubblicato.

F3 Calcolatrice Inserisci ans...

- Inserisce la variabile `ans` e rende semplice riusare i vecchi valori.

Calcolatrice Calcola

- Un pulsante a scelta singola per impostare la Modalità di esecuzione nei calcoli.

Calcolatrice Vàluta

- Un pulsante a scelta singola per impostare la Modalità di esecuzione nelle valutazioni.

## Grafici 2D

Per aggiungere un nuovo grafico 2D in &kalgebra;, seleziona la scheda Grafico 2D e fare clic sulla scheda Aggiungi per aggiungere una nuova funzione. Sarà quindi attivata la casella di testo dove puoi scrivere la funzione.

### Sintassi

Se vuoi usare una funzione `f(x)` tipica, non è necessario specificarla. Se però vuoi usare una funzione `f(y)` oppure una polare, allora devi aggiungere `y->` e `q->` come variabili vincolate.

Esempi:

- `sin(x)`

- `x²`

- `y->sin(y)`

- `q->3*sin(7*q)`

- `t->vector{sin t, t**2}`

Quando hai inserito la funzione, premi OK per visualizzare il grafico nella finestra principale.

### Funzioni

Puoi avere più grafici nella stessa vista. Usa il pulsante Aggiungi in modalità «lista». Puoi impostare un diverso colore per ogni grafico.

La vista può essere ingrandita e spostata con il mouse. Puoi ingrandire e rimpicciolire usando la rotellina del mouse. Puoi anche selezionare un'area con il &LMB; e questa sarà ingrandita. Puoi muovere la vista con i tasti freccia della tastiera.

L'area di visualizzazione di grafici 2D può essere definita in modo esplicito usando la scheda Area di visualizzazione nella scheda Grafico 2D.

Nella parte in basso a destra della scheda Lista puoi aprire una scheda Modifica per modificare o rimuovere una funzione con un doppio clic, oppure marcare o meno la casella accanto al nome della funzione per mostrarla o per nasconderla.

Nel menu Grafico 2D trovi queste opzioni:

- Griglia: mostra o nasconde la griglia

- Mantieni proporzioni: mantieni le proporzioni quando ingrandisci o riduci

- Salva: salva (&Ctrl; S) il grafico come immagine

- Ingrandisci/Rimpicciolisci: ingrandisci (&Ctrl; +) e rimpicciolisci (&Ctrl; -)

- Dimensione attuale: ripristina la vista all'ingrandimento originale

- Risoluzione: seguito da un elenco di pulsante a scelta singola per selezionare una risoluzione per i grafici

Sotto vi è l'immagine di un utente il cui cursore è alla radice più a destra della funzione, `sin(1/x)`. L'utente che ne ha creato il grafico ha usato una risoluzione molto stretta (dato che oscilla a frequenze sempre più alte man mano che si avvicina all'origine). C'è anche un cursore mobile che, ogni volta che sposti il cursore sopra un punto, mostra i valori `X` e `Y` nell'angolo in basso a sinistra dello schermo. Una linea di tangente mobile è disegnata sulla funzione alla posizione del cursore mobile.

Immagine della finestra del grafico 2D di &kalgebra; Finestra del grafico 2D di &kalgebra;

## Grafici 3D

Per disegnare un grafico 3D con &kalgebra;, seleziona la scheda Grafico 3D: lì vedrai una casella di inserimento in basso, dove puoi scrivere la funzione. `Z` non può essere definita ancora, al momento &kalgebra; supporta solo grafici 3D che dipendono esplicitamente solo da `x` e `y`, come `(x,y)->x*y`, dove `z=x*y`.

Esempi:

- `(x,y)->sin(x)*sin(y)`

- `(x,y)->x/y`

La vista può essere ingrandita e spostata con il mouse. Puoi ingrandire e rimpicciolire usando la rotellina del mouse. Tieni premuto il &LMB; e muovi il mouse per ruotare il grafico.

I tasti freccia &Left; e &Right; ruotano il grafico attorno all'asse `z`, mentre i tasti freccia &Up; e &Down; lo ruotano attorno all'asse orizzontale della vista. Premi W per ingrandire il grafico, e S per rimpicciolirlo.

Nel menu Grafico 3D trovi queste opzioni:

- Salva: salva (&Ctrl; S) il grafico come file d'immagine o come documento supportato

- Ripristina vista: ripristina la vista all'ingrandimento originale nel menu Grafico 3D

- Puoi disegnare il grafico con lo stile Punti, Linee o Pieno nel menu Grafico 3D

Sotto vediamo un'immagine della funzione chiamata sombrero. Questo grafico 3D particolare è visualizzato usando lo stile a linee.

Immagine della finestra del grafico 3D di &kalgebra; Finestra del grafico 3D di &kalgebra;

## Dizionario

Il dizionario è una collezione di tutte le funzioni integrate in &kalgebra;. Può essere utile per trovare la definizione di un'operazione e i suoi parametri, e in generale per scoprire le molte funzionalità di &kalgebra;.

Sotto vi è un'immagine della ricerca della funzione coseno nel dizionario di &kalgebra;

Immagine della finestra del dizionario di &kalgebra; Finestra del dizionario di &kalgebra;
&commands;

## Riconoscimenti e licenza

- Copyright del programma 2005-2009 &Aleix.Pol;

Copyright della documentazione 2007 &Aleix.Pol; &Aleix.Pol.mail;

Traduzione italiana di Pino Toscano toscano.pino@tiscali.it

&underFDL; &underGPL;
&documentation.index;