CAS Maple 是否对软件包内的算法使用脚本语言?



Maple 是否对包内的算法使用脚本语言, 喜欢学生[线性代数]? 加载包的命令到底是什么,像这样:

with(Student[LinearAlgebra]):

你的两个问题中的第一个似乎与询问 Maple 命令通常如何工作非常相似,这非常广泛,所以我只给出一个总结。

问题1(

枫树是一种解释性语言。其Student[LinearAlgebra]包中的命令是用 Maple 语言编写的,并由 Maple 存储在所谓的 Maple 库存档(文件扩展名为.mla的文件(中。

您可以使用 Maple 命令showstat(或printinterface(verboseproc)足够高时(查看和检查这些包导出命令的大部分源代码。请注意,大多数这些命令的来源涉及对包中其他内部例程的调用(其中大部分又是用 Maple 语言编写的(。

Student[LinearAlgebra]包中的许多计算命令只涉及对LinearAlgebra包的调用。请尝试以下 Maple 命令,例如:

showstat(Student:-LinearAlgebra:-ReducedRowEchelonForm);
showstat(:-LinearAlgebra:-ReducedRowEchelonForm);
showstat(:-LinearAlgebra:-LUDecomposition);

Student[LinearAlgebra]包还具有一些用于绘图的可视化命令。例如,

showstat(Student:-LinearAlgebra:-EigenPlot);

它还具有一些启动交互式小程序的命令(或"Tutors",使用其Maplets包中的 Maple 代码编写,生成 Java 弹出小程序(。例如,

showstat(Student:-LinearAlgebra:-GaussianEliminationTutor);

showstat命令显示源的行号。若要在没有行号以及语法突出显示和缩进的情况下查看它,请尝试此操作,

interface(verboseproc=3):
print(:-LinearAlgebra:-LUDecomposition);

您可以在 Maple 中编写自己的过程(命令(来计算您想要的任何内容,甚至可以将它们保存到您自己的库存档中以供以后重复使用。但是 Maple 的很大一部分是已经开发并可供您使用的数千个程序的集合。

如果你想了解更多,那么你应该更具体地说明你在问什么,我想。

阅读用户手册(如果您需要更多信息,还可以阅读编程指南(也是一个好主意。您可以从 Maple's Help 中访问两者。

问题2(

发出命令时,

with(Student[LinearAlgebra]):

Maple 将导出的名称(供用户直接使用的命令(从其长格式名称重新绑定为短格式名称。效果是,然后您可以使用命令,减少在键盘上的手动键入。这种"加载"包的行为也可能导致对上下文相关菜单进行一些添加(例如,当您右键单击 Matrix 时会弹出的内容(。

即使您不使用with命令"加载包",您仍然可以使用包中的命令。例如,如果 M 是一个矩阵,那么你总是可以调用,

Student:-LinearAlgebra:-Rank( M );

Student[LinearAlgebra][Rank]( M );    

即使您事先没有打电话给with(Student[LinearAlgebra])。但是一旦你执行了,

with(Student[LinearAlgebra]):

然后你可以使用更短的语法,

Rank( M );

最新更新