В стандартной библиотеке, вы можете посмотреть на decimal
модуля:
>>> import decimal
>>> decimal.Decimal(-1200)
Decimal('-1200')
>>> decimal.Decimal(-1200).exp()
Decimal('7.024601888177132554529322758E-522')
Если вам нужно больше функций, чем decimal
опорам, вы можете посмотреть в библиотеке mpmath
, который я использую и люблю много:
>>> import mpmath
>>> mpmath.exp(-1200)
mpf('7.0246018881771323e-522')
>>> mpmath.mp.dps = 200
>>> mpmath.exp(-1200)
mpf('7.0246018881771325545293227583680003334372949620241053728126200964731446389957280922886658181655138626308272350874157946618434229308939128146439669946631241632494494046687627223476088395986988628688095132e-522')
, но, если возможно, вы должны увидеть, полностью работать в лог-пространстве.
Спасибо, десятичный делает то, что мне нужно :) –
Я не мог переделать, чтобы оставаться в лог-пространстве, поскольку я работаю с журналом a и log b и нуждаюсь в/(a + b), который потребует журнала (a + b), что не является тривиальным в получении при наличии только log a и log b. –