Iperbolica in NumPy

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.

Corsi correlati

Design Pattern per videogiochi

I Design Pattern sono soluzioni a problemi comuni che si incontrano nello sviluppo del software. Nel contesto dei videogiochi, questi pattern possono aiutare a gestire la complessità crescente dei giochi moderni. Sei appassionato di videogiochi? Hai mai pensato a come vengono progettati e sviluppati? Sei curioso di scoprire i segreti dietro la creazione dei tuoi giochi preferiti? Allora sei nel posto giusto! Questo corso è stato progettato per fornirti una solida comprensione dei Design Pattern, strumenti fondamentali per ogni sviluppatore di giochi. Attraverso esempi pratici e realistici, esploreremo insieme come questi pattern possono aiutarti a creare giochi più efficienti, flessibili e mantenibili.

Corso Fondamenti di Python

Python, uno dei linguaggi di programmazione più popolari al mondo, è ampiamente utilizzato da colossi dell’informatica e della tecnologia come Google, la Nasa e Mozilla.
Questo corso sui fondamenti di Python esplorerà le ragioni del suo successo duraturo. Impareremo la potente ed espressiva sintassi di Python, che consente di ottenere risultati impressionanti con poche righe di codice.

Blender Masterclass 2

I paesaggi, in generale, possono risultare intimidatori data la loro complessità, costituita da numerosi elementi che sembrano formare qualcosa di virtualmente infinito. Durante le lezioni di questo corso, ci concentreremo su una scomposizione delle diverse fasi coinvolte nella creazione di una scena, affrontandole una alla volta attraverso passi graduati.

Blender Masterclass 1

In questo corso di Blender 3D, Masha, in collaborazione con Gedemy, vi mostrerà il processo di modellazione, UV mapping, shading, e texture painting di un asset. Una volta apprese le basi, vedremo anche come effettuare il baking delle textures e la preparazione con successivo export della mesh in modo che possa essere utilizzabile all’interno di un qualsiasi altro software.

Crea il tuo account gratuito Gedemy

Gedemy è la prima piattaforma di formazione italiana che ti permette di sviluppare competenze in ambiti come Game Design, Programming, Arte, 3D, Tech, AI e molto altro.