2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Лучшая CAS для физиков ?
Сообщение20.10.2015, 22:29 


22/12/11
66
Aritaborian в сообщении #1064551 писал(а):
На изучение основ Wolfram Language (тот, который используется в Mathematica) много времени не уйдёт. Вам ведь не нужно в дебри программирования лезть.

Насчет дебрей программирования - возможно этого не избежать. Времени может и немного уйдет, но я уже в цейтноте, и к тому же пока осталась надежда на maxim-у. С оболочкой wxMaxima решил разобраться позже, напишу про этот баг разработчикам. Сам язык Maxima мне нравится. То, что дистрибутив wxMaxima или Maxima мало (много меньше математики) весит, и ПО бесплатное - тоже в плюс.

Столкнулся пока со следующими чисто программистскими проблемами в maxima:

1) мне нужны интегралы от полиномов Гаусса-Лагерра

Код:
DL(n,l,x):=gen_laguerre(n,l,x)*exp(-x/2)*x^(l/2);


где gen_laguerre(n,l,x) - обобщенный полином лагерра.

Попробовал просто записать эти интегралы в список правил,

Код:
defrule(ruDL, integrate(DL(n,l,x)*DL(m,l,x), x,0,inf) , (n+l)!/n!*kron_delta(n,m) );


, а потом воспользоваться этим правилом

Код:
apply2(integrate(DL(n,l,x)*DL(m,l,x), x,0,inf),ruDL);

- ничего не получается, правило не работает. Аналогичный результат - с командами let и letsimp.

В чем тут дело и как можно ввести подобные интегралы в базу данных Maxima по интегралам?
(в руководствах долго рылся, но ничего не нашел в тему)

2) если объявить n,m,l - целыми и n>=0, m>=0, l>=0, то получаем

Код:
DL(n,l,x)*DL(m,l,x)= (pochhammer(l+1,m)*pochhammer(l+1,n)*x^l*%e^-x
                  *('sum((pochhammer(-n,i3)*x^i3)/(i3!*pochhammer(l+1,i3)),i3,0,n))
                  *'sum((pochhammer(-m,i4)*x^i4)/(i4!*pochhammer(l+1,i4)),i4,0,m))  /(m!*n!)


Казалось бы, это уже просто проинтегрировать от 0 до бесконечности, но нет:

а) суммы, которые дает программа - неактивны, и с этими выражениями ничего нельзя сделать, нужно сначала заменить 'sum на sum. Как это автоматически делать - непонятно.

б) не так то просто оказывается засунуть x^l*%e^-x перед внешней суммой и x^i3 под внешней суммой во внутреннюю сумму, чтобы там получилось выражение
Код:
x^(l+i14+i13)*%e^-x
,
которое просто интегрируется. Для этого приходится давать сначала команду
sumexpand:true; ,а затем несколько раз команду intosum , которая приводит заодно и к побочному эффекту: под суммами оказываются вообще все множители, а не только зависящие от x.

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

Пытался выделить в этом выражении составляющую, зависящую от x, командой
Код:
isolate(%,x)
; - ничего не дает, т.к. выражение
Код:
x^(l+i14+i13)*%e^-x
так и оказывается под знаком сумм, а потому не интегрируется!

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение22.10.2015, 01:23 


22/12/11
66
Кто-нибудь знает, как в Maxima сделать замену переменной при дифференцировании?

Скажем, в diff(y(x),x) нужно сделать замену x = (t/a)^2, где t - переменная, a - константа.

