Найти - Пользователи
Полная версия: Вычислительные рассчеты
Начало » Python для новичков » Вычислительные рассчеты
1 2 3
bismigalis
keekdown
Я думал что Numpy and Scipy обеспечивают оптимизацию таких вещей
обеспечивают, если ты используешь методы модуля numpy
keekdown
Ну как про С реализацию функций я думал.
уже все реализовано, бери, пользуйся

EDIT: или используй pypy он развернет цикл в нативный код
keekdown
bismigalis
такой метод наврятли присутствует в библиотеке numpy scipy
keekdown
Я уже попробовал pypy.Да быстрее,но не настолько.Знаю что на С матрица считается минуты за 2,я писал там подобную реализацию.Возможно есть выход пользоваться слайсингом..Если не по сабжу,то я узнал что оказывается есть модуль Messege Passing Interface для параллельного программирования.Видно значит можно использовать этот язык в вычислениях таких.
bismigalis
keekdown
Знаю что на С матрица считается минуты за 2
ого, так много, а ты еще на питоне хочешь
тут наверное надо GPU задействовать :)
keekdown
bismigalis
Ладно,спасибо за ответы.Был рад пообщаться.
bismigalis
keekdown
Ладно,спасибо за ответы.

Я вообще нуб в вычислительных расчетах. Про numpy только слышал краем уха. Щас стало интересно полез в документацию, и вижу что ты нихрена не понял как она работает.

keekdown
Был рад пообщаться.
Заходи ещё.
sergeek
from math import pi
import numpy as np
 
def calcf(n):
    const = 2**0.5 * pi 
    
    make_x = np.vectorize(lambda i, n : 1.0 / n * i)
    x = make_x(np.arange(n+1), n)
    
    one = np.sin(pi*x)*const 
 
    return np.vstack(e*one for e in one)
 
print(calcf(10000))
keekdown
sergeek
Очень интересная реализация!Спасибо!Тщательнее почитаю документацию
sergeek
vectorize тут лишний даже
from math import pi
import numpy as np
  
def calcf(n):
    const = 2**0.5 * pi
     
    x = 1.0 / n * np.arange(n+1)
    one = np.sin(pi*x)*const 
    return np.vstack(e*one for e in one)
keekdown
sergeek
vectorize тут лишний даже
Только не понятно почему
const = 2**0.5*pi
.У меня было
const = 2* pi* pi
.Это немного разные вещи.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB