Devo usare la funzione Python math.log(x)
con valori di x da (0, ..., 1). A volte x potrebbe essere troppo vicino allo zero, e Python mi dà un errore:errori di dominio matematico python nella funzione math.log
ValueError: math domain error
Come faccio a sapere, che cosa è il dominio di definizione di math.log
funzione?
Questo è quello che pensavo, ma mentre 'sys.float_info.min = 2.2250738585072014e-308', posso ancora fare' math.log (2e-318) 'sul mio sistema (e ottenere' -731.5289 .. .' come risposta). Cosa succede con quello? – Evert
@Evert: è un ["numero normale"] (http://en.wikipedia.org/wiki/Denormal_number) e possono effettivamente essere la causa del tuo problema. –
Ah, ho imparato qualcosa. Sospettavo che "epsilon" fosse coinvolto, ma sono comunque sorpreso che in realtà lanci una risposta corretta per 'math.log (5e-324)', anche se è un underflow. È ora di leggere [Wikipedia su questo] (http://en.wikipedia.org/wiki/Double-precision_floating-point_format). – Evert