Maxima在线性代数应用:基本概念

这篇文章,是介绍Maxima 这套数学软件,在学习线性代数的应用。Maxima 是一个所谓的“电脑代数系统”(Computer Algebra System, CAS),这种系统比较为人熟知的还有Mathematica 和Maple 等等。我们选定Maxima 做为我们使用的程序,主要有三个原因:

免费

Maxima 是免费,又是各平台都有的。所有的人可以在自己的电脑上练习。
功能完整
Maxima 虽然不要钱,并不代表不好。Maxima 不论计算或图形功能都十分完整。事实上,Maxima 是最早的全功能CAS 系统Macsyma 的后代。
具代表性
许多新的CAS 系统,如Maple, Mathematica 都多少受到Macsyma 的启发。所以学会Maxima,要学会Maple 或Mathematica 等软件都是很容易的事。
这篇文章主要是介绍线性代数相关功能。我们不假设同学已会基本的Maxima 使用方式,所以我们会用到的概念,也许不纯粹是线性代数的,也会一并介绍。专就线性代数而言,我们要会的其实并不多。想要快速进入状况,可以跳过前面的部份,直接看线性代数相关指令,在操作上有问题时,再回头看有问题部份的相关说明即可。

如果同学们比较喜欢使用Mathematica,Maple,或是Matlab 等商业软件也是可以的。我们系上的电脑室有提供这些软件,可以上机试用看看。

我们先介绍一下Maxima 操作的方式。

Maxima 当计算器

我们先来看,如果我们要把Maxima 当计算器用,会是什么情况?

(%i1) 1+1;&">nbsp;                                                                 
(%o1)                                  2
(%i2) 3*4*7;
(%o2)                                 84
(%i3) 9/3;
(%o3)                                  3

到目前为止,似乎还没什么特别。除了可以做复杂一点点的运算,和平常的计算机或数值计算软件也没什么不同。以下的例子就不一样了:

(%i4) 7/3;
                                       7
(%o4)                                  -
                                       3
(%i5) 1/2+2/3;
                                       7
(%o5)                                  -
                                       6
从(%o4)我们看到,7/3这种运算,Maxima 不是告诉我们2.3333...,而是分数的形式!难道Maxima 真的懂分数?不要怀疑,这就是所谓电脑代数系统(CAS) 的特长。我们可以像(%o5)的例子一样,输入个分数的四则运算试试即知。

如果坚持要用浮点数,那只要加个float 指令即可:

(%i6) float(7/3);
(%o6)                          2.333333333333334

为了完整,我们顺便再介绍指数,根号,阶乘表示法:

(%i7) 2^10;
(%o7)                                1024
(%i8) sqrt(9);
(%o8)                                 3
(%i9) 5!;
(%o9)                                120

我们可以看出,这些运算不是自然的数学符号,就是和我们平常电脑程序语言的写法。

指令结尾

在上面的例子中,我们发现,在Maxima 下指令,结束时一定要打上分号“;”,让Maxima 知道我们下的指令已结束。为什么要多这一个动作,主要是为了有时打比较长的指令可以换行之故。另一个结束方式是打入“$”的符号。不同于分号的地方是“运算结果不会显示出来”:

(%i10) 2+3$

(%i11) 2+3;
(%o11)                                 5

有一些CAS 程序,如Matehmatica 是用分号表示不显示运算结果。不过Maxima 中分号已用上,必需用其他字符。

时间: 2024-12-24 16:24:14

Maxima在线性代数应用:基本概念的相关文章

Maxima在线性代数应用:线性代数相关指令

这节我们正式介绍线性代数相关,也就是矩阵相关的指令. 矩阵及向量 我们先来看矩阵和向量的定义方式.前面说过,在Maxima 里,所谓设定一个变数的值,只不过是给某个数字或矩阵等等一个名称.我们这里就举应用在矩阵和向量时的情况: (%i1) A:matrix([1,2,3],[-2,8,3],[1,4,9]);&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;                              

Maxima在线性代数应用:线性代数应用实例

