Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 02.07.2013
Сообщений: 28

Ускорение вычислений на Python

06.08.2017, 00:22. Показов 2003. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите, пожалуйста как можно ускорить этот кусок кода?

Python
1
2
3
4
5
6
7
from scipy import optimize as opt
......
for l in range(0,100):
           for m in range (0,100):            
                        fun = lambda x: ((l*100-x[0])**2+(m*100-x[1])**2)**0.5            
                        answer = opt.minimize(fun, x0, bounds=bnds, constraints=cons)
                        r[l,m]+=answer.fun
Вычисления этого куска занимает ~30 секунд, что достаточно долго. Пробовал под numpy перекинуть, но scipy c ним не дружит.
Или тут только параллельное программирование спасет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.08.2017, 00:22
Ответы с готовыми решениями:

Почему результат несложных вычислений на Python отличается от результата на калькуляторе?
Есть такая задача: СВЕТОФОР Работа светофора для автомобилей запрограммирована следующим образом, с начала каждого часа, в течение N...

Ускорение выполнения кода с огромным количеством итераций в Python
Здравствуйте! Имеется задача пересчета пяти параметров: – для первого в промежутке от 0.0001 до 99.9999 с шагом 0.0001; – для второго в...

Как оптимизировать количество вычислений функции? Написать код на Python для отделения корней
Здравствуйте! Вчера я думал, что для завершения работы над контрольной достаточно будет спросить, как вычислить порядок сходимости, но...

3
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.08.2017, 00:41
Есть просто правило, если вы пользуетесь numpy\scipy и вам нужна скорость: не используйте ничего из pure python.
То что вы делаете циклами, в них наверняка делается специальной функцией - просто поищите в доках.
0
0 / 0 / 0
Регистрация: 02.07.2013
Сообщений: 28
06.08.2017, 02:29  [ТС]
Garry Galler,

Python
1
2
 l,m=np.mgrid[0:100,0:100]         
 r[l,m] += opt.minimize(lambda x: ((l*100-x[0])**2+(m*100-x[1])**2)**0.5 ((l*100-x[0])**2+(m*100-x[1])**2)**0.5, x0, bounds=bnds, method='SLSQP',constraints=cons).fun
попробовал такую конструкцию, выдало ошибку:
raise ValueError("Objective function must return a scalar")
ValueError: Objective function must return a scalar
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.08.2017, 03:20
WurZerr,
Я не разбираюсь в математических оптимизациях, но насколько мне известно - по данной ошибке - это был баг scipy, который поправили в версии 19.0. У вас версия выше или ниже? Если ниже - попробуйте обновиться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.08.2017, 03:20
Помогаю со студенческими работами здесь

Ускорение вычислений Given-Find
Есть система уравнений из 5 уравнений. решается порядка 2-3 минут, с учётом того что мне нужно очень много значений менять и собирать...

Ускорение простых вычислений с использованием всех ядер процессора
Предположим есть многоядерный процессор и простая программа, например вычисляющая сумму синусов элементов от 0 до n. В перспективе это...

Ускорение работы цикла for или оптимизация вычислений. Стоит ли переходить на С
Здравствуйте Прилагаю проблемный цикл который матлаб считает больше часа ( я прервал операцию не выдержав). Как это работает: ...

Скорость, касательное ускорение, полное ускорение, нормальное ускорение и радиус кривизны траектории
Движение точки задано координатным способом. Найти траекторию и начертить ее. Кроме того определить скорость, касательное ускорение, полное...

NumPy 1.6.0 - расширение языка Python для научных вычислений
14 мая 2011 года стала доступной для загрузки стабильная версия 1.6.0 расширения языка Python для научных вычислений - NumPy. NumPy...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru