Python думает, что у Эйлера проблемы с идентификацией (cmath возвращает странные результаты)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python думает, что у Эйлера проблемы с идентификацией (cmath возвращает странные результаты)

Сообщение Anonymous »

Мой код:

Код: Выделить всё

import math
import cmath
print "E^ln(-1)", cmath.exp(cmath.log(-1))
Что он печатает:

Код: Выделить всё

E^ln(-1) (-1+1.2246467991473532E-16j)
Что должно быть напечатано:
(Для справки: Google проверяет мои расчеты)

Согласно документации на python.org cmath.exp (x) возвращает e^(x), а cmath.log(x) возвращает ln (x), поэтому, если я не пропустил точку с запятой или что-то в этом роде, это довольно простая трехстрочная программа. .

Когда я тестирую cmath.log(-1) возвращает πi (технически 3.141592653589793j). И это правильно. Личность Эйлера говорит, что e^(πi) = -1, однако Python говорит, что когда я повышаю e^(πi), у меня возникают какие-то безумные разговоры (в частности - 1+1.2246467991473532E-16j).

Почему Python меня ненавидит и как мне его успокоить?

Нужно ли включить библиотеку, чтобы она правильно выполняла математические операции, или я должен принести жертву ван Россуму? Возможно, это какая-то проблема с точностью с плавающей запятой?

Большая проблема, с которой я сталкиваюсь, заключается в том, что точность настолько недостаточна, что другие значения кажутся ближе к 0, чем фактическое. ноль в конечной функции (не показан), поэтому логические тесты бесполезны (т. е. if(x==0)), как и локальные минимумы и т. д...

Например, в итерации ниже:

Код: Выделить всё

X = 2 Y= (-2-1.4708141202500006E-15j)
X = 3 Y= -2.449293598294706E-15j
X = 4 Y= -2.204364238465236E-15j
X = 5 Y= -2.204364238465236E-15j
X = 6 Y= (-2-6.123233995736765E-16j)
X = 7 Y= -2.449293598294706E-15j
3 и 7 на самом деле равны нулю, но, похоже, они имеют самые большие мнимые части группы, а 4 и 5 не имеют своих действительных частей в все.

Извините за тон. Очень расстроен.

Подробнее здесь: https://stackoverflow.com/questions/170 ... ky-results
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python mercantile возвращает странные результаты
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • «Паддлокра возвращает странные результаты при извлечении текста из обнаруженных областей на изображениях»
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • «Паддлокра возвращает странные результаты при извлечении текста из обнаруженных областей на изображениях»
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Почему Python думает, что моя папка - модуль?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Почему Python думает, что моя папка - модуль?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»