2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Бикомплексные чила в Maple
Сообщение16.11.2011, 20:06 
Аватара пользователя


10/12/07
516
Как в Maple задать бикомплексное число вида
$q=a+b \cdot i + c \cdot j + d \cdot i \cdot j $
где, $a,b,c,d$ - действительные числа, $i,j$ - мнимые единицы $i^2=j^2=-1$, и их свойство $i \cdot j = j \cdot i$ ?

Также нужно задать функции сопряжения по мнимым единицам.
Определил функции:
Код:
> conjugatej:=proc(expr)
> algsubs(j=-j,expr); end proc:
> conjugatei:=proc(expr)
> algsubs(i=-i,expr); end proc:
> conjugateij:=proc(expr)
> conjugatej(conjugatei(expr)) end proc:

Если функция содержит в выражении $i$ или $j$, например,
Код:
Z:=2*i+3*j-4*i*j;

то результатом
Код:
cojnugatei(Z)
будет
Код:
$-2*i+3*j-4*i*j$

Но, естественно, что в таком случае не вычисляются степени мнимых единиц. И в сложных формулах вычисления идут неправильно. Прошу помощи в доведении функций до ума.

 Профиль  
                  
 
 Re: Бикомплексные чила в Maple
Сообщение16.11.2011, 20:18 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Может можно свести к матрицам?

 Профиль  
                  
 
 Re: Бикомплексные чила в Maple
Сообщение16.11.2011, 21:15 
Аватара пользователя


10/12/07
516
caxap в сообщении #504582 писал(а):
Может можно свести к матрицам?

Думаю, что там еще много побочных проблем возникнет.
Я думал решить так:
Код:
> restart;
> with(LinearAlgebra):
#Процедура умножения
> P:=proc(u,v)
> local L,A,n,B;
> A:=expand(u*v);
> L:=[i^2=-1,j^2=1];
> for n to nops(L) do
> A:=expand(algsubs(L[n],A));
> od;
> B:=collect(A,[i,j]);
> B;
> end proc:
#Процедура сопряжения по j
> conjugatej:=proc(expr)
> local L,A,n,B;
> A:=expand(expr);
> L:=[j=-j];
> for n to nops(L) do
> A:=expand(algsubs(L[n],A));
> od;
> B:=collect(A,[i,j]);
> B;
> end proc:
#Процедура сопряжения по i
> conjugatei:=proc(expr)
> local L,A,n,B;
> A:=expand(expr);
> L:=[i=-i];
> for n to nops(L) do
> A:=expand(algsubs(L[n],A));
> od;
> B:=collect(A,[i,j]);
> B;
> end proc:
#Процедура сопряжения по i и j
> conjugateij:=proc(expr)
> local L,A,n,B;
> A:=expand(expr);
> L:=[i=-i,j=-j];
> for n to nops(L) do
> A:=expand(algsubs(L[n],A));
> od;
> B:=collect(A,[i,j]);
> B;
> end proc:

> eta:=1-j/rho;A:=1;
#Задаю функции
> Z[1]:=j*A/sqrt(2)/rho*(eta-rho^(-2))*sin(theta)*exp(j*psi);
> Z[2]:=j*i*A/sqrt(2)/rho*eta*sin(theta)*exp(j*psi);
> Z[3]:=sqrt(2)*A/rho^2*eta*cos(theta)*exp(j*psi);
#Вычисляю
> q1[1]:=P(Z[2],conjugatej(Z[3]))-P(Z[3],conjugatej(Z[2]));collect(q1[1],1/rho^5);


Ответ $q^1_1$ неверный.

 Профиль  
                  
 
 Re: Бикомплексные чила в Maple
Сообщение18.11.2011, 01:06 


25/08/05
645
Україна
Нужно аккуратно проверить каждую процедуру. Например уже первая процедура умножения выдает неправильный результат


Код:
>u:=1+i+j:v:=2+2*i+3*j+10*i*j;
                     v := 2 + 2 i + 3 j + 10 i j

> P(u,v);

                       (15 j + 14) i - 5 j + 3


Я б так бы исправил

Цитата:
P:=proc(u,v)
subs({i^2=-1,j^2=-1},expand(u*v)):
end proc;


Ето уже работает.
Исправьте и двигайтесь дальше.

 Профиль  
                  
 
 Re: Бикомплексные чила в Maple
Сообщение18.11.2011, 13:22 
Аватара пользователя


10/12/07
516
Спасибо, я тоже заметил $j^2=-1$. Но почему Вы предложили subs? Мне кажется, что algsubs резонней.

 Профиль  
                  
 
 Re: Бикомплексные чила в Maple
Сообщение18.11.2011, 13:49 


25/08/05
645
Україна
Резонней то что дает правильный результат. Ваша программа не работает даже если поменять на $j^2=-1.$

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

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



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

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


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

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