Manuale di KAlgebra

# Manuale di KAlgebra

Aleix Pol `<aleixpol@gmail.com>`

Traduzione italiana: Pino Toscano
Traduzione e manutenzione del documento: Paolo Zamponi
Revisione Applications 20.12 (17/12/2020)

Diritto d'autore © 2007 Aleix Pol

Nota Legale

KAlgebra è un'applicazione che può sostituire la tua calcolatrice grafica. Ha funzionalità numeriche, logiche, simboliche e di analisi che ti permettono di calcolare espressioni matematiche e di visualizzarne graficamente i risultati in 2D e 3D. KAlgebra si basa sul linguaggio a marcatori di matematica («Mathematical Markup Language», MathML), tuttavia, non è necessario conoscere MathML per usare KAlgebra.

Capitolo 1. Introduzione
Introduzione

# Capitolo 1. 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:

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:

Sessione → Nuova (Ctrl+N)

  Apre una nuova finestra di KAlgebra.

Sessione → Modalità a tutto schermo (Ctrl+Shift+F)

  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.

Sessione → Esci (Ctrl+Q)

  Chiude il programma.

Capitolo 2. Sintassi
Sintassi

# Capitolo 2. 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)`.

Capitolo 3. Uso della calcolatrice
Uso della calcolatrice

# Capitolo 3. 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:

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

Calcolatrice → Carica script... (Ctrl+L)

  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.

Calcolatrice → Salva script... (Ctrl+G)

  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.

Calcolatrice → Esporta registro... (Ctrl+S)

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

Calcolatrice → Inserisci ans... (F3)

  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.

Capitolo 4. Grafici 2D
Grafici 2D

# Capitolo 4. 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
Funzioni

## 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 tasto sinistro del mouse e questa sarà ingrandita. Puoi muovere la vista con i tasti freccia della tastiera.

### Nota

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.

Capitolo 5. Grafici 3D
Grafici 3D

# Capitolo 5. 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 tasto sinistro del mouse e muovi il mouse per ruotare il grafico.

I tasti freccia ← e → ruotano il grafico attorno all'asse `z`, mentre i tasti freccia ↑ e ↓ 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.

Capitolo 6. Dizionario
Dizionario

# Capitolo 6. 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

Capitolo 7. Comandi supportati da KAlgebra
Comandi supportati da KAlgebra

# Capitolo 7. Comandi supportati da KAlgebra

## plus

- Nome: plus

- Descrizione: addizione

- Parametri: plus(... parametri, ...)

- Esempio: x->x+2

times
times

## times

- Nome: times

- Descrizione: moltiplicazione

- Parametri: times(... parametri, ...)

- Esempio: x->x*2

minus
minus

## minus

- Nome: minus

- Descrizione: sottrazione. Sottrarrà tutti i valori dal primo.

- Parametri: minus(... parametri, ...)

- Esempio: x->x-2

divide
divide

## divide

- Nome: divide

- Descrizione: divisione

- Parametri: divide(parametro1, parametro2)

- Esempio: x->x/2

quotient
quotient

## quotient

- Nome: quotient

- Descrizione: quoziente

- Parametri: quotient(parametro1, parametro2)

- Esempio: x->quotient(x, 2)

power
power

## power

- Nome: power

- Descrizione: elevamento a potenza

- Parametro: power(parametro1, parametro2)

- Esempio: x->x^2

root
root

## root

- Nome: root

- Descrizione: radice

- Parametri: root(parametro1, parametro2)

- Esempio: x->root(x, 2)

factorial
factorial

## factorial

- Nome: factorial

- Descrizione: fattoriale. factorial(n)=n!

- Parametri: factorial(parametro1)

- Esempio: x->factorial(x)

and
and

## and

- Nome: and

- Descrizione: AND booleano

- Parametro: and(... parametri, ...)

- Esempio: x->piecewise { and(x>-2, x<2) ? 1, ? 0 }

or
or

## or

- Nome: or

- Descrizione: OR booleano

- Parametri: or(... parametri, ...)

- Esempio: x->piecewise { or(x>2, x>-2) ? 1, ? 0 }

xor
xor

## xor

