Maple 是否对包内的算法使用脚本语言, 喜欢学生[线性代数]? 加载包的命令到底是什么,像这样:
with(Student[LinearAlgebra]):
你的两个问题中的第一个似乎与询问 Maple 命令通常如何工作非常相似,这非常广泛,所以我只给出一个总结。
问题1(
枫树是一种解释性语言。其Student[LinearAlgebra]
包中的命令是用 Maple 语言编写的,并由 Maple 存储在所谓的 Maple 库存档(文件扩展名为.mla
的文件(中。
您可以使用 Maple 命令showstat
(或print
interface(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 );