Le funzioni iperboliche in NumPy sono strumenti molto utili quando si lavora con il calcolo numerico, l’analisi matematica e alcuni ambiti del machine learning. Anche se a prima vista possono sembrare argomenti avanzati, in realtà NumPy rende il loro utilizzo piuttosto lineare. Basta conoscere il nome della funzione giusta e capire come si comporta sugli array.
In questa guida vedremo in modo chiaro come usare seno iperbolico, coseno iperbolico e tangente iperbolica in Python con NumPy, insieme ad altre funzioni correlate. L’obiettivo è offrirti una panoramica concreta, con esempi leggibili e subito applicabili nei tuoi script.
Prima di tutto, se non hai ancora importato la libreria, puoi partire da qui:
import numpy as np
Come usare il seno iperbolico con numpy.sinh()
La funzione numpy.sinh() calcola il seno iperbolico di uno o più valori. Puoi usarla sia con numeri singoli sia con array NumPy. Questo è uno dei vantaggi principali della libreria: lavorare in modo vettoriale, senza dover scrivere cicli manuali.
Ecco un primo esempio semplice:
import numpy as np
x = np.array([0, 1, 2, 3])
risultato = np.sinh(x)
print(risultato)
In questo caso, NumPy applica il calcolo del seno iperbolico a ogni elemento dell’array. È un approccio molto comodo quando hai insiemi di dati numerici e vuoi trasformarli rapidamente.
Puoi usare numpy.sinh() anche su un singolo valore:
import numpy as np
valore = np.sinh(1.5)
print(valore)
Dal punto di vista pratico, questa funzione compare in contesti legati a modelli matematici, equazioni differenziali e trasformazioni numeriche. Se sei alle prime armi, il punto fondamentale da ricordare è che np.sinh() restituisce un nuovo valore calcolato a partire dall’input, senza modificare il dato originale.
Guida al coseno iperbolico con numpy.cosh()
La funzione numpy.cosh() serve per calcolare il coseno iperbolico. Anche qui il comportamento è molto intuitivo: passi un numero o un array, e NumPy restituisce il risultato elemento per elemento.
Vediamo un esempio pratico:
import numpy as np
x = np.array([0, 1, 2, 3])
risultato = np.cosh(x)
print(risultato)
Una caratteristica interessante del coseno iperbolico è che per x = 0 il risultato è 1. Questo dettaglio torna spesso utile quando si controllano i risultati e si vogliono verificare rapidamente eventuali errori nel codice.
Ecco un confronto rapido tra input e output:
import numpy as np
valori = np.array([0, 0.5, 1.0, 1.5])
output = np.cosh(valori)
for v, o in zip(valori, output)
{
print(f"cosh({v}) = {o}")
}
Se lavori con modelli numerici o con formule che richiedono funzioni iperboliche, numpy.cosh() è una soluzione affidabile e veloce. In più, come tutte le funzioni matematiche di NumPy, è ottimizzata per operare bene anche su array di grandi dimensioni.
Applicare la tangente iperbolica con numpy.tanh()
Tra le funzioni iperboliche, numpy.tanh() è probabilmente una delle più conosciute, anche perché compare spesso nelle reti neurali e in alcuni problemi di normalizzazione dei dati. La tangente iperbolica restituisce valori compresi tra -1 e 1, ed è proprio questa proprietà a renderla interessante in molti contesti applicativi.
Un esempio base è il seguente:
import numpy as np
x = np.array([-2, -1, 0, 1, 2])
risultato = np.tanh(x)
print(risultato)
Noterai che, all’aumentare del valore assoluto di input, il risultato tende ad avvicinarsi a 1 oppure -1. Questo comportamento la rende molto diversa da altre trasformazioni matematiche più “aperte”.
Se vuoi osservare meglio il comportamento su una sequenza più ampia di valori, puoi fare così:
import numpy as np
x = np.linspace(-5, 5, 11)
y = np.tanh(x)
for valore_x, valore_y in zip(x, y)
{
print(f"x = {valore_x}, tanh(x) = {valore_y}")
}
Per chi inizia, è utile sapere che np.tanh() viene spesso scelta quando serve una trasformazione morbida e limitata entro un intervallo ben preciso. NumPy la rende immediata da usare anche senza una preparazione matematica avanzata.
Panoramica sulle altre funzioni iperboliche disponibili in NumPy
Oltre a numpy.sinh(), numpy.cosh() e numpy.tanh(), NumPy mette a disposizione anche altre funzioni iperboliche e inverse. Questi strumenti sono preziosi quando devi risolvere formule più articolate o invertire un’operazione già eseguita.
Tra le principali troviamo:
- numpy.arcsinh() per il seno iperbolico inverso
- numpy.arccosh() per il coseno iperbolico inverso
- numpy.arctanh() per la tangente iperbolica inversa
Un esempio pratico con queste funzioni può aiutare a capire meglio:
import numpy as np
valori = np.array([0.0, 1.0, 2.0])
asinh_val = np.arcsinh(valori)
acosh_val = np.arccosh(np.array([1.0, 2.0, 3.0]))
atanh_val = np.arctanh(np.array([-0.5, 0.0, 0.5]))
print(asinh_val)
print(acosh_val)
print(atanh_val)
Qui è importante fare attenzione ai domini validi. Ad esempio, numpy.arccosh() richiede valori maggiori o uguali a 1, mentre numpy.arctanh() accetta valori compresi strettamente tra -1 e 1. Se passi valori fuori intervallo, potresti ottenere errori o risultati non validi.
Esistono poi anche varianti utili per controllare il tipo di dato o per lavorare in contesti più avanzati, ma nella maggior parte dei casi chi inizia può concentrarsi tranquillamente sulle funzioni principali. Il vero punto di forza è la coerenza dell’interfaccia: una volta capito come funziona una funzione NumPy, le altre seguono una logica molto simile.