matematica – funzioni Matematiche¶


Numero teorico di rappresentanza e funzioni¶

math.ceil(x)¶

Torna il soffitto di x, il più piccolo intero maggiore o uguale a x.Se x non è un float, delegati x.__ceil__(), che dovrebbe riportare unIntegral valore.

math.comb(n, k)¶

Restituisce il numero di modi per scegliere k articoli da n articoli senza ripetizione e senza ordine.,

Valuta n! / (k! * (n - k)!) quando k <= n e valuta a zero quando k > n.

Chiamato anche il coefficiente binomiale perché è equivalente al coefficiente di k-esimo termine nell’espansione polinomiale dell’espressione(1 + x) ** n.

GeneraTypeError se uno degli argomenti non è un numero intero.Genera ValueError se uno degli argomenti è negativo.

Nuovo nella versione 3.8.,

math.copysign(x, y)¶ math.fabs(x)¶

Return the absolute value of x.

math.factorial(x)¶

Return x factorial as an integer. Raises ValueError if x is not integral oris negative.

Deprecated since version 3.9: Accepting floats with integral values (like 5.0) is deprecated.,

math.floor(x)¶ math.fmod(x, y)¶

Invio fmod(x, y), come definito dalla piattaforma C library. Si noti che l’espressione thePython x % y potrebbe non restituire lo stesso risultato. L’intento del Cstandard è chefmod(x, y) sia esattamente (matematicamente; a infiniteprecision) uguale ax - n*y per alcuni interi n tali che il risultato halo stesso segno di x e magnitudine inferiore aabs(y)., Python x % yrestituisce invece un risultato con il segno di y e potrebbe non essere esattamente computabileper argomenti float. Per esempio, fmod(-1e-100, 1e100) è -1e-100, ma il risultato di Python -1e-100 % 1e100 è 1e100-1e-100, che non può berepresented esattamente come un galleggiante, e giri per la sorprendente 1e100. Per questo motivo, functionfmod() è generalmente preferita quando si lavora con floats, mentre Pythonx % y è preferita quando si lavora con numeri interi.,

math.frexp(x)¶math.fsum(iterabile)¶

Restituisce un’accurata somma in virgola mobile di valori nell’iterabile. Evitare perdite di precisione tracciando più somme parziali intermedie:

>>> sum()0.9999999999999999>>> fsum()1.0

La precisione dell’algoritmo dipende dalle garanzie aritmetiche IEEE-754 e dal caso tipico in cui la modalità di arrotondamento è semi-uniforme., Su alcuni non-Windowsbuilds, la libreria C sottostante utilizza un’aggiunta di precisione estesa e può occasionalmente raddoppiare una somma intermedia causando che sia disattivata nel suo ultimo bit significativo.

Per ulteriori discussioni e due approcci alternativi, vedere ASPN cookbookrecipes per un’accurata sommatoria in virgola mobile.

math.gcd(*interi)¶

Restituisce il massimo divisore comune degli argomenti interi specificati.Se uno qualsiasi degli argomenti è diverso da zero, il valore restituito è il numero intero più grandepositivo che è un divisore di tutti gli argomenti., Se tutti gli argomenti sono zero, il valore restituito è 0. gcd() senza argumentsreturns 0.

Nuovo nella versione 3.5.

Cambiato nella versione 3.9: Aggiunto il supporto per un numero arbitrario di argomenti. In precedenza, solo dueargomenti erano supportati.

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶

Restituisce True se i valori a e b sono vicini l’uno all’altro eFalse altrimenti.,

Il fatto che due valori siano considerati vicini o meno è determinato in base alle tolleranze assolute e relative.

rel_tol è la tolleranza relativa – è la differenza massima consentitatra a e b, rispetto al valore assoluto più grande di a o b.Ad esempio, per impostare una tolleranza del 5%, passarerel_tol=0.05. Il defaulttolerance è 1e-09, che assicura che i due valori siano uguali all’interno di circa 9 cifre decimali. rel_tol deve essere maggiore di zero.

abs_tol è la tolleranza minima assoluta-utile per i confronti nearzero., abs_tol deve essere almeno zero.

Se non si verificano errori, il risultato sarà:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol).

I valori speciali IEEE 754 diNaN,infe-inf saranno gestiti secondo le regole IEEE. In particolare, NaNnon viene consideratochiudere a nessun altro valore, incluso NaN. inf e -inf sono solo considerati vicini a se stessi.

Nuovo nella versione 3.5.,

See also

PEP 485 – A function for testing approximate equality

math.isfinite(x)¶

Return True if x is neither an infinity nor a NaN, andFalse otherwise. (Note that 0.0 is considered finite.)

New in version 3.2.

math.isinf(x)¶

Return True if x is a positive or negative infinity, andFalse otherwise.,

math.isnan(x)¶

RestituisceTruese x è un NaN (non un numero), eFalse altrimenti.

math.isqrt(n)¶

