Свёртку сделайте и получите аналитическую функцию. Ну и потом, всегда можно сказать, что такой дискретный подход сути дела не отображает и заменить функцию хевисайда хоть арктангенсом.
И, кстати, дифференцируемость в классе обобщённых функций есть и у функций хевисайда.
Я попробовал взять toy raytracer'ер[1] и заменить в нём их классы Vector и Point на numpy массивы получается обратная ситуация — код замедляется. Это, видимо, связано с тем, что проще перемножить/сложить 3 числа так, чем переходить для этого в C код Numpy. Я глубоко не копал в этом, точно сказать немогу.
При этом, если запустить код под pypy-c-jit, то pure python без Numpy выигрывает в несколько раз по сравнению с кодом с CPython + numpy.
Я прямо сейчас занимаюсь тем, что пишу 3d графику для Python. Правда, задача у меня несколько специфичная.
Задача некорректная — ответ зависит от системы счисления.
Если я правильно помню: сравнивать можно, используя определение равенства обобщённой функции нулю. Можно попытаться сравнивать как пределы.
И, кстати, дифференцируемость в классе обобщённых функций есть и у функций хевисайда.
Большой привет.
Примеры не-аналитических функций карьерного роста последуют?
На всех графиках, приведённых в статье, функции аналитические.
Я себе плохо представляю неаналитическую функцию карьерного роста.
Это я к тому, что numpy тут вообще-то причём.
Вы исходник scipy.spatial.qhull видели, прежде чем хоть какие-то выводы делать?
Если нет — показываю:
Файл: scipy/scipy/spatial/qhull.pyx
import numpy as np
cimport numpy as np
При этом, если запустить код под pypy-c-jit, то pure python без Numpy выигрывает в несколько раз по сравнению с кодом с CPython + numpy.
Я прямо сейчас занимаюсь тем, что пишу 3d графику для Python. Правда, задача у меня несколько специфичная.
[1] www.lshift.net/blog/2008/10/29/toy-raytracer-in-python
что вы понимаете под '3d графика'?