maple - 物理包中非常大的错误或矩阵

时间:2017-02-18 17:01:26

标签: maple

我尝试结交朋友物理包和矩阵。但我遇到了困难。更具体地说,考虑一下代码:

with(Physics)

Setup(mathematicalnotation = true)

Coordinates(X)

Setup(tensors = A[mu](X))

PDEtools:-declare(A(X), p0(X), pm(X), pp(X), pt(X), U(X), m5(X))

然后我创建一个矩阵:

pt := proc (X) options operator, arrow; Matrix(2, 2, [[p0(X), sqrt(2)*pp(X)], [sqrt(2)*pm(X), -p0(X)]]) end proc;

NULL;

It displays as

为什么p0,pp,pm只能变为一个变量x1?

有趣的是枫子明白了 the next matrix

为什么只有一个变量?

1 个答案:

答案 0 :(得分:0)

在这种情况下,查阅文档通常很有用。在Coordinates的帮助页面中,您会看到“坐标命令还为大写字母X设置别名以表示坐标列表...”所以:您键入X并自动扩展为x1,x2, x3,x4,而这个变量序列显示为单个X.但是,当你定义一个过程时,如在pt:= proc(X).... end proc,X你看到只有一个虚拟表示(只有一个)过程的参数。

这回答了你的问题:你看p0,pp,pm只作为一个变量的函数,因为pt被定义为只有一个变量的函数:当你执行pt(X)时,只有序列中的第一个元素,即使用x1,其他三个被丢弃。从上下文我明白你想要定义的是pt:= proc(x1,x2,x3,x4).... end proc。然后将它用作pt(X),您将看到p0,pp,pm作为四个变量的函数,而显示为作为单个大写X.

Edgardo S. Cheb-Terrab

物理,微分方程和数学函数,Maplesoft。