- Nome: xor

- Descrizione: XOR booleano

- Parametri: xor(... parametri, ...)

- Esempio: x->piecewise { xor(x>0, x<3) ? 1, ? 0 }

not
not

## not

- Nome: not

- Descrizione: NOT booleano

- Parametri: not(parametro1)

- Esempio: x->piecewise { not(x>0) ? 1, ? 0 }

gcd
gcd

## gcd

- Nome: gcd

- Descrizione: massimo comun divisore (MCD)

- Parametri: gcd(... parametri, ...)

- Esempio: x->gcd(x, 3)

lcm
lcm

## lcm

- Name: lcm

- Descrizione: minimo comune multiplo (MCM)

- Parametri: lcm(... parametri, ...)

- Esempio: x->lcm(x, 4)

rem
rem

## rem

- Nome: rem

- Descrizione: resto della divisione

- Parametri: rem(parametro1, parametro2)

- Esempio: x->rem(x, 5)

factorof
factorof

## factorof

- Nome: factorof

- Descrizione: il fattore di

- Parametri: factorof(parametro1, parametro2)

- Esempio: x->factorof(x, 3)

max
max

## max

- Nome: max

- Descrizione: massimo

- Parametri: max(... parametri, ...)

- Esempio: x->max(x, 4)

min
min

## min

- Nome: min

- Descrizione: minimo

- Parametri: min(... parametri, ...)

- Esempio: x->min(x, 4)

lt
lt

## lt

- Nome: lt

- Descrizione: minore di. lt(a,b)=a<b

- Parametri: lt(parametro1, parametro2)

- Esempio: x->piecewise { x<4 ? 1, ? 0 }

gt
gt

## gt

- Nome: gt

- Descrizione: maggiore di. gt(a,b)=a>b

- Parametri: gt(parametro1, parametro2)

- Esempio: x->piecewise { x>4 ? 1, ? 0 }

eq
eq

## eq

- Nome: eq

- Descrizione: uguale. eq(a,b) = a=b

- Parametri: eq(parametro1, parametro2)

- Esempio: x->piecewise { x=4 ? 1, ? 0 }

neq
neq

## neq

- Nome: neq

- Descrizione: non uguale. neq(a,b) = a≠b

- Parametri: neq(parametro1, parametro2)

- Esempio: x->piecewise { x!=4 ? 1, ? 0 }

leq
leq

## leq

- Nome: leq

- Descrizione: minore o uguale. leq(a,b) = a≤b

- Parametri: leq(parametro1, parametro2)

- Esempio: x->piecewise { x<=4 ? 1, ? 0 }

geq
geq

## geq

- Nome: geq

- Descrizione: maggiore o uguale. geq(a,b) = a≥b

- Parametri: geq(parametro1, parametro2)

- Esempio: x->piecewise { x>=4 ? 1, ? 0 }

implies
implies

## implies

- Nome: implies

- Descrizione: implicazione booleana

- Parametri: implies(parametro1, parametro2)

- Esempio: x->piecewise { implies(x<0, x<3) ? 1, ? 0 }

approx
approx

## approx

- Nome: approx

- Descrizione: approssimazione. approx(a) = a≈n

- Parametri: approx(parametro1, parametro2)

- Esempio: x->piecewise { approx(x, 4) ? 1, ? 0 }

abs
abs

## abs

- Nome: abs

- Descrizione: valore assoluto. abs(n)=|n|

- Parametri: abs(parametro1)

- Esempio: x->abs(x)

floor
floor

## floor

- Nome: floor

- Descrizione: parte intera di un valore. floor(n) = ⌊n⌋

- Parametri: floor(parametro1)

- Esempio: x->floor(x)

ceiling
ceiling

## ceiling

- Nome: ceiling

- Descrizione: parte intera superiore di un valore. ceil(n) = ⌈n⌉

- Parametri: ceiling(parametro1)

- Esempio: x->ceiling(x)

sin
sin

## sin

- Nome: sin

- Descrizione: funzione per calcolare il seno di un angolo dato

- Parametri: sin(parametro1)

- Esempio: x->sin(x)

cos
cos

## cos

- Nome: cos

