Список тегов защищен - Mathematica - Многомерные матричные уравнения - PullRequest
0 голосов
/ 29 апреля 2019

Вот мой код и выданная ошибка.

Моя функция имеет два входа, а выход представляет собой матрицу, записи которой относятся к входам.

Я сделал то же самое, что и для типичных функций, но я раньше не делал этого с матрицами.

In[390]:= 
RotMat[B_] := {{Cos[B], Sin[B]}, {-Sin[B], 
   Cos[B]}}

In[391]:= M1 := {{Exp[I*G], 0}, {0, 1}}

In[392]:= M2 := {{0, 0}, {0, 1}}

In[393]:= Qy := Exp[I*Pi/4]*{{1, 0}, {0, -I}}

In[394]:= Qx := Exp[-I*Pi/4]*{{1, 0}, {0, I}}

In[395]:= 
TransformX[A1_ , T1_] := 
 RotMat[-A1].M1.RotMat[A1].\
Qx.RotMat[-T1].M2.RotMat[\
T1]

During evaluation of In[395]:= SetDelayed::write: Tag List in {{0,I E^(-((I \[Pi])/4)) (-Cos[A] Sin[A]+E^(I G) Cos[A] Sin[A])},{0,I E^(-((I \[Pi])/4)) (Cos[A]^2+E^(I G) Sin[A]^2)}}[A1_,T1_] is Protected.

Out[395]= $Failed

Я попытался устранить неполадки с помощью более простой функции матрицы с несколькими переменными, но с этим не было ошибок

In[413]:= f[foo_, bar_] := {{foo, bar}, {bar, foo}}

In[414]:= f[1, 2]

Out[414]= {{1, 2}, {2, 1}}

In[415]:= g[foo_, bar_] := foo + bar
g[1, 2]

Out[416]= 3

1 Ответ

0 голосов
/ 30 апреля 2019

b3m2a1 дал совет, который мне был нужен. Спасибо, большая помощь.

Мне нужно поставить Clear [TransformX] над TransformX, чтобы не было проблем при повторном запуске кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...