2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Софт для решения ДУЧП с большой размерностью переменной
Сообщение26.08.2015, 11:44 


16/05/15
18
Существует ли софт для решения дифференциального уравнения в частных производных:
$$\frac{\partial{U(t,x)}}{\partial{t}}=\sum_{i=1}^{n}{f_{i}(x) \cdot \frac{\partial{U(t,x)}}{\partial{x_{i}}}}$$
с начальными условиями:
$$U(0,x)=h(x)$$
где $x$ - вектор размера $n$, $n>400$.
Решение нужно не численное, от него нужно будет взять $m$, $0<m<n$ производных в заданной точке:
$\frac{\partial^{m}{U(t,x)}}{\partial{x_{i_{1}}}...\partial{x_{i_{m}}}} \bigg|_{(t,x)=(t_{1}, x_{1})}$
Возможно ли это сделать?

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 12:24 
Заслуженный участник
Аватара пользователя


03/06/08
2337
МО
Не знаю как насчет софта, но Ваше уравнение сводится к оду
$\frac{dt}{-1}=\frac{dx_1}{f_1(x)}=...=\frac{dx_n}{f_n(x)}$
Решение учп будет складываться из интегральных кривых оду.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 15:26 
Заслуженный участник


25/02/11
1797
И эти ОДУ не обязаны быть разрешимыми в элементарных функциях. И как в каком виде предполагается получить результат не численно?

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 18:41 


16/05/15
18
Vince Diesel в сообщении #1048406 писал(а):
И эти ОДУ не обязаны быть разрешимыми в элементарных функциях. И как в каком виде предполагается получить результат не численно?

Мне нужно получить значение производной в точке $\frac{\partial^{m}{U(t,x)}}{\partial{x^{i_{1}}}...\partial{x^{i_{m}}}} \bigg|_{(t,x)=(t_{1}, x_{1})}$. Можно и численно. Кажется я начинаю понимать как это можно сделать (например, для случая $m=2$):
нужно численно посчитать значение функции в двух точках $U(t,x_{1}^{1},x_{1}^{2},...,x_{1}^{i},...,x_{1}^{j},...,x_{1}^{n})$ и $U(t,x_{1}^{1},x_{1}^{2},...,x_{1}^{i}+h,...,x_{1}^{j}+h,...,x_{1}^{n})$, тогда:
$\frac{\partial{U(t,x)}}{\partial{x_{i}}} \bigg|_{(t,x)=(t_{1}, x_{1})}=\frac{U(t,x_{1}^{1},x_{1}^{2},...,x_{1}^{i}+h,...,x_{1}^{j}+h,...,x_{1}^{n})-U(t,x_{1}^{1},x_{1}^{2},...,x_{1}^{i},...,x_{1}^{n})}{h^2}$
верно? Если да, то на чем лучше всего это считать?

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 21:25 
Заслуженный участник


25/02/11
1797
И с численным, похоже, проблемы. При такой размерности, если решать сетками, то, взяв хотя бы по 10 точек на координату, получается $10^{400}$ узлов.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 21:53 
Заслуженный участник


05/08/14
1564
B_u_b_a в сообщении #1048007 писал(а):
$n>400$.
Решение нужно не численное, от него нужно будет взять $m$, $0<m<n$ производных в заданной точке:
$\frac{\partial^{m}{U(t,x)}}{\partial{x_{i_{1}}}...\partial{x_{i_{m}}}} \bigg|_{(t,x)=(t_{1}, x_{1})}$
Возможно ли это сделать?

Для $m=400 $ количество таких производных будет чуть поменьше чем $400^{400} $. Уровень вычислительных технологий достигнутый человечеством пока, к сожалению, не готов, к вашим задачам :cry:

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 22:25 


16/05/15
18
dsge в сообщении #1048511 писал(а):
Для $m=400 $ количество таких производных будет чуть поменьше чем $400^{400} $. Уровень вычислительных технологий достигнутый человечеством пока, к сожалению, не готов, к вашим задачам :cry:

Мне надо не все производные считать, а конкретные, скажем, по первым десяти аргументам. Чисто ради интереса: а при каких n и m задача решается? И на чем считают? Matlab? Или какими-нибудь узкоспециализированными программами?

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 22:30 
Заслуженный участник


05/08/14
1564
B_u_b_a в сообщении #1048518 писал(а):
Мне надо не все производные считать, а конкретные, скажем, по первым десяти аргументам.

Это тоже очень много $(\sim 10^{10})$, если их просто держать в оперативной памяти.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение27.08.2015, 23:28 


