Почему log (inf + inf j) равен (inf + 0,785398 j), в C ++/Python/Numpy?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему log (inf + inf j) равен (inf + 0,785398 j), в C ++/Python/Numpy?

Сообщение Anonymous »

Я нахожу странное поведение функций log в C ++ и Numpy о поведении журнала Обработка функций. Сложные бесконечные числа. В частности, log (inf + inf * 1j) equals (inf + 0.785398j) , когда я ожидаю, что он будет (inf + nan * 1j) .
при получении журнала комплексного числа, реальная часть - это журнал абсолютного значения входного и воображаемого, и воображаемая часть является фазой входного входа. Returning 0.785398 as the imaginary part of log(inf + inf * 1j) means it assumes the infs in the real and the imaginary part have the same length.
This assumption does not seem to be consistent with other calculation, for example, inf - inf == nan, inf / inf == nan which assumes 2 infs do not necessarily have the same значения.
Почему предположение для журнала (inf+ inf * 1j) отличается?
воспроизводить код C ++:
#include
#include
#include
int main() {
double inf = std::numeric_limits::infinity();
std::complex b(inf, inf);
std::complex c = std::log(b);
std::cout
import numpy as np

a = complex(float('inf'), float('inf'))
print(np.log(a))
< /code>
Изменить: Спасибо за всех, кто участвует в обсуждении исторической причины и математической причины. Вы все превратите этот наивный вопрос в действительно интересную дискуссию. Предоставленные ответы - все высокое качество, и я хотел бы принять более 1 ответов. Тем не менее, я решил принять ответ @Саймона, как он более подробно объясняет математическую причину и предоставил ссылку на документ, объясняющий логику (хотя я не могу полностью ее понять).

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему log(inf + inf j) равен (inf + 0,785398 j) в C++/Python/NumPy?
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как представить inf или -inf в Cython с помощью numpy?
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • «java.io.FileNotFoundException: Velocity.log», добавленный в файл eclipse .log
    Anonymous » » в форуме JAVA
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Log.d не показывает log.d в Logcat Android Studio
    Anonymous » » в форуме JAVA
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • Log.d не показывает log.d в Logcat Android Studio
    Anonymous » » в форуме Android
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous

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