Может можно свести к матрицам?
Думаю, что там еще много побочных проблем возникнет.
Я думал решить так:
Код:
> 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);
Ответ
неверный.