- Descrizione: funzione per calcolare il coseno di un angolo dato

- Parametri: cos(parametro1)

- Esempio: x->cos(x)

tan
tan

## tan

- Nome: tan

- Descrizione: funzione per calcolare la tangente di un angolo dato

- Parametri: tan(parametro1)

- Esempio: x->tan(x)

sec
sec

## sec

- Nome: sec

- Descrizione: secante

- Parametri: sec(parametro1)

- Esempio: x->sec(x)

csc
csc

## csc

- Nome: csc

- Descrizione: cosecante

- Parametri: csc(parametro1)

- Esempio: x->csc(x)

cot
cot

## cot

- Nome: cot

- Descrizione: cotangente

- Parametri: cot(parametro1)

- Esempio: x->cot(x)

sinh
sinh

## sinh

- Nome: sinh

- Descrizione: seno iperbolico

- Parametri: sinh(parametro1)

- Esempio: x->sinh(x)

cosh
cosh

## cosh

- Nome: cosh

- Descrizione: coseno iperbolico

- Parametri: cosh(parametro1)

- Esempio: x->cosh(x)

tanh
tanh

## tanh

- Nome: tanh

- Descrizione: tangente iperbolica

- Parametri: tanh(parametro1)

- Esempio: x->tanh(x)

sech
sech

## sech

- Nome: sech

- Descrizione: secante iperbolica

- Parametri: sech(parametro1)

- Esempio: x->sech(x)

csch
csch

## csch

- Nome: csch

- Descrizione: cosecante iperbolica

- Parametri: csch(parametro1)

- Esempio: x->csch(x)

coth
coth

## coth

- Nome: coth

- Descrizione: cotangente iperbolica

- Parametri: coth(parametro1)

- Esempio: x->coth(x)

arcsin
arcsin

## arcsin

- Nome: arcsin

- Descrizione: arcoseno

- Parametri: arcsin(parametro1)

- Esempio: x->arcsin(x)

arccos
arccos

## arccos

- Nome: arccos

- Descrizione: arcocoseno

- Parametri: arccos(parametro1)

- Esempio: x->arccos(x)

arctan
arctan

## arctan

- Nome: arctan

- Descrizione: arcotangente

- Parametri: arctan(parametro1)

- Esempio: x->arctan(x)

arccot
arccot

## arccot

- Nome: arccot

- Descrizione: arcocotangente

- Parametri: arccot(parametro1)

- Esempio: x->arccot(x)

arccosh
arccosh

## arccosh

- Nome: arccosh

- Descrizione: arcocoseno iperbolico

- Parametri: arccosh(parametro1)

- Esempio: x->arccosh(x)

arccsc
arccsc

## arccsc

- Nome: arccsc

- Descrizione: arcocosecante

- Parametri: arccsc(parametro1)

- Esempio: x->arccsc(x)

arccsch
arccsch

## arccsch

- Nome: arccsch

- Descrizione: arcocosecante iperbolica

- Parametri: arccsch(parametro1)

- Esempio: x->arccsch(x)

arcsec
arcsec

## arcsec

- Nome: arcsec

- Description: arcosecante

- Parametri: arcsec(parametro1)

- Esempio: x->arcsec(x)

arcsech
arcsech

## arcsech

- Nome: arcsech

- Descrizione: arcosecante iperbolica

- Parametri: arcsech(parametro1)

- Esempio: x->arcsech(x)

arcsinh
arcsinh

## arcsinh

- Nome: arcsinh

- Descrizione: arcoseno iperbolico

- Parametri: arcsinh(parametro1)

- Esempio: x->arcsinh(x)

arctanh
arctanh

## arctanh

- Nome: arctanh

- Descrizione: arcotangente iperbolica

- Parametri: arctanh(parametro1)

- Esempio: x->arctanh(x)

exp
exp

## exp

- Nome: exp

- Descrizione: esponenziale (e^x)

- Parametri: exp(parametro1)

- Esempio: x->exp(x)

ln
ln

## ln

- Nome: ln

- Descrizione: logaritmo in base e

- Parametri: ln(parametro1)

- Esempio: x->ln(x)

log
log

## log