特征值和特征向量 我们这里讨论线性代数很重要的特征值相关的计算.我们定义一个矩阵A , 计算特征值和特征向量时我们都以这个矩阵为主要讨论对象: (%i1) A: matrix([4,0,1],[2,3,2],[1,0,4]);&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;                                 [ 4  0  1 ]                            

Maxima在线性代数应用:进阶使用

列式而不运算 我们先计算一个瑕积分,用到无穷大的部份Maxima 是以inf 表示: (%i1) integrate(%e^(-x^2),x,0,inf);&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;                                                                            sqrt(%pi)(%o1)                 

Maxima在线性代数应用:绘图功能

二维绘图 Maxima 二维绘图的指令是用plot2d.比方说,我们要画4x3 − 2x − 2 这个函数,设定x 轴范围是从-5 到5,就下这个指令: (%i1) plot2d([4 * x^3-2 * x-2],[x,-5,5]); 三维绘图 三维绘图也一样容易,只要改用plot3d 的指令即可: (%i2) plot3d(cos(-x^2+y^3/4),[x,-4,4], [y,-4,4]); Geomview 是一个UNIX 的软件,Maxima 可以运用Geomview 做出非常漂亮的

《 线性代数及其应用 (原书第4版)》—— 第1章 线性代数中的线性方程组1.1 线性方程组

第1章 线性代数中的线性方程组 介绍性实例 经济学与工程中的线性模型 1949年夏末,哈佛大学教授列昂惕夫(Wassily Leontief)正在小心地将最后一部分穿孔卡片插入大学的MarkⅡ计算机. 这些卡片包含了美国经济的信息,包括了美国劳动统计局两年紧张工作所得到的总共25万多条信息. 列昂惕夫把美国经济分解为500个部门,例如煤炭工业.汽车工业.交通系统等等. 对每个部门,他写出了一个描述该部门的产出如何分配给其他经济部门的线性方程. 由于当时最大的计算机之一的MarkⅡ还不能处理所得到

机器学习--线性代数基础

数学是计算机技术的基础,线性代数是机器学习和深度学习的基础,了解数据知识最好的方法我觉得是理解概念,数学不只是上学时用来考试的,也是工作中必不可少的基础知识,实际上有很多有趣的数学门类在学校里学不到,有很多拓展类的数据能让我们发散思维,但掌握最基本的数学知识是前提,本文就以线性代数的各种词条来做一下预热,不懂的记得百度一下. 请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址 矩阵与方程组 还记得n*n方程组是怎么求解的吗?这个术语叫"回代法",即转成三

《漫画线性代数》读书笔记 序

<漫画线性代数>读书笔记 序 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. <漫画线性代数>,居然有这样的名字,线性代数这种干巴巴的内容,也可以漫画? 提到漫画,感觉就

十天内掌握线性代数:惊人的超速学习实验(转)

英文原文:Mastering Linear Algebra in 10 Days: Astoundin 译者:MapleFlying 最近,我的朋友斯考特·杨(Scott Young)成就了一个惊人的壮举:他在一年之内,完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数到计算理论.最重要的是,他是自学的,观看在线教程讲座,并用实际的考试作自我评估.(到斯考特的FAQ页面,看看他如何完成这个挑战) 按照他的进度,读完一门课程大概只需要1.5个星期.我坚信,能快速掌握复杂信息,对成就卓越

《MATLAB神经网络超级学习手册》——第2章 MATLAB基础 2.1 基本概念

第2章 MATLAB基础 数据类型.常量与变量是MATLAB程序语言入门时必须引入的一些基本概念.数组是一种在高级语言中被广泛使用的构造型数据结构.在MATLAB中,为用户提供曲线拟合图形界面,用户可以在该界面上直接进行曲线拟合. 本章除了介绍以上内容外,还将简单介绍M文件中的一些概念. 2.1 基本概念 MATLAB神经网络超级学习手册 数据类型.常量与变量是程序语言入门时必须引入的一些基本概念,MATLAB 虽是一个集多种功能于一体的集成软件,但就其语言部分而言,这些概念同样不可缺少. 本节