2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3  След.
 
 Re: Лучшая CAS для физиков ?
Сообщение20.10.2015, 22:29 
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 
Кто-нибудь знает, как в Maxima сделать замену переменной при дифференцировании?

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

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

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение22.10.2015, 01:31 
bme в сообщении #1065294 писал(а):
Кто-нибудь знает, как в Maxima сделать замену переменной при дифференцировании?
А что Вы, собственно, хотите? Сосчитать производную по $t$?

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение22.10.2015, 01:58 
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 
Ну, какой-то тупой вариант получается просто так:
Код:
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 
Аватара пользователя
Maxima совсем замучила - из последнего: она начисто отказывается упрощать $\frac{\sqrt{3}\sqrt{2}}{\sqrt{6}}$.

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

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение17.11.2015, 22:51 
Аватара пользователя
Geen в сообщении #1074310 писал(а):
где удобнее работать, например, с тензорами
В последних версиях Mathematica вроде как дофига чего прикрутили насчёт тензорного исчисления; не факт, что эти возможности вас удовлетворят (я в этом не разбираюсь).

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение04.12.2015, 18:01 
Geen в сообщении #1074310 писал(а):
Всё же вопрос, где удобнее работать, например, с тензорами: Maple, Mathematica (desktop/online/AlphaPro) или, даже может быть, MatLab?

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

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение04.12.2015, 21:28 
Аватара пользователя
Да, Maple мне всегда нравился больше (вот только с home edition у него проблемы с покупкой).

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение04.12.2015, 23:41 
Geen в сообщении #1079543 писал(а):
Да, Maple мне всегда нравился больше

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

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

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

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 00:14 
Аватара пользователя
KVV в сообщении #1079580 писал(а):
Что за проблемы?

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

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 00:42 
Аватара пользователя
Geen в сообщении #1079591 писал(а):
а сейчас я её вообще что-то не нахожу
Возможно, сейчас она называется Personal Edition?

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 00:56 
Аватара пользователя
Aritaborian в сообщении #1079604 писал(а):
Geen в сообщении #1079591 писал(а):
а сейчас я её вообще что-то не нахожу
Возможно, сейчас она называется Personal Edition?

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

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 01:31 
Аватара пользователя
Geen в сообщении #1079609 писал(а):
но всё-равно не могу найти...
А это не она разве?

 
 
 
 Re: Лучшая CAS для физиков ?
Сообщение05.12.2015, 12:55 
Аватара пользователя
Aritaborian в сообщении #1079615 писал(а):
Geen в сообщении #1079609 писал(а):
но всё-равно не могу найти...
А это не она разве?

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

 
 
 [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group