- Nome: log

- Descrizione: logaritmo in base 10

- Parametri: log(parametro1)

- Esempio: x->log(x)

conjugate
conjugate

## conjugate

- Nome: conjugate

- Descrizione: coniugato

- Parametri: conjugate(parametro1)

- Esempio: x->conjugate(x*i)

arg
arg

## arg

- Nome: arg

- Descrizione: arg

- Parametri: arg(parametro1)

- Esempio: x->arg(x*i)

real
real

## real

- Nome: real

- Descrizione: reale

- Parametri: real(parametro1)

- Esempio: x->real(x*i)

imaginary
imaginary

## imaginary

- Nome: imaginary

- Descrizione: immaginario

- Parametri: imaginary(parametro1)

- Esempio: x->imaginary(x*i)

sum
sum

## sum

- Nome: sum

- Descrizione: sommatoria

- Parametri: sum(parametro1 : variabile=da..a)

- Esempio: x->x*sum(t*t:t=0..3)

product
product

## product

- Nome: product

- Descrizione: produttoria

- Parametri: product(parametro1 : variabile=da..a)

- Esempio: x->product(t+t:t=1..3)

diff
diff

## diff

- Nome: diff

- Descrizione: differenziale

- Parametri: diff(parametro1 : variabile)

- Esempio: x->(diff(x^2:x))(x)

card
card

## card

- Nome: card

- Descrizione: numero cardinale

- Parametri: card(parametro1)

- Esempio: x->card(vector { x, 1, 2 })

scalarproduct
scalarproduct

## scalarproduct

- Nome: scalarproduct

- Descrizione: prodotto scalare

- Parametri: scalarproduct(... parametri, ...)

- Esempio: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

selector
selector

## selector

- Nome: selector

- Descrizione: sceglie il parametro1-esimo elemento dalla lista o vettore parametro2

- Parametri: selector(parametro1, parametro2)

- Esempio: x->scalarproduct(vector { 0, x }, vector { x, 0 })[1]

union
union

## union

- Nome: union

- Descrizione: unisce diversi elementi aventi lo stesso tipo

- Parametri: union(... parametri, ...)

- Esempio: x->union(list { 1, 2, 3 }, list { 4, 5, 6 })[rem(floor(x), 5)+3]

forall
forall

## forall

- Nome: forall

- Descrizione: per tutti

- Parametri: forall(parametro1 : variabile)

- Esempio: x->piecewise { forall(t:t@list { true, false, false }) ? 1, ? 0 }

exists
exists

## exists

- Nome: exists

- Descrizione: esiste

- Parametri: esiste(parametro1 : variabile)

- Esempio: x->piecewise { exists(t:t@list { true, false, false }) ? 1, ? 0 }

map
map

## map

- Nome: map

- Descrizione: applica una funzione a ciascun elemento in una lista

- Parametri: map(parametro1, parametro2)

- Esempio: x->map(x->x+x, list { 1, 2, 3, 4, 5, 6 })[rem(floor(x), 5)+3]

filter
filter

## filter

- Nome: filter

- Descrizione: rimuove tutti gli elementi che non soddisfano una condizione

- Parametri: filter(parametro1, parametro2)

- Esempio: x->filter(u->rem(u, 2)=0, list { 2, 4, 3, 4, 8, 6 })[rem(floor(x), 5)+3]

transpose
transpose

## transpose

- Nome: transpose

- Descrizione: matrice trasposta

- Parametri: transpose(parametro1)

- Esempio: x->transpose(matrix { matrixrow { 1, 2, 3, 4, 5, 6 } })[rem(floor(x), 5)+3][1]

Capitolo 8. Riconoscimenti e licenza
Riconoscimenti e licenza

# Capitolo 8. Riconoscimenti e licenza

- Copyright del programma 2005-2009 Aleix Pol

Copyright della documentazione 2007 Aleix Pol `(aleixpol AT gmail.com)`

Traduzione italiana di Pino Toscano `(toscano.pino AT tiscali.it)`

Questa documentazione è concessa in licenza sotto i termini della GNU Free Documentation License.

Questo programma è concesso in licenza sotto i termini della GNU General Public License.