# Comandi supportati da &kalgebra;

## plus

- Nome: plus

- Descrizione: addizione

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

- Esempio: x->x+2

## times

- Nome: times

- Descrizione: moltiplicazione

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

- Esempio: x->x*2

## minus

- Nome: minus

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

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

- Esempio: x->x-2

## divide

- Nome: divide

- Descrizione: divisione

- Parametri: divide(parametro1, parametro2)

- Esempio: x->x/2

## quotient

- Nome: quotient

- Descrizione: quoziente

- Parametri: quotient(parametro1, parametro2)

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

## power

- Nome: power

- Descrizione: elevamento a potenza

- Parametro: power(parametro1, parametro2)

- Esempio: x->x^2

## root

- Nome: root

- Descrizione: radice

- Parametri: root(parametro1, parametro2)

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

## factorial

- Nome: factorial

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

- Parametri: factorial(parametro1)

- Esempio: x->factorial(x)

## and

- Nome: and

- Descrizione: AND booleano

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

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

## or

- Nome: or

- Descrizione: OR booleano

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

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

## xor

- Nome: xor

- Descrizione: XOR booleano

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

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

## not

- Nome: not

- Descrizione: NOT booleano

- Parametri: not(parametro1)

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

## gcd

- Nome: gcd

- Descrizione: massimo comun divisore (MCD)

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

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

## lcm

- Name: lcm

- Descrizione: minimo comune multiplo (MCM)

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

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

## rem

- Nome: rem

- Descrizione: resto della divisione

- Parametri: rem(parametro1, parametro2)

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

## factorof

- Nome: factorof

- Descrizione: il fattore di

- Parametri: factorof(parametro1, parametro2)

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

## max

- Nome: max

- Descrizione: massimo

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

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

## min

- Nome: min

- Descrizione: minimo

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

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

## lt

- Nome: lt

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

- Parametri: lt(parametro1, parametro2)

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

## gt

- Nome: gt

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

- Parametri: gt(parametro1, parametro2)

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

## eq

- Nome: eq

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

- Parametri: eq(parametro1, parametro2)

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

## neq

- Nome: neq

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

- Parametri: neq(parametro1, parametro2)

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

## leq

- Nome: leq

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

- Parametri: leq(parametro1, parametro2)

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

## geq

- Nome: geq

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

- Parametri: geq(parametro1, parametro2)

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

## implies

- Nome: implies

- Descrizione: implicazione booleana

- Parametri: implies(parametro1, parametro2)

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

## approx

- Nome: approx

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

- Parametri: approx(parametro1, parametro2)

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

## abs

- Nome: abs

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

- Parametri: abs(parametro1)

- Esempio: x->abs(x)

## floor

- Nome: floor

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

- Parametri: floor(parametro1)

- Esempio: x->floor(x)

## ceiling

- Nome: ceiling

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

- Parametri: ceiling(parametro1)

- Esempio: x->ceiling(x)

## sin

- Nome: sin

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

- Parametri: sin(parametro1)

- Esempio: x->sin(x)

## cos

- Nome: cos

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

- Parametri: cos(parametro1)

- Esempio: x->cos(x)

## tan

- Nome: tan

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

- Parametri: tan(parametro1)

- Esempio: x->tan(x)

## sec

- Nome: sec

- Descrizione: secante

- Parametri: sec(parametro1)

- Esempio: x->sec(x)

## csc

- Nome: csc

- Descrizione: cosecante

- Parametri: csc(parametro1)

- Esempio: x->csc(x)

## cot

- Nome: cot

- Descrizione: cotangente

- Parametri: cot(parametro1)

- Esempio: x->cot(x)

## sinh

- Nome: sinh

- Descrizione: seno iperbolico

- Parametri: sinh(parametro1)

- Esempio: x->sinh(x)

## cosh

- Nome: cosh

- Descrizione: coseno iperbolico

- Parametri: cosh(parametro1)

- Esempio: x->cosh(x)

## tanh

- Nome: tanh

- Descrizione: tangente iperbolica

- Parametri: tanh(parametro1)

- Esempio: x->tanh(x)

## sech

- Nome: sech

- Descrizione: secante iperbolica

- Parametri: sech(parametro1)

- Esempio: x->sech(x)

## csch

- Nome: csch

- Descrizione: cosecante iperbolica

- Parametri: csch(parametro1)

- Esempio: x->csch(x)

## coth

- Nome: coth

- Descrizione: cotangente iperbolica

- Parametri: coth(parametro1)

- Esempio: x->coth(x)

## arcsin

- Nome: arcsin

- Descrizione: arcoseno

- Parametri: arcsin(parametro1)

- Esempio: x->arcsin(x)

## arccos

- Nome: arccos

- Descrizione: arcocoseno

- Parametri: arccos(parametro1)

- Esempio: x->arccos(x)

## arctan

- Nome: arctan

- Descrizione: arcotangente

- Parametri: arctan(parametro1)

- Esempio: x->arctan(x)

## arccot

- Nome: arccot

- Descrizione: arcocotangente

- Parametri: arccot(parametro1)

- Esempio: x->arccot(x)

## arccosh

- Nome: arccosh

- Descrizione: arcocoseno iperbolico

- Parametri: arccosh(parametro1)

- Esempio: x->arccosh(x)

## arccsc

- Nome: arccsc

- Descrizione: arcocosecante

- Parametri: arccsc(parametro1)

- Esempio: x->arccsc(x)

## arccsch

- Nome: arccsch

- Descrizione: arcocosecante iperbolica

- Parametri: arccsch(parametro1)

- Esempio: x->arccsch(x)

## arcsec

- Nome: arcsec

- Description: arcosecante

- Parametri: arcsec(parametro1)

- Esempio: x->arcsec(x)

## arcsech

- Nome: arcsech

- Descrizione: arcosecante iperbolica

- Parametri: arcsech(parametro1)

- Esempio: x->arcsech(x)

## arcsinh

- Nome: arcsinh

- Descrizione: arcoseno iperbolico

- Parametri: arcsinh(parametro1)

- Esempio: x->arcsinh(x)

## arctanh

- Nome: arctanh

- Descrizione: arcotangente iperbolica

- Parametri: arctanh(parametro1)

- Esempio: x->arctanh(x)

## exp

- Nome: exp

- Descrizione: esponenziale (e^x)

- Parametri: exp(parametro1)

- Esempio: x->exp(x)

## ln

- Nome: ln

- Descrizione: logaritmo in base e

- Parametri: ln(parametro1)

- Esempio: x->ln(x)

## log

- Nome: log

- Descrizione: logaritmo in base 10

- Parametri: log(parametro1)

- Esempio: x->log(x)

## sum

- Nome: sum

- Descrizione: sommatoria

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

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

## product

- Nome: product

- Descrizione: produttoria

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

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

## diff

- Nome: diff

- Descrizione: differenziale

- Parametri: diff(parametro1 : variabile)

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

## card

- Nome: card

- Descrizione: numero cardinale

- Parametri: card(parametro1)

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

## scalarproduct

- Nome: scalarproduct

- Descrizione: prodotto scalare

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

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

## 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

- 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

- Nome: forall

- Descrizione: per tutti

- Parametri: forall(parametro1 : variabile)

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

## exists

- Nome: exists

- Descrizione: esiste

- Parametri: esiste(parametro1 : variabile)

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

## 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

- 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]