数学是上帝用来书写宇宙的语言——伽利略
在生活的几乎所有方面,数学都证明了自己是一种基本的思维方式。在生物学中,存在生物统计学,获取和推断生物样本的信息。这是从统计学中得来的,统计学是数学分析的一种形式。统计学试图理解我们从周围环境中获得的每一条信息,将行为和信息建模为具体的可视化和可理解的图像。
在心理学中,数学是以数学心理学的形式表现出来的,在数学心理学中,人们的行为是通过公式和定律来观察的。即使是谷歌搜索也能找到一些关于神学和数学的科学期刊。在物理学中,我们看到了数学在物体坠落地面时的实际物理表现,或者用一些简单的公式就能预测天体的运动。生活本身不断提醒我们数学的重要性。
20世纪70年代,计算机科学由三个学科组成,其中一个是数学。现在,尽管这门课是单独开设的,但它也有一些被数学所遗留下来的东西,比如CS 130:专注于计算机科学中的数学方法。
我个人在高中的时候就很喜欢数学,因为数学可以在我学习的任何东西的每一个角落里出现。在我遇到的任何话题中,总有一些可以通过数学表达的想法。上面引用的伽利略的话总是让我难以忘怀,我们周围的所有生命似乎都是由数学这个概念联系在一起的,这就稍微解释了为什么我们可以在我们的环境中看到数学。这就好像是上帝用我们刚刚开始理解的语言给世界和我们周围的一切编写了程序。
虽然我对我们课程中所有的数字和图形都很着迷,但我经常在数学上遇到困难;我会不知道从哪里临时拿出答案来回答某个应用题,或者我会忘记如何推导某个公式。我经常犯算术错误。记住所有的概念和公式的推导对我来说不是一件容易的事。
这篇文章旨在联系计算机科学与数学之间的关系,以展示当今正在实施的众多数学方法及其基础,这是惊人的,并且在地球的发展和进化中极为重要。
线性代数
线性代数定义是:
数学的一个分支,涉及在加法和标量乘法操作下封闭的数学结构,包括线性方程组、矩阵、行列式、向量空间和线性变换的系统理论。
1.线性方程组
在基础代数的早期,我们学习了线性方程:它们本身是不言自明的,它们是由两个变量组成的方程,当它们被绘制成图形时,就会给出一条直线。在计算机科学中,这些方程可以是向量的形式,这些向量组合成矩阵,在大多数编程语言中可以用数组表示。
利用矩阵,这些线性方程组可以用多种方法求解,其中一种基本方法是高斯消去法。该方法要求首先将SOLE转换为其矩阵形式(类似于上面所示),然后将其扩展为简化的、更易于阅读的形式。矩阵必须转化为行梯形,它通常是这样的:
表示任何非零数,并且每一行的第一个非零数必须是1。你可以说列代表了我们未知变量的系数在SOLE中,而矩阵在REF中,我们可以使用反代换来逆向构建变量的值。例如:
假设我们有一个方程组
x-2y+z = 1,,2x+ y+z = 0,x-y+2z = 1。
我们可以把它变成增广矩阵:
我们可以做以下厄洛斯变换:
最后,我们得到矩阵的行简化阶梯形:
有了这个,我们可以用反代换来解出这些值。如果矩阵可以用大多数编程语言来表示,那么高斯消去法也可以用你选择的语言来编码。
高斯消去法由于其简单和直接,经常被使用,因为它主要涉及到厄洛斯和回代。其他使用矩阵求解求解SOLEs的方法,如高斯和LU分解,通常需要更多的步骤。高斯消去法,虽然计算速度较慢,计算机也不太喜欢,但它是一个更简单的基本概念,允许学生快速学习矩阵计算的基础知识。
2.向量空间和特征值-特征向量问题
线性方程通常在笛卡尔坐标系中直观地表示出来,笛卡尔坐标系是一个以原点为中心(坐标为(0,0))绘制理论二维空间坐标的系统。向量可以放在这个图上,箭头指向二维平面上的某个坐标。
线性变换(或者简称LT)以一种非常棒的方式吸引着我,描述它们的一种方式就像在二维空间中将一个向量转换成另一个向量的函数。一个线性变换输出的向量集可以被可视化成点,当向量被放入线性变换中时,这些点代表新的端点。一个简单的可视化方法是把这些点做成一个网格。3Blue1Brown就是这么做的,而且用了一种奇妙的方式(可以说是最好的方式)来描述这个过程。
二维空间中的线性变换刚才描述的向量集可以被两个基向量简化,我们可以称它们为基向量。这是指向x和y方向的两个向量。一个最基本的线性变换,可以用二维空间中这两个基向量的变化来描述。
我们可以联系到这些线性变换的另一个主题是行列式,它被描述为一个标量它可以从一个方阵的元素中计算出来。如前所述,我们的向量可以变成矩阵,所以如果我们有一个方阵我们可以把它变成向量的集合。一个方阵可以表示两个向量,所以在这种情况下两个向量可以给我们一个行列式。如前所述,一个线性变换的两个基向量给出了一个行列式。正巧,一个方阵的行列式实际上是由它的基向量构成的面积:
两个向量的行列式/方阵是由这些向量构成的面积
线性变换将向量集合变换成新的向量集合,如前所示。在所有的线性变换中,在这个集合中存在的向量只是大小上的比例,但实际上仍然是相同的向量。这些向量被称为特征向量。更准确的解释是,这些向量保持其相同的“ 跨度 ”,并且仅按某个标量缩放。这些标量称为特征向量的特征值。
这些概念的视觉表现展示了我们如何在许多事物中看到数学,这些概念可以扩展并应用到生活中的许多事物中。
微分方程
微分方程被认为是非常“狡猾”的,因为这些方程可以在生活的许多方面找到,为许多问题提供了间接的解决方案。
微分描述的是某物的变化,所以理论上任何具有某种形式变化的东西都可以用微分来描述。一个简单的例子是两种不同物种的种群变化,存在一些微分方程可以模拟这两种物种的上升和下降的变化。在有限元分析中,可以看到更为复杂和有触感的差分方程,其定义为:
用一种叫做有限元法(FEM)的数值技术来模拟任何给定的物理现象。工程师使用它来减少物理原型和实验的数量,并在设计阶段优化组件,以开发更好、更快的产品。
有限元法包括求解某一微分方程问题,然后将该问题分解为“有限单元”。在计算机科学中,微分方程常用于仿真和图形学中,以模拟现实生活中的场景并模拟现实生活中的物理现象。它也经常用于许多主题的分析,无论是分析数据结构和算法还是网络中的流量。微分方程的应用是无穷无尽的,因为它们隐藏在生活的许多方面,因此是许多问题的答案。
微分方程的另一个例子是洛塔卡-沃尔泰拉方程,它模拟了捕食者-被捕食者生物系统中两个物种之间的关系。该模型于1910年提出,描述了两个物种的数量随时间的变化,这在数学生物学领域很有用,因为两个物种之间的依赖关系可以通过数学建模来解决。这些方程在经济系统中也有惊人的用途,如古德温模型,这是一个“基于“阶级斗争”的周期非线性模型,使用洛塔卡-沃尔泰拉方程来展示工作经济体中就业和工资份额之间的周期性关系”。
洛塔卡-沃尔泰拉方程,捕食者-猎物关系的模型
上面的方程中,x和y是猎物和捕食者的数量,t代表时间,dx / dt和dy / dt代表两个种群的增长率和α、β、γ、δ是真正积极的参数描述这两个物种之间的相互作用。看这里的模型。当两者作图时,形成一个类似于简谐运动的图形,其中一个运动落在另一个运动之后(因为种群数量减少的影响不会立即影响另一个种群)。
方程的线性化,使两个总体的简谐运动形象化下面是来自杜伦大学的一个例子,描述了两个物种之间的关系:绿蝇和瓢虫。
对于集合(α,β,γ,δ)=(2 / 3,4 / 3,1,1)的t∈ [0,50]的解x(t)和y(t )的图, x(0)= 1,y(0)= 1洛卡-沃尔泰拉方程为两个种群的周期性关系提供了洞察和基础,但不幸的是,这些方程太过一般化,无法应用到现实生活中。所提供的资料可能起不到这么大的作用,因为需要更多的资料才能更准确地反映现实生活中捕食者-被捕食者的情况。
结论
众所周知,许多学生不喜欢数学,因为它呈现了一个技术性的、详细的和客观的“镜头”,很多人觉得很难看透。但也许是这样的,因为这是我们生活的真理,我们生活的世界,我们生活的宇宙是用数学写的,继续研究这个广泛的分支只会帮助我们进一步了解生活。对于计算机科学家来说,数学也出现在我们软件的每一个角落和缝隙中,在我们的算法中,利用数学为我们的优势,在技术领域创造了无限的可能性和改进。