Tag List is protected - Mathematica - 多变量矩阵方程
Tag List is protected - Mathematica - Multivariable matrix equations
这是我的代码及其产生的错误。
我的函数有两个输入,输出是一个矩阵,其条目是输入的形式。
我对典型函数做了同样的事情,但我以前没有用矩阵做过。
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
b3m2a1 提供了我需要的建议。谢谢,帮大忙了。
我需要将 Clear[TransformX] 放在 TransformX 之上,这样当我重新运行 我的代码时就不会出现问题。
这是我的代码及其产生的错误。
我的函数有两个输入,输出是一个矩阵,其条目是输入的形式。
我对典型函数做了同样的事情,但我以前没有用矩阵做过。
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
b3m2a1 提供了我需要的建议。谢谢,帮大忙了。
我需要将 Clear[TransformX] 放在 TransformX 之上,这样当我重新运行 我的代码时就不会出现问题。