程序包标签被保护的问题
mathematica吧
全部回复
仅看楼主
level 5
流年旅行 楼主
我想问一下,下面是我从mathematica数学实验上看到的一个程序包 为什么一运行就提示Rijk,Rij等等被保护呢?
BeginPackage["Mtelch`"]
Rijk::usage = "Rijk[A,i,j,k]将A的第i行乘以k加到第j行上"
Rij::usage = "Rij[A,i,j]互换A的i,j行"
Rik::usage = "Rik[A,i,k]将A的第i行乘以k"
Cijk::usage = "Cijk[A,i,j,k]"
Cij::usage = "Cij[A,i,j]"
Cik::usage = "Cik[A,i,k]"
Begin["`Private`"]
Rijk[A_List, i_Integer?Positive, j_Integer?Positive, k_] :=
(d = Dimensions[A]; m = d[[1]];
If[i > m, Print["error:i>", m]; Return[]];
If[j > m, Print["error:j>", m]; Return[]];
If[i == j, Print["error:i=j"]; Return[]];
B = IdentityMatrix[m];
B[[j, i]] = k;
Simplify[B, A])
Rij[A_List, i_Integer?Positive, j_Integer?Positive] :=
(d = Dimensions[A]; m = d[[1]];
If[i > m, Print["error:i>", m]; Return[]];
If[j > m, Print["error:j>", m]; Return[]];
If[i == j, Print["error:i=j"]; Return[]];
B = IdentityMatrix[m];
B[[i, i]] = 0; B[[j, j]] = 0; B[[i, j]] = 1; B[[j, i]] = 1;
B.A)
Rik[A_List, i_Integer?Positive, k_] :=
(d = Dimensions[A]; m = d[[1]];
If[i > m, Print["error:i>", m]; Return[]];
B = IdentityMatrix[m];
B[[i, j]] = k;
Simplify[B, A])
Cijk[A_List, i_Integer?Positive, j_Integer?Positive, k_] :=
(d = Dimensions[A]; m = d[[2]];
If[i > m, Print["error:i>", m]; Return[]];
If[j > m, Print["error:j>", m]; Return[]];
If[i == j, Print["error:i=j"]; Return[]];
B = IdentityMatrix[m];
B[[i, j]] = k;
Simplify[A, B])
Cij[A_List, i_Integer?Positive, j_Integer?Positive] :=
(d = Dimensions[A]; m = d[[2]];
If[i > m, Print["error:i>", m]; Return[]];
If[j > m, Print["error:j>", m]; Return[]];
If[i == j, Print["error:i=j"]; Return[]];
B = IdentityMatrix[m];
B[[i, i]] = 0; B[[j, j]] = 0; B[[i, j]] = 1; B[[j, i]] = 1;
A.B)
Cik[A_List, i_Integer?Positive, k_] :=
(d = Dimensions[A]; m = d[[2]];
If[i > m, Print["error:i>", m]; Return[]];
B = IdentityMatrix[m];
B[[i, j]] = k;
Simplify[A, B])
End[]
Protect[Rijk, Rij, Rik, Cijk, Cij, Cik]
EndPackage[]
2020年11月25日 03点11分 1
level 5
流年旅行 楼主
贴上书的照片
2020年11月25日 03点11分 2
level 5
流年旅行 楼主
2020年11月25日 03点11分 4
1