2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Сколько фильмов я успею посмотреть?
Сообщение22.11.2014, 10:37 


24/07/14
138
Нужно вычислить определитель матрицы 10х10, состоящей из элементов вида$$A_{ij}=a_{ij}+b_{ij}e^{\alpha_{ij}x+\beta_{ij}t+\gamma_{ij}}$$
где всё, кроме $x,t$, задано (в смысле там просто числа стоят). Затем нужно его два раза продифференцировать по $x$.

Реально ли это сделать в Mathematic'e на обычном компьютере? Сколько на это может уйти времени? То же задание для матрицы 7х7, например, делала около 3 часов и так и не сделала.

 Профиль  
                  
 
 Re: Сколько фильмов я успею посмотреть?
Сообщение22.11.2014, 11:07 
Аватара пользователя


08/08/14

991
Москва
перепешите на асме

 Профиль  
                  
 
 Re: Сколько фильмов я успею посмотреть?
Сообщение22.11.2014, 11:10 


24/07/14
138
levtsn, впервые слышу о таком. Найти не получилось. Можете ссылку скинуть?

-- 22.11.2014, 11:34 --

Я, кажется, решил проблему. Если "оптимизировать" код, то вычисления, которые я тут описал, проводятся практически мгновенно. Пару секунд уходит на то чтобы вывести результат и еще пару минут на то чтобы построить график. "Оптимизация" заключается в том, что в строке
u = D[Log[Det[A]], {x, 2}]//FullSimplify
нужно убрать... //FullSimplify – именно его математика пыталась 3 часа обработать.

Для матрицы 10х10 все вычисления (без вывода и без графика) заняли 18 секунд.

Но у меня еще тогда такой вопрос: если бы я оставил //FullSimplify – она бы снова очень долго пыталась его посчитать, и если, допустим, она не справилась бы за часов 5, то имело бы смысл оставить ее еще на пару дней с расчетом на то, что когда-нибудь она досчитает? Или, скорее всего, она бы в итоге выдала какую-нибудь ошибку, типа что ей чего-то не хватает?
Вообще, если вычисления идут несколько часов, например, больше 5-10, есть ли смысл их продолжать?

 Профиль  
                  
 
 Re: Сколько фильмов я успею посмотреть?
Сообщение22.11.2014, 11:40 
Заслуженный участник


25/02/11
1786
Много времени занимает вывод больших выражений. А у определителя десятого порядка больше 3 млн слагаемых. По умолчанию математика раскрывать скобки и упрощать не будет. Надо это явно указать, прежде чем выводить или чему-то присваивать. Вот такое у меня считалось минуту.

Код:
Subscript[A, i_, j_] =  Subscript[a, i, j] + Subscript[b, i, j]* E^(Subscript[\[Alpha], i, j]*x + Subscript[\[Beta], i, j]*t +
             Subscript[\[Gamma], i, j]);
Subscript[a, i_, j_] = GCD[i, j];
Subscript[b, i_, j_] = LCM[i, j];
Subscript[\[Alpha], i_, j_] = i + j;
Subscript[\[Beta], i_, j_] = i;
Subscript[\[Gamma], i_, j_] = j;
res = Det[Table[Subscript[A, i, j], {i, 1, 10}, {j, 1, 10}]] // Expand;
D[res, {x, 2}]


Ну и результат все равно не маленький, больше двух тысяч слагаемых в этом примере.

 Профиль  
                  
 
 Re: Сколько фильмов я успею посмотреть?
Сообщение22.11.2014, 18:31 
Аватара пользователя


08/08/14

991
Москва
->_Er: асм это жаргонно название языка ассемблера. самые быстрые программные вычисления.
если надо быстрее, то тут уже верилог нужен. будет аппаратно считать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group