ritorna l’intero radice quadrata di un numero intero non negativo n. Questo è thefloor dell’esatto radice quadrata di n, o, equivalentemente, il più grande integera tali che a2 ≤ n.

Per alcune applicazioni, potrebbe essere più conveniente per avere il minimo integera tale che n ≤ a2, o in altre parole il soffitto dell’esatta radice quadrata di n., Per n positivo, questo può essere calcolato usandoa = 1 + isqrt(n - 1).

Nuovo nella versione 3.8.

math.lcm(*interi)¶

Restituisce il minimo comune multiplo degli argomenti interi specificati.Se tutti gli argomenti sono diversi da zero, il valore restituito è il più piccolo numero intero positivo che è un multiplo di tutti gli argomenti. Se uno qualsiasi degli argomentiè zero, il valore restituito è 0. lcm()senza argumentsreturns1.

Nuovo nella versione 3.9.,

math.ldexp(x, i)¶

Returnx * (2**i). Questo è essenzialmente l’inverso della funzione frexp().

math.modf(x)¶

Restituisce le parti frazionarie e intere di x. Entrambi i risultati portano il segno di x e sono float.

Restituisce il valore in virgola mobile successivo dopo x verso y.

Se x è uguale a y, restituisce y.

Esempi:

Vedi anchemath.ulp().

Nuovo nella versione 3.9.,

math.perm(n, k=None)¶

Restituisce il numero di modi per scegliere k elementi da n elementi senza ripetizione e con ordine.

Valuta n! / (n - k)! quando k <= n e valuta a zero quando k > n.

Se k non è specificato o Non è None, k viene impostato su nand la funzione restituisce n!.

GeneraTypeError se uno degli argomenti non è un numero intero.Genera ValueError se uno degli argomenti è negativo.,

Nuovo nella versione 3.8.

math.prod(iterable, *, start=1)¶

Calcola il prodotto di tutti gli elementi nell’input iterabile.Il valore iniziale predefinito per il prodotto è 1.

Quando l’iterabile è vuoto, restituisce il valore iniziale. Questa funzione isintended specificamente per uso con i valori numerici e può rejectnon-numeric i tipi.

Nuovo nella versione 3.8.

math.remainder(x, y)¶

Restituisce il resto di x in stile IEEE 754 rispetto a y., Forfinite x e finito diverso da zero y, questa è la differenza x - n*y,dove n è il numero intero più vicino al valore esatto del quoziente x /y. Se x / y è esattamente a metà strada tra due interi consecutivi, thenearest even integer viene utilizzato per n. Il restor = remainder(x,y) quindi soddisfa sempreabs(r) <= 0.5 * abs(y).,

casi Particolari di seguire lo standard IEEE 754: in particolare, remainder(x, math.inf) isx per qualsiasi finita x, e remainder(x, 0) eremainder(math.inf, x) raccogliere ValueError per tutti i non-NaN x.Se il risultato del resto il funzionamento è uguale a zero, zero si havethe stesso segno di x.

Su piattaforme utilizzando lo standard IEEE 754 binaria in virgola mobile, il risultato di thisoperation è sempre rappresentabile: nessun errore di arrotondamento è introdotto.

Nuovo nella versione 3.7.,

math.trunc(x)¶

Restituisce ilRealvalore x troncato a unIntegral (di solito un numero intero). Delegati a x.__trunc__().

math.ulp(x)¶

Ritorna il valore del bit meno significativo del float x:

  • Se x è un NaN (not a number), return x.

  • Se x è negativo, di ritorno ulp(-x).

  • Se x è un infinito positivo, restituisci x.,

  • Se x è uguale a zero, restituisce il float rappresentabile positivedenormalized più piccolo (più piccolo del float positivenormalized minimo, sys.float_info.min).

  • Se x è uguale al float rappresentabile positivo più grande,restituisce il valore del bit meno significativo di x, in modo tale che il firstfloat più piccolo di x sia x - ulp(x).

  • Altrimenti (x è un numero finito positivo), restituisce il valore del bit meno significativo di x, in modo tale che il primo float più grande di xisx + ulp(x).,

ULP sta per “Unità nell’ultimo posto”.

Vedere anche math.nextafter()esys.float_info.epsilon.

Nuovo nella versione 3.9.

Si noti che frexp()e modf() hanno un modello di chiamata / ritorno diverso rispetto ai loro equivalenti C: prendono un singolo argomento e restituiscono una coppia di valori, piuttosto che restituire il loro secondo valore di ritorno attraverso un ‘outputparameter’ (non esiste una cosa del genere in Python).,

Per le funzioniceil(),floor() emodf(), si noti che tutti i numeri di punto di galleggiamento di grandezza sufficientemente grande sono numeri interi esatti.I float Python in genere non portano più di 53 bit di precisione (lo stesso del tipo doppio platform C), nel qual caso qualsiasi float x con abs(x) >= 2**52non ha necessariamente bit frazionari.

Share

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *