Maple是否为包内的算法使用脚本语言, 像学生[LinearAlgebra]? 加载包的真正命令是什么,如:
with(Student[LinearAlgebra]):
答案 0 :(得分:2)
你的两个问题中的第一个看起来非常类似于询问Maple命令通常如何工作,这是相当广泛的,所以我只是给出一个总结。
问题1)
Maple是interpreted language。其Student[LinearAlgebra]
包中的命令以Maple语言编写,并由Maple存储在所谓的Maple Library存档(文件扩展名为.mla
的文件中)。
当showstat
足够高时,您可以使用Maple命令print
(或interface(verboseproc)
)查看和检查这些包的导出命令的大部分来源。请注意,大多数这些命令的源代码都涉及对包中其他内部例程的调用(其中大部分都是用Maple语言编写的)。
Student[LinearAlgebra]
包中的许多计算命令只涉及对LinearAlgebra
包的调用。尝试使用这些Maple命令,例如:
showstat(Student:-LinearAlgebra:-ReducedRowEchelonForm);
showstat(:-LinearAlgebra:-ReducedRowEchelonForm);
showstat(:-LinearAlgebra:-LUDecomposition);
Student[LinearAlgebra]
包还有一些可视化命令,用于绘图。例如,
showstat(Student:-LinearAlgebra:-EigenPlot);
它还有一些启动交互式applet(或“Tutors”的命令,这些命令是使用生成Java弹出小程序的Maplets
包中的Maple代码编写的)。例如,
showstat(Student:-LinearAlgebra:-GaussianEliminationTutor);
showstat
命令显示源的行号。要查看没有行号,并使用语法高亮和缩进,请尝试使用
interface(verboseproc=3):
print(:-LinearAlgebra:-LUDecomposition);
您可以在Maple中编写自己的程序(命令),以计算您想要的任何内容,甚至可以将它们保存到您自己的库存档中,以便以后重复使用。但Maple的很大一部分是已经开发并可供您使用的数千个程序集。
如果您想了解更多信息,那么您应该更加具体地了解您所提出的问题。
阅读用户手册(如果您需要更多信息,请参阅编程指南)也是一个好主意。您可以从Maple的帮助中访问它们。
问题2)
发出命令时,
with(Student[LinearAlgebra]):
Maple将导出的名称(用户直接使用的命令)从其长格式名称重新绑定到短格式名称。结果是,您可以在键盘上使用较少的手动键入来使用命令。这种“加载”包的行为也可能导致对上下文相关的菜单进行一些添加(例如,当您右键单击Matrix时弹出的内容)。
即使您没有使用with
命令“加载程序包”,您仍然可以使用程序包中的命令。例如,如果M是矩阵,那么您可以随时调用,
Student:-LinearAlgebra:-Rank( M );
或
Student[LinearAlgebra][Rank]( M );
即使你事先没有打过with(Student[LinearAlgebra])
。但是一旦你执行了,
with(Student[LinearAlgebra]):
然后你可以使用更短的语法
Rank( M );