16/05/15
18
dsge в сообщении #1048521 писал(а):
Это тоже очень много $(\sim 10^{10})$, если их просто держать в оперативной памяти.

Так мне производную в точке надо посчитать. Т.е. надо знать всего два значения: $U(t,x_{1}^{1},x_{1}^{2},...,x_{1}^{i},...,x_{1}^{j},...,x_{1}^{n})$ и $U(t,x_{1}^{1}+h,x_{1}^{2}+h,...,x_{1}^{10}+h,x_{1}^{11},...,x_{1}^{n})$ (для m=10).

Просто численно посчитать $U(t,x)$ в точке для каких n реально?

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение28.08.2015, 00:26 
Заслуженный участник


05/08/14
1564
B_u_b_a в сообщении #1048537 писал(а):
Так мне производную в точке надо посчитать.

Только одну смешанную производную в точке? Это можно где угодно посчитать, хоть в Экселе.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение28.08.2015, 09:52 


16/05/15
18
dsge в сообщении #1048560 писал(а):
Только одну смешанную производную в точке? Это можно где угодно посчитать, хоть в Экселе.

Т.е. численно решить дифференциальное уравнение в частных производных:
$$\frac{\partial{U(t,x)}}{\partial{t}}=\sum_{i=1}^{n}{f_{i}(x) \cdot \frac{\partial{U(t,x)}}{\partial{x_{i}}}}$$
с начальными условиями:
$$U(0,x)=h(x)$$
где $x$ - вектор размера $n$, $n>400$.
можно в Excel? Мне нужно знать значения $U(t,x)$ в двух точках. Можете посоветовать литературу, где простым языком написано как это сделать.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение28.08.2015, 20:23 
Заслуженный участник


05/08/14
1564
B_u_b_a в сообщении #1048666 писал(а):
Т.е. численно решить дифференциальное уравнение в частных производных:
$$\frac{\partial{U(t,x)}}{\partial{t}}=\sum_{i=1}^{n}{f_{i}(x) \cdot \frac{\partial{U(t,x)}}{\partial{x_{i}}}}$$
с начальными условиями:
$$U(0,x)=h(x)$$

Если вам надо численно решить дифференциальное уравнение в частных производных, то непонятно что значит
B_u_b_a в сообщении #1048666 писал(а):
Мне нужно знать значения $U(t,x)$ в двух точках

В каких 2-х точках?
B_u_b_a в сообщении #1048666 писал(а):
Можете посоветовать литературу, где простым языком написано как это сделать.

Любой учебник по численным методам и большинство учебников по уравнениям в частных производных (или мат.физики) - в Тихонове и Самарском кажется это есть.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение28.08.2015, 20:44 


16/05/15
18
dsge в сообщении #1048827 писал(а):
Если вам надо численно решить дифференциальное уравнение в частных производных, то непонятно что значит
B_u_b_a в сообщении #1048666

писал(а):
Мне нужно знать значения $U(t,x)$ в двух точках
В каких 2-х точках?

Дано:
дифференциальное уравнение в частных производных:
$$\frac{\partial{U(t,x)}}{\partial{t}}=\sum_{i=1}^{n}{f_{i}(x) \cdot \frac{\partial{U(t,x)}}{\partial{x_{i}}}}$$
с начальными условиями:
$$U(0,x)=h(x)$$
где $x$ - вектор размера $n$, $n>400$.
Требуется посчитать два числа: $U(t,x_{1}^{1},x_{1}^{2},...,x_{1}^{i},...,x_{1}^{j},...,x_{1}^{n})$ и $U(t,x_{1}^{1}+h,x_{1}^{2}+h,...,x_{1}^{10}+h,x_{1}^{11},...,x_{1}^{n})$
где $ x_{1}$ - $n$-мерная точка: $x_{1}=(x_{1}^{1},x_{1}^{2},...,x_{1}^{i},...,x_{1}^{j},...,x_{1}^{n})$.

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение28.08.2015, 21:08 
Заслуженный участник


05/08/14
1564
Вам надо решить уравнение для конкретного начального условия $x_0=0,$ $U(0,x_0)=h(x_0)$ до момента $t$ и после взять конкретную частную смешанную производную в точке $(t,x(t))$ ?

 Профиль  
                  
 
 Re: Софт для решения ДУЧП с большой размерностью переменной
Сообщение28.08.2015, 21:15 


16/05/15
18
Мне нужно знать ТОЛЬКО значение смешанной производной в точке $x_{1}$ в момент времени $t$. Для этого, как я понял, нужно посчитать два числа. Причем делать это нужно в каком-нибудь матпаке, так как $n$ велико.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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



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

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


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

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