多项式合冲编程说明书.doc

上传人:创****公 文档编号:4304803 上传时间:2021-08-16 格式:DOC 页数:3 大小:35.50KB
返回 下载 相关 举报
多项式合冲编程说明书.doc_第1页
第1页 / 共3页
多项式合冲编程说明书.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《多项式合冲编程说明书.doc》由会员分享,可在线阅读,更多相关《多项式合冲编程说明书.doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、多项式合冲编程说明书版权所有“数学机械化与自动推理平台”软件组2003年6月*有关文件:有关多项式合冲的程序代码主要位于以下文件中:syzygy.h, syzygy.cpp。有关定义:假设R是一个环,M是R上的一个模(Module),令是一个多项式组,并且满足,则所有满足的多项式组组成了,我们把它叫做的syzygy模,记作。1、 主要函数TRIPoly * S_poly(TRIPoly * g_i,TRIPoly * g_j,TList * vl);求解两个多项式g_i和g_j在变量序vl下的S-多项式(有关S-多项式的定义,可以参看相关书籍)。返回一个多项式。示例:S_poly(x2-y,2

2、*x*y-3,x,y)= 3*x-2*y2TList * gbasis_for_syzygy(TList * ps,TList * vl);求解由一组多项式ps所生成的理想在一个特定的变量序vl下的一组Grobner基G。为了满足求解syzygy的需要,我们在这里不仅需要得到这一组Grobner基,而且还需要得到G与原来的多项式列表ps之间的关系。也就是说,G中的每一个元素都要表示成ps里面的元素的线性组合,我们把这些线性组合的系数组成一个矩阵,用A来表示。函数返回值是一个列表,包含了两个元素,一个就是Grobner基G,另外一个就是系数矩阵A。示例:gbasis_for_syzygy(2*x

3、2-y,3*x*y-y2, x,y)= 2*x2-y,3*y*x-y2,2*y2*x-3*y2,-2*y3+9*y2,matrix(1,0, 3*y,-9*y;0,1,-2*x,6*x+2*y) 其中2*x2-y,3*y*x-y2,2*y2*x-3*y2,-2*y3+9*y2表示的是原来的多项式组所生成的理想的一组Grobner基,而matrix(1,0,3*y, -9*y; 0,1,-2*x,6*x+2*y)表示的是这组Grobner基和原来的多项式组ps之间的线性关系,G = ps * A。TMatrix *grem_for_syzygy(TList * ps, TList * g,TLi

4、st * vl);求出一个多项式组ps在某个变量序vl下被另外一个多项式组g所线性表示的系数。返回系数矩阵B。示例:grem_for_syzygy (2*y*x-x+y+7,x2-y*x+3*x+3*y-12,x+3,y-2,x,y)=matrix(2*y-1,x-y;-5,6)表示的含义是ps = g * B。TList * Syzygy(TList * G, TList * vl);求一个多项式组G在某个变量序vl下的syzygy。通常在这个函数里面G是某个多项式组所生成的理想的一组Grobner基。函数返回一个syzygy基所组成的列表。示例:Syzygy(x-1,y-2,2*y-3,-

5、1,x,y)= -y+2,x-1,0,0, -2*y+3,-2,x,1, 0,-2,1,1, 1,0,0,x-1,0,1,0,y-2, 0,0,1,2*y-3 TMatrix * simplify(TMatrix * m,TList * vl);对一个矩阵m 进行适当的化简。这个函数是为了特定的目的而设计的,在我们计算之后得到的矩阵会包含很多全部是0的列以及两列之间仅仅相差一个倍数的情形,这里所做的工作就是把这个矩阵中的全0列去掉,并且对于两列之间相差一个倍数的情形,只保留其中一列。返回化简以后的矩阵。示例:simplify(matrix(2,4,2,0,4,7,3,0,6,5), x,y )

6、=matrix(2,7;3,5);TMatrix * get_syzygy(TList * ps,TList * vl);求一个多项式组ps在某个变量序vl下的syzygy。这个函数里面的ps是任意的一组多项式。函数返回一个syzygy基所组成的矩阵。注:该函数是有关syzygy的文件里最主要的一个函数。示例:get_syzygy(x+1,2*x-y,y+5,x,y)=matrix(-y-5,0,x+1;0,-y-5,2*x-y;2*x+5,-x-1,-x-1;2*y+10,-y-5,-y-2)2、 辅助函数(以下辅助函数位于pol_arith.cpp文件中)TRIPoly TRIPoly:d

7、ivvar(TRIPoly & p, TList * vl); /TRIPoly的成员函数求该多项式对多项式p的关于指定变元表vl的除法的商。目前的实现是假定两个多项式中不会包含变元表以外的变元。返回一个多项式,就是商。示例:p:= x2*y+3*y2-4;p- divvar(x+2, x,y)= y*x-2*y注:这个除法有可能出现不能除尽的情况。上面这个例子就没有除尽。TList * div_var(TRIPoly & p, TList * l, TList * vl); /TRIPoly的友元函数根据变量列表vl,用多项式p除以多项式列表l中的每一个多项式,即用l来约化p。返回一个列表,包含p被l约化的时候的商以及余数。示例:div_var(x2*y+3*y2+1, x+2, y+1, x,y)y*x-2*y, 3*y+1, 0最后一个0表示约化之后的余数为0。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 事务文书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