Казалось бы, простейшая задача, но как сделать без чрезмерных ухищрений - совершенно непонятно. Функция замены переменной в интеграле - есть, для алгебраических функций - есть, для дифференциалов - нет :(

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение22.10.2015, 01:31 
Заслуженный участник


09/05/12
25179
bme в сообщении #1065294 писал(а):
Кто-нибудь знает, как в Maxima сделать замену переменной при дифференцировании?
А что Вы, собственно, хотите? Сосчитать производную по $t$?

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение22.10.2015, 01:58 


22/12/11
66
Pphantom в сообщении #1065298 писал(а):
bme в сообщении #1065294 писал(а):
Кто-нибудь знает, как в Maxima сделать замену переменной при дифференцировании?
А что Вы, собственно, хотите? Сосчитать производную по $t$?


Наверное выше я не совсем ясно написал. Задача на самом деле такая: есть некое выражение $f = f( y''(x), y'(x), y, x )$.
В этом выражении нужно сделать замену переменной $x = (t/a)^2$. Возникает вопрос - как сделать такую подстановку автоматически?

Если написать t(x):=a*x^(1/2); ,
затем загрузить специальный пакет: load(pdiff)$,
а затем написать diff(y(t(x)),x);
- то мы получим ( a*y[(1)]((a*sqrt(x)) )/sqrt(x),
и после команды ev(%,x=t^2/a^2);
- мы получим то, что нужно, но в отдельном дифференциале, и после изрядного гемороя, т.е. неудобным способом.

Но это не сильно приближает нас к решению исходной задачи про замену $x = (t/a)^2$ в $f = f( y''(x), y'(x), y, x )$, поскольку вручную там править производные таким приемом, а потом их еще как-то заменять на полученные выражения, выделяя их командами part - это жуткий геморой, и непонятно, как его сделать а автоматическом режиме !
(хотя бы уже потому непонятно, что заранее неизвестно, что у команды part (а скорее всего, у вложенных команд part !!) идет под каким то номером)

Т.е. получается, что то, что с ручкой и листком бумаги делается за 10 мин - здесь требует больших ухищрений, если действовать таким способом. Есть ли более простое (и автоматическое!!) средство достижения такой цели ? (Заметим, что подобные задачи случаются сплошь и рядом).

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение22.10.2015, 02:26 
Заслуженный участник


09/05/12
25179
Ну, какой-то тупой вариант получается просто так:
Код:
x(t):=(t/a)^2;

expr:diff(y(x),x,2)+3*diff(y(x),x)-y+x/2;

subst((t/a)^2,x,expr);
Но вот что делать дальше, если вид функции y(x) неизвестен...

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение17.11.2015, 16:57 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Maxima совсем замучила - из последнего: она начисто отказывается упрощать $\frac{\sqrt{3}\sqrt{2}}{\sqrt{6}}$.

Всё же вопрос, где удобнее работать, например, с тензорами: Maple, Mathematica (desktop/online/AlphaPro) или, даже может быть, MatLab?

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение17.11.2015, 22:51 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Geen в сообщении #1074310 писал(а):
где удобнее работать, например, с тензорами
В последних версиях Mathematica вроде как дофига чего прикрутили насчёт тензорного исчисления; не факт, что эти возможности вас удовлетворят (я в этом не разбираюсь).

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение04.12.2015, 18:01 


02/11/11
1310
Geen в сообщении #1074310 писал(а):
Всё же вопрос, где удобнее работать, например, с тензорами: Maple, Mathematica (desktop/online/AlphaPro) или, даже может быть, MatLab?

Я однажды на Maple символьно вычислял псевдотензор ЭИ грав. поля метрики Керра. Был очень приятно удивлен. И по простоте и наглядности записи. И по скорости. По-моему даже файлик сохранился.

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение04.12.2015, 21:28 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Да, Maple мне всегда нравился больше (вот только с home edition у него проблемы с покупкой).

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение04.12.2015, 23:41 


02/11/11
1310
Geen в сообщении #1079543 писал(а):
Да, Maple мне всегда нравился больше

Тем не менее, если не ограничиваться тензорами, мне попадались глюки и тормоза Maple в моментах, где Mathematica отлично справлялась. И наоборот, в некоторых моментах тупила уже Mathematica, а Maple не испытывал проблем. Так что лучше держать под рукой оба пакета и при трудностях в одном, пытаться считать в другом.

Geen в сообщении #1079543 писал(а):
вот только с home edition у него проблемы с покупкой

Что за проблемы?

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 00:14 
Заслуженный участник
Аватара пользователя


01/09/13
4656
KVV в сообщении #1079580 писал(а):
Что за проблемы?

Насколько я понимаю, они с этой покупкой направляют местным, а они не работают с физ.лицами...
(а сейчас я её вообще что-то не нахожу)

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 00:42 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Geen в сообщении #1079591 писал(а):
а сейчас я её вообще что-то не нахожу
Возможно, сейчас она называется Personal Edition?

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 00:56 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Aritaborian в сообщении #1079604 писал(а):
Geen в сообщении #1079591 писал(а):
а сейчас я её вообще что-то не нахожу
Возможно, сейчас она называется Personal Edition?

Это понятно :) но всё-равно не могу найти...

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 01:31 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Geen в сообщении #1079609 писал(а):
но всё-равно не могу найти...
А это не она разве?

 Профиль  
                  
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 12:55 
Заслуженный участник
Аватара пользователя


01/09/13
4656
Aritaborian в сообщении #1079615 писал(а):
Geen в сообщении #1079609 писал(а):
но всё-равно не могу найти...
А это не она разве?

Она, спасибо. Вот её-то и не получилось купить....

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

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



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

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


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

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