抽象代数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
代数系统Mathematical Structure或Mathematical System 关于代数系统与计算机科学的关系
为什么抽象代数是计算机科学的理论基础之一?
1)抽象代数研究的对象与计算机科学研究的对象都是一般的通用客体
2)代数系统为计算机系统(包括理论系统、计算机系统组成的结构、工具与环境系统的结构、应用系统的结构、系统的结构分类以及它们之间的关系等)提供必要的理论模型;
3)不论是计算机科学的基础学科、技术学科和应用学科,还是计算机科学的边缘学科,抽象代数都给它们提供了最基本的思维方法
代数系统和以前我们所了解的代数学有什么不同?
1)对象:以前的代数学中研究的对象都是数(实数和复数)或用字母表示的数;代数系统研究的对象是某集合元素的总体,甚至有时并不指出这个集合是什么,也不指出集合中是元素是什么;
2)运算:以前的代数学中研究的运算是数的四则运算;而代数系统研究的对象不仅仅是加、减、乘、除四则运算,而是满足一定抽象条件的运算,有时也不指出具体的运算是什么;
3)两者的关系:以前我们所了解的代数只是代数系统的一个特例。
代数系统究竟是什么?
定义一个代数系统时,并不是一个具体的代数系统,而是满足一定抽象条件的一类代数系统的总体,因此,研究的是代数系统的总体结构,提出一个同属于某一大类的所有代数结构的理论模型。
如果对代数系统的对象和运算进行不同的解析,只要在这个解析下可满足这种抽象的结构,则形成一个具体的代数系统。
代数系统和计算机有什么关系?
计算机是一个通用的计算模型,其通用性在于:任何一个可计算的问题,如果问题本身是有结果的(例如,最后总可以回答“是”或“非”的),只要不考虑时间和空间的可能性,原则上都可以在计算机上得到结果。
计算机的结构也是一个通用结构。只要根据某具体需求解的问题,而对计算机系统的对象(数据模型)和运算(所做的操作)进行解析,则计算机系统就成为解决这个问题的具体理论模型。
代数系统的思维方法如何决定计算机科学的思维方法?
代数系统的基本思维方法是构造的方法和公理的方法。
1.构造的方法是提供一个由原生概念开始来构造整个理论系统的方法:
第一步:确定所研究的对象,指出由已知概念产生新的概念的过程、规则和方法,如由集合的概念产生元素、空集、有限集等;
第二步:定义作用于对象的操作,如并集、交集、幂集等;
第三步:对所定义的操作进行分析,研究这些操作的性质,如封闭性、交换率、结合率等;
第四步:讨论分类问题以及系统和系统之间的关系问题,如同态?同构?
第五步:讨论较高层次的理论问题和哲学问题,例如,存在性、唯一性、完全性、协调性等。
2.公理的方法不象构造的方法那样去定义具体的对象和去定义具体的操作,而是用抽象的符号表示对象和操作,提出一系列的断言,那么所研究的系统只是满足这些断言的系统。
例如研究“群”时,首先给出集合和运算,但集合和运算并非具体给出,只要满足四个断言(封闭性、结合率、存在单位元、存在逆元)的所有集合和运算所构成的代数系统就是群。
3.在计算机科学中,语言代数的建立利用了构造方法和公理方法。现代许多有关计算机系统的生成方面的问题,也非常注重生成的方法,往往以构造的方法和生成的方法为基础。
讨论代数结构是从最基本的概念开始,代数结构中的一切概念都是从集合出发,通过构造的方法和公理的方法而得到。这个过程是计算机科学的基本思维方法之一——基于离散结构的构造性思维方法。
代数系统复习大纲
1.理解:
1)为什么要引入代数系统?
在更抽象的层次上寻找不同数学分支的共性;
2)代数系统的研究对象:某集合元素的总体;
代数系统的运算:满足一定抽象条件的运算;
3)代数系统实质上是:
在集合上定义若干运算而形成的系统;
2.定义封闭:
思考:加法在自然数集、整数集、实数集上封闭吗?减法呢?
定义代数系统:< A ; f1,f2,…,f n>
必须同时满足三个条件:1)一个非空集合A
2)建立在A上的若干运算f1,f2,…,f n
3)这些运算对A封闭
3.二元运算及性质:{ 注意:这里的* 号并不表示乘法,可以任意定义} 设* 是定义在A上的二元运算,* 的性质定义如下:
1)封闭:运算*在A上是封闭⇔∀x , y ∈ A ,有x*y ∈ A
2)可交换⇔∀x , y ∈ A ,x*y = y*x
3)可结合⇔∀x , y , z ∈ A ,(x*y)*z = x*(y*z)
注意:判断一个运算是否可结合,必须用三个变元!
4)可分配:
△对★是可分配的⇔∀x , y , z ∈ A ,x△(y★z) = (x△y)★(x△z) (左可分配)
(y★z)△x = (y△x)★(z△x) (右可分配) 注意:(1)可分配必须是左可分配且右可分配同时成立
(2)△对★是可分配的≠★对△是可分配的
5)可吸收:
△和★满足吸收率⇔△、★是可交换的,而且
∀x , y ∈ A ,x△(x★y) = x 且x★(x△y) = x 6)等幂⇔∀x ∈ A ,x*x = x ( 有时也叫幂等)
注意:等幂意味着:对于任意正整数m、n ,x m = x n
7)单位元(幺元)⇔ A中的一个元素e ,同时是运算*的左幺元和右幺元
运算*的左幺元e ⇔∀x ∈ A ,e*x = x
运算*的右幺元e ⇔∀x ∈ A ,x*e = x
运算*的幺元(单位元) e ⇔∀x ∈ A ,x*e = e*x = x
注意:(1)幺元不一定存在(例如,代数系统
(2)不同的运算有不同的幺元
或者说,幺元依赖于运算
(初等代数中,乘法的幺元是1,加法的幺元是0)
(3)对于一个二元运算,左右幺元可能都有、可能只有一个、也可能不存在
(4)只有当左、右幺元都存在并且相等时,才有幺元
(5)存在左幺元、右幺元,则一定存在幺元
(6)幺元若存在,必唯一
8)零元:⇔ A中的一个元素θ,同时是运算*的左零元和右零元
运算*的左零元θ⇔∀x ∈ A ,θ*x=θ
运算*的右零元θ⇔∀x ∈ A ,x*θ=θ
运算*的零元θ⇔∀x ∈ A ,x*θ=θ*x =θ
注意:(1)零元不一定存在(例如,代数系统
(2)不同的运算有不同的零元
或者说,零元依赖于运算
(数理逻辑中,与的零元是F,或的零元是T)
(3)对于一个二元运算,左右零元可能都有、可能只有一个、也可能不存在
(4)只有当左、右零元都存在并且相等时,才有零元
(5)存在左零元、右零元,则一定存在零元
(6)零元若存在,必唯一
(7)是非空集合A上的二元运算,若A有不止一个元素,并且运算同时存在幺元和零元,则幺元一定不等于零元
9)逆元:二元运算*存在幺元e ,若a,b∈A ,且a*b = e ,
则称a是b的左逆元,b是a右逆元,若a*b = b*a = e ,则称a是b的逆元注意:(1)a是b的逆元⇔ b是a的逆元⇔ a、b互逆⇔ a = b-1⇔ b = a-1
(2)一个元素的逆元可以是自己
(3)对于同一个运算,有些元素有逆元,有些元素可能没有逆元
(初等代数中,乘法的幺元是1,2的逆元是0.5,1的逆元是1,0没有逆元)
(4)对于某个运算,一个元素的左逆元可以不等于右逆元
(5)对于某个运算,一个元素的左、右逆元,可以只有其中的一个,可以两个都有,也可以一个都没有
(6)对于某个运算,一个元素的左(右)逆元可以不唯一
(7)在某些条件下,逆元是唯一的
4.有关运算表的题型:
1)从运算表中查看二元运算的性质
2)给出集合、二元运算,构造出运算表,
一个集合加一个二元运算——半群、独异点、群