(计算机软件与理论专业论文)基于soa架构实现符号数值混合数学计算平台.pdf_第1页
(计算机软件与理论专业论文)基于soa架构实现符号数值混合数学计算平台.pdf_第2页
(计算机软件与理论专业论文)基于soa架构实现符号数值混合数学计算平台.pdf_第3页
(计算机软件与理论专业论文)基于soa架构实现符号数值混合数学计算平台.pdf_第4页
(计算机软件与理论专业论文)基于soa架构实现符号数值混合数学计算平台.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机软件与理论专业论文)基于soa架构实现符号数值混合数学计算平台.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 中文摘要 数学计算是新时代科学技术进步的重要标志之一。特别是随着计算机的问世,利 用计算机进行高效地数学计算,在各个领域有着举足轻重的地位。 从数学计算分类来讲,一般分为符号计算与数值计算两大类,它们有各自的优点 和缺点。目前的数学计算平台往往是单方面地关注于符号计算或是数值计算。然而, 面对错综复杂的计算需求,通常在计算过程中需要同时使用两类计算功能。这直接要 求现有的数学单向计算平台需要过渡发展成为符号数值混合数学计算平台。为了最大 化利用现有的符号计算和数值计算功能,研究通过整合现有不同语言、不同方式实现 的数学计算功能模块来构建混合数学计算平台是非常重要的。 另一方面,随着在商业级w e b 系统应用开发领域s o a ( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ,面向服务架构) 的逐渐流行,掀起新的一轮商业架构浪潮。基于s o a 架 构的应用集成可以减少不同类型的异构系统的依赖性,提高已部署系统的灵活性,实 现服务和技术的完全分离,从而最大程度实现服务的集成和重组。另外,随着构建s o a 架构中符合e s b ( e s b ,企业服务总线) 规范相关中间件的兴起,使得设计人员更方便地 开发基于s o a 架构的系统 由此,本文通过深入分析s o a 相关的理论体系,利用s o a 架构对异构系统整合的 优势,提出了基于s o a 架构实现混合数学计算平台的建模方法和设计流程。并且在混 合数学计算平台实现过程中,通过部署符合s o a e s b 规范的b e a a q u a l o g i cs e r v i c eb u s 中间件来实现混合数学计算平台的s o a 架构,管理和调用数学计算w e b s e r v i c e ,使该 平台能够同时提供符号计算和数值计算基本功能。 关键词:s o a ,符号计算,数值计算,混合数学计算平台,e s b ,a q u a l o g i cs e r v i c e b u s 英文文摘 t i t l e :ah y b r i dm a t h e m a t i c a lp l a t f o r mi n c l u d i n gs y m b o l i ca n d n u m e r i c a lc o m p u t a t i o nb a s e do ns o a t h em a t h e m a t i c a lc o m p u t a t i o ni so n eo ft h ei m p o r t a n ts y m b o l sf o rt h es c i e n c ea n d t e c h n o l o g yp r o g r e s si nt h en e wa g e e s p e c i a l l y , t h ep u b l i s h m e n to f c o m p u t e rc a u s 髓t h ef a c t t h a tt h em a t h e m a t i c a lc o m p u t a t i o nh a so b t a i n e dt h eh u g ed e v e l o p m e n ta n di th a st h ec r u c i a l p o s i t i o na tm a n ya r e a s 1 1 1 em a t h e m a t i c a lc o m p u t a t i o nh a st w ot y p e s s y m b o l i cc o m p u t a t i o na n dn u m e r i c a l c o m p u m f i o n t h e yh a v ee a c hm e r i ta n dt h es h o r t c o m i n g h o w e v e r , c u r r e n tm a t h e m a t i c a l p l a t f o r mc a no n l yp r o v i d ep a r tm a t h e m a t i c a lf u n c t i o n s f a c i n gt h ec o m p l i c a t e dc o m p u t i n g r e q u i r e m e n t , m a t h e m a t i c a lp l a t f o r mh a st od e v e l o pt ot h en e wk i n do fp l a t f o r mw h i c hc a n p r o v i d es y m b o l i ca n dn u m e r i c a lc o m p u t a t i o na to n ct i m e t h e r e f o r e , h o wt om e r g et h e s y m b o l i ca n dn u m e r i c a lc o m p u t a t i o nb yt h ec o m p u t e rt e c h n o l o g yw i l lb ea ni m p o r t a n t r e s e a r c hp r o j e c t i na n o t h e rd i m e n s i o n , w i t l lt h eg r a d u a l p o p u l a r i t yo fs o a ( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ) t h e o r i e si nt h ee n t e r p r i s e sd o m a i n , i tr a i s e st h en e wt u r nf o rt h ee n t e r p r i s e c o n s t r u c t i o n 1 1 1 es y s t e mb a s e do ns o ac a nd e c r e a s et h er e l i a b i l i t yo ft h eh e t e r o g e n e o u s s y s t e m sf t o mt h ee x i s t e dp l a t f o r m , i m p r o v et h ea g i l i t yo ft h ed e p l o y e ds y s t e m , a n dr e a l i z e t h ei n d e p e n d e n c yf r o ms e r v i c e sa n dt e c h n o l o g i e s t h u ss o am a k e st h eg r e a ti m p r o v e m e n t f o rt h ei n t e g r a t i o na n dr e o r g a n i z a t i o no f s y s t e m i nt h i sc o n t e x tw er e s e a r c ht h et h e o r i e sr e l a t e ds o af r a m e w o r ka n df o c u so nh o wt o i m p l e m e n to f f es y m b o l i c - n u m e r i c a le o m p u t a f i o nm a t h e m a t i c a lp l a t f o r mb a s e do ns o a f i a m e w o r kb e c a u s eo fi t sa d v a n t a g eo nt h eh e t e r o g e n e o u ss y s t e m s a n db e aa q u a l o g i c s e r v i c eb u s ( o n eo fs o a e s bs o f t w a r e ) i sr e c o m m e n d e df o rt h es o ad e s i g no ft h i s p l a t f o r m k e yw o r d s :s o a , s y m b o l i cc o m p u t a t i o n , n u m e r i c a lc o m p u t a t i o n , c o m p u t a t i o nm a t h e m a t i c a l p l a t f o r m , e s b ,b e a a q u a l o g i cs e r v i c eb u s 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。据我所 知,除文中已经注明引用的内容外本论文不包含其他个人已经发表或撰写过的研究成果对 本文的研究做出重要贡献的个人和集体均已在文中作了明确说明并表示谢意。 作者签名:盗丝日期: 巫:皇i 学位论文授权使用声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学校有权 保留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质 版。有权将学位论文用于非赢利目的的少量复制并允许论文进入学校图书 馆被查阅。有权将学位论文的内容编入有关数据库进行检索有权将学位 论文的标题和摘要汇编出版。保密的学位论文在解密后适用本规定。 学位论文作者签名:掘皱 日期:2 和 导师签名:魄刁硇为 日期:认,了j ,叫 基于s o a 架构实现符号数值混合数学计算平台 1 绪论 1 1 研究背景和意义 数学计算是新时代科学技术进步的重要标志之一,特别是随着计算机的问世,利 用计算机进行高效地数学计算,在各个领域有着举足轻重的地位。 从数学计算分类来讲,主要分为符号计算和数值计算两大类。 由于数学计算的偏重不同,它们有各自的优点和缺点。用计算机进行数值计算, 不但节省了大量的人力物力,而且许多科学研究和工程设计中的许多问题也都得到解 决。但是,数值计算是会产生误差的,并且估计误差通常是困难的。另外,在科研和 工程计算中有时所求的结果可能不是数值,而是一个符号表达式。这类问题往往就要 通过符号计算来解决,符号计算有效地增加了求解答案的精确度。但是,这些符号计 算系统也不能解决数值计算中所有的计算,而且也不能把所有能演算的问题都用符号 计算方法演算出来。因此,目前的数学计算平台往往将设计重点放在符号运算或者数 值计算的单向计算系统上。相对的,根据计算机软件中数学计算功能的偏重不同,也 简单地分为符号计算数学软件和数值计算数学软件,其主流代表软件有m a p l e ( m a p l e s o f t 公司,世界通用的数学和工程计算软件,能提供精确符号计算) 和m a t l a b ( m a t l a b 软件是由美国m a t h w o r k s 公司推出的用于数值计算和图形处理的科学计算系 统环境) 。然而,无论是在学术领域研究还是在工业界应用,面对错综复杂的计算需求, 通常在计算过程中需要同时使用两类计算功能。这就直接需要将现有的数学单向计算 平台过渡发展成为符号数值混合数学计算平台,同时提供符号计算和数值计算功能。 而且原有的数学计算平台中本身存在着不同结构,不同语言实现的多种异构数学计算 模块,这些模块在改进现有系统过程中可能要被保留。所以,出于最小化改进现有平 台和最大化利用现有计算功能模块的目的,研究通过最新的计算机软件体系架构来整 合原有或新增的计算功能模块是非常重要的。 从目前国内外研究实现来看,计算机技术发展迅速,尤其是通过互联网技术,提 出了w e b s e r v i c e ,g r i ds e r v i c e ,s o a 等基于多平台多服务的主流架构,特别是s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ,即以服务为导向的软件开发思想) 架构,利用其 对异构系统整合的优势,可以充分管理配置一大批己知的数学计算应用服务资源,而 无须考虑其实现方式,充分扩展了混合数学计算平台的作用。另一方面,数学软件也 迅速发展。在w i n d o w s ,l i n u x 多种操作系统上,符号计算软件和数值计算软件在各个 领域已经充分应用,逐渐成熟,譬如主流数学软件m a t l a h ,m a p l e 。而依托这些强大的 符号计算软件和数值计算软件可以快速开发构建新的数学计算功能模块,再通过整合 墨塑垒墨塑壅墨笙! 塑堕堡垒墼兰生墨! 鱼 原有的已知的数学计算功能模块,容易地开发出符合s o a 架构的商业级的混合数学计 算平台,并且以w e b 服务的方式向外提供计算服务。 由此研究w e b 系统中s o a 架构相关理论,设计开发基于s o a 架构构建符号数值混 合数学计算平台的技术条件已经成熟。并且充分利用原有异构的数学计算功能,改进 现有单向数学计算平台的特点,是比较好的架构设计方案。通过设计实现混合数学计 算平台,同时提供符号计算和数值计算方式,可以充分满足日益发展的科学、工程计 算和教育事业的需要,满足各个领域对数学计算的需要,同对可以提高工程技术人员 应用计算机的能力和数学素质,从而发挥数学计算技术在实际生产应用中的巨大潜力。 1 2 论文主要工作和章节安排 本文共分六章: 第一章绪论。主要介绍论文的研究背景和目的,明确论文的主要研究内容。 第二章符号计算与数值计算概述。本章主要详细介绍混合数学计算平台中提到的符号 计算与数值计算含义,以及两种计算之间的特点比较。根据这两种类型计算要求,通 过对当前主流的数学计算软件的研究,权衡各种数学计算软件功能,选择m a p l e 作为 混合数学计算平台中符号计算的数学软件,m a t l a b 作为数值计算的数学软件。 第三章数学公式在w e b 系统中的输入和表示方法。基于s o a 架构的符号数值混合数学 计算平台是基于b s 结构的w e b 系统,因此在w e b 页面中输入和表示数学符号公式是 一个难题。通过对目前主要方法使用t e x令和m a t h m l 町页面标记,利用a s c ii m a t h m l “” 成功地解决了数学公式在符号数值混合数学计算平台的输入输出方式。 第四章s o a 面向服务体系架构的理论研究。本章是s o a 架构理论研究的基础。在本章 中,讲述了s o a 架构的产生原因和发展,指出了s o a 体系结构的核心实质,架构体系 以及采用s o a 作为符号数值混合数学平台架构的优点。接着分析作为s o a 实现技术的 w e b s e r v i c e s 的理论体系及其组成要素,包括与w e bs e r v i c e s 相关的主要协议和技术 x m l ,u d d i ,s o a p ,w s d 和j a ) 【r 。然后阐述了系统实现s o a 架构有关的e s b ( 企业服务 总线) 的概念、特点和中间件。 第五章基于s o a 架构符号数值混合数学计算平台的设计实现。本章针对一个混合数学 计算平台系统的实际项目需求,通过x f i r e 框架构建符号计算和数值计算的 w e b s e r v i c e 并且通过b e a 公司开发的s o a e s b 中间件a q u a l o g i cs e r v i c eb u s 对对 两类数学计算w e b s e r v i c e 进行配置部署,在混合数学计算平台中构建s o a 架构。然后, 利用l a t e x m a t h i l 和a s c i i m a t hi m a g ep a l l b a c k o ”技术在w e b 页面上正确显示计算结 - 2 - 基于n o a 架构实现符号数值混合数学计算平台 果中的数学符号。 第六章结束语。总结了论文的研究工作,指出了目前基于s o a 架构实现符号数值计算 混合计算平台的不足,提出了进一步对s o a 架构理论的研究设想,以及对未来符号数 值混合数学计算平台的发展趋势和前景进行了展望。 基于s o a 架构实现符号数值混合数学计算平台 2 符号计算与数值计算概述 从数学计算分类来讲,主要分为符号计算和数值计算两大类。 2 1 符号计算的含义 符号计算,就是指在运算时无须事先对变量赋值,而将所得到结果以标准的符号 形式来表示的运算方法。譬如,我们常常使用未赋值的变量来证明不等式的递推关系, 这就是一个常见的符号计算。在数学计算中,符号计算是研究在计算机上进行准确数 学演算和与之相关的数学理论的学科,是数学机械化的主要工具。目前,符号计算正 处于蓬勃发展的一个年轻研究领域,它具有数学和计算机科学交叉的明显特征。 符号计算属于计算机代数范畴。计算机代数是以现代计算机为工具,研究可代数 化的数学对象的- - f l 新兴学科。计算机代数的特征是符号与代数计算,它有别于通常 的数值计算。代数算法的设计、分析、实现及应用构成了计算机代数的研究内容。利 用计算机符号计算系统对交换代数与代数几何中的可计算问题以及有关应用进行研 究,从而形成了计算代数这个蓬勃发展的新方向。 符号计算作为新的计算工具,不但可以用于数学自身,如定理证明与方程求解等 方面的应用外,还在理论物理,高能物理,相对论,量子物理,天体力学。化学华工, 生物生态,机械学,机器人设计( 如机器人机构学,计算机视觉,c a g d 一曲面造型, 拼接等) ,航空航天,编码理论、密码技术等方面有着广泛的应用。 近年来,一批专业化的学术机构已在世界各地纷纷成立。符号计算软件m a p l e , m a t h e m a t i c a ,m a g m a 等已经在数学与工程领域被广泛使用。8 0 年代以来,解( 微分) 代数多项式方程组已成为国际符号计算界的热点,其主要方法是g r o e b n e r 基方法和吴 方法。这些符号计算方法正越来越受到各方面的重视。 2 2 数值计算的含义 数值计算是有效利用计算机,求出数学问题近似解的方法和过程,是处理科学研 究和工程技术研究的重要内容。数值计算主要涉及一类算法求解特定的科学问题,它 离不开离散化、精度、迭代表达式、收敛速度等概念。一般情况下,数值计算过程中 不涉及用户和计算机交互。 我们从应用要求来看,常用的数值计算主要解决以下几个方面的数值分析: 方程求解:包括求解线性方程组、非线性方程组和实系数多项式求根。 矩阵计算:计算数据矩阵各列( 变量) 均值、方差、标准差及变异系数及矩阵的 奇异值分解、计算数据矩阵各个变量间的相关系数、实对称矩阵以及一般实 基于s o a 架构实现符号数值混合数学计算平台 矩阵特征值、特征向量计算,矩阵求逆等等。 常用微积分数值分析技术:包括定积分、多重积分、求导数以及求解微分方 程组初值问题。 其他基础数学浮点数运算。 2 3 符号与数值计算的特点比较 从传统数学计算来看,数学计算一般就分为符号计算和数值计算两大类。从两种 计算的特点上来说,数值计算一般着重于只处理数值型的数据,在计算机难免有误差 传播。因为假设我们要在计算机中处理数值运算的工程,则会要求运算平台本身不但 能够考虑算法的收敛性,还必须兼顾数值的稳定性,以防止误差传播的严重影响。而 符号计算,其在计算机主要考虑的是如何将符号演算直接输入到计算机中进行运算, 并且把数值计算作为其特例。其二者之间有着本质的差别,这种差别使我们在面对一 个复杂的数学问题时候,必须同时考虑使用符号计算和数值计算两种运算方式来分别 求解。 考虑到以上两种计算特点和差异,为了能够适应各种学科数学计算要求,我们必 须要求在一个成熟强大的数学计算平台环境下,不但能够对数学符号表达式进行准确 计算和公式推导,而且还应该适用于各类精确性数值计算。因此,原有单向的符号计 算或数值计算计算平台已经不能适应如今复杂计算需求。这也正是我们研究如何整合 一种或多种符号计算或数值计算功能,利用最新的s o a 架构最小程度减少原有异构计 算功能实现依赖,构造能够同时提供符号计算和数值计算功能混合数学平台的根本原 因。 2 4 现今主流数学软件 为了更好地设计实现混合数学计算平台来提供符号计算和数值计算功能,除了对 原有数学计算功能模块进行重构整合以外,我们还需要评估最新的数学计算软件,在 原有基础上增加部分自有符号计算和数值计算功能。如今,现在越来越多的优秀数学 软件不断涌现,并且逐步商业化,其功能性更加强大。以下为主要数学软件列表: - m a p l e m a t h e m a t i c a ,m u p a d ,m a x i m a m a c s y m a ,r e d u c e ,a x i o m , - t h e o r i s t ,m a g m a ,s i n g u l a r ,m a c a u l a y ,g b r s ,c o c o a ,g a p ,c a y l e y ,l i e , n u l i g p , b e m i n a ,s y m ,a c e ,h a r t m a t h ,j a c a l ,y a c a s ,g i a c ,g i n a c ,a gl i b r a r i e s ,l a p a c k , n a gl i b r a r i e s 。i m s l ,m a t l a b ,s c i l a b ,l a m e x ,f r l a y ,t h eo n - l i n e 基于s o a 架构实现符号数值混合数学计算平台 e n c y c l o p e d i ao fi n t e g e rs e q u 饥。韶 其中,目前在科技和工程界上比较流行和著名的数学软件主要有四种软件,分别 是m a p l e 、m a f l a b 、m a t h c a d 和m a t h e m a t i c a 。它们在各自针对的目标功能上都有不同 的特色。 m a p l e 系统 m a p l e 系统是由w a t e r l o o 大学开发的数学系统软件,它不但具有精确的数值处 理功能,而且具有无以伦比的符号计算功能。m a p l e 的符号计算能力还是m a t h c a d 和m a t l a b 等软件的符号处理的核心。m a p l e 提供了2 0 0 0 余种数学函数,涉及范围 包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一 套内置的编程语言,用户可以开发自己的应用程序,而且m a p l e 自身的2 0 0 0 多种 函数,基本上是用自己语言开发的。 m a p l e 采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常 见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形 方式,产生的图形结果可以很方便地剪贴到w m d o w s 应用程序内。 m a t l a b 系统 m a t l a b 系统原是矩阵实验室( m a t r i xl a b o r a t o r y ) 在7 0 年代用来提供l i n p a c k 和e i s p a c k 软件包的接口程序,采用c 语言编写。从8 0 年代出现3 0 的d o s 版本, 逐渐成为科技计算、视图交互系统和程序语言。m a t l a b 可以运行在十几个操作平台 上,比较常见的有基于w i n d o w s9 x n t 、o s 2 、m a c i n t o s h 、s u n 、u n i x 、l i n u x 等 平台的系统。 m a t l a b 程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心 函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具 包、神经网络工具包、控制系统工具包、1 1 分析和综合工具包、样条工具包、符号 数学工具包、图像处理工具包、统计工具包等。 m a t l a b 是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数 理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也 是科研工作人员和大学生、研究生进行科学研究的得力工具。 m a t h c a d 系统 m a t h c a d 系统是美国m a t h s o f i 公司推出的一个交互式的数学系统软件。从早 期的d o s 下的1 0 和w i n d o w s 下的4 0 版本,到今日的8 0 版本,功能也从简单的 数值计算,直至引用m a p l e 强大的符号计算能力,使得它发生了一个质的飞跃。 m a t h c a d 是集文本编辑、数学计算、程序编辑和仿真于一体的软件。 6 基于s o a 架构实现符号数值混合数学计算平台 m a t h c a d 7 0p r o f e s s i o n a l ( 专业版) 运行在w i n 9 x n t 下,它的主要特点是输入格 式与人们习惯的数学书写格式很近似,采用w y s w y g ( 所见所得) 界面,特别适 合一般无须进行复杂编程或要求比较特殊的计算。m a t h c a d7 0p r o f e s s i o n a l 还带 有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是 可以的。这个程序编辑器的优点是语法特别简单。 m a t h c a d 可以看作是一个功能强大的计算器,没有很复杂的规则。同时它也 可以和w o r d 、l o t u s 、w p s 2 0 0 0 等字处理软件很好地配合使用,可以把它当作一个 出色的全屏幕数学公式编辑器。 m a t h o r a a t i c a 系统 m a t h e m a t i e a 系统是由美国物理学家s t e p h e nw o l f f a m 领导的w o l f r a mr e s e a r c h 开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与m a p l e 类似,但它的符号计算不是基于m a p l e 上的,而是自己开发的。 m a t h e m a t i c a 的基本系统主要是用c 语言开发的,因而可以比较容易地移植到 各种平台上,m a t h e m a t i e a 是一个交互式的计算系统,计算是在用户和m a t h e m a t i c a 互相交换、传递信息数据的过程中完成的。m a t h e m a t i e a 系统所接受的命令都被称 作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。 m a t h e m a t i e a 对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式 输入,系统才能正确地处理,不过由于3 0 版本引入输入面板,并且可以修改、重 组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很 好的改善。3 o 版本可以用各种格式保存文件和剪贴内容,包括r t f 、h t m l 、b m p 等格式。 四种数学计算软件功能都非常强大,又各有不同的软件特点。根据从数学平台 开发对数值计算的准确度,运算时间以及开发难度这三个主要方面的考虑,以 数值计算中的线性规划单纯型法问题和符号计算中的差分代换纠为例,对这四 种数学软件做了初步的横向运算比较,如图2 1 。 注:此次横向比较结果仅以华东师范大学计算机理论研究所数学服务器作为实验测试 环境为参考,不做为商业评测依据。 臼步结论:a j 丘舅开桩甘椎确度和运时闩辱因素覆t 1 选择i 婶l c 作为主翼的符号计软件i 矗摔 n l - b 作为主蔓的敷伍计算软件挂:表示好评度) 图2 - 1四种数学计算软件横向运算功能比较结果表 基于s o a 架构实现符号数值混合数学计算平台 2 5 小结 本章主要介绍了在混合数学计算平台需求中,符号计算和数值计算的概念,并且 指出了两种计算各自特点以及两者之间的区别。通过调查原有的符号计算平台或数值 计算平台中存在的不足,列举了构建符号数值混合数学计算平台的实际意义。然后, 本章介绍了当前世界上主流的数学计算软件,其中重点介绍了四种著名的数学计算软 件,分别都能提供出色的符号计算和数值计算。我们根据实际的功能需要,考虑到其 中每个软件各自强大的数学计算侧重点,选择了m a p l e 软件来处理符号计算,选择了 m a t l a b 软件来处理数值计算,并且在实际的混合数学计算平台中调用实现。 基于s o a 架构实现符号数值混合数学计算平台 3 数学公式在w e b 系统中的输入和表示方法 由于在混合数学计算平台系统应用中,不可避免地需要输入显示数学符号和公式, 目前主要的数学公式在计算机上的显示包括两种方式:t e x 指令和m a t h m l “”标记。 3 1 面向桌面的t e x 系统的数学公式表示 t e x 系统,是美国著名计算机教授高德纳( d o n a l de k n u t h ) 编写的功能强大的排 版软件。它在学术界十分流行,特别是数学、物理学和计算机科学界。t c x 被普遍认为 是一个很好的排版工具,特别是在处理复杂的数学公式时利用l a t e x 等终端软件, t e x 就能够排版出精美的文本。它提供了一套功能强大并且灵活的排版语言,有多达 9 0 0 多条指令,并且具有宏功能,用户可以不断地定义自己适用的新命令来扩展t e x 系统的功能。 t e x 系统有许多优点,如开源、易移植、排版质量高、输出结果与设备无关等。 同时,它也是公认的最好的数学公式排版系统,它在数学和工程领域得到了广泛的使 用,相关领域的学术论文基本都由t e x 系统或其兼容系统( 如l a t e x 系统) 排版生成。 我们在使用t e x 系统过程中,通过将各种数学符号和公式由不同的数学记号来表 示,譬如用s i n 表示s i n 、s q r t 表示根号等。 t e x 系统规定数学记号和数字的组合一般放在 里面,或$ $ 之问。譬如在 m a t h t y p e ( m a t h t y p e ,一款可以处理t e x 命令的常用数学公式的编辑) 中输入t e x 指令 “$ x = f r a c f b p m s q r t b 2 - 4 a c ) 2 a ) ) ”,如图3 1 ,则很容易输出一元二次方程 组的求根公式: 工二坠匹至 2 a 由此看来,t e x 指令和它所表示的数学公式本身非常接近,或者是该数学符号的英 文缩写。因此,我们之所以选择t e x 指令,也是由于其比较直观、易学,方便输入的 特点。并且,目前主要的数学计算软件都已经支持将计算结果可以将以t e x 方式输出, 譬如m a p l e 软件可以通过l a t e x ( e x p r e s s i o n ) 函数输出。因此,在设计符号数值计算混 合数学平台中考虑使用t e x 指令作为数学符号输出是非常合理和规范的。 摹于$ o a 絮构实现符号数值混合数学计算平台 图3 - 1t e x 指令( 运行在m a t h t y p e 下测试) 3 2 面向互联网w e b 的数学标记语言m a t h m l 由于基于s o a 架构的混合数学计算平台同时也是个w e b 系统,所以我们更要研 究关注在w e b 页面中显示数学符号的方法。 w e b 技术和x m l 的快速发展推动了数学信息的表示、存储以及传输方式。国际 互联网标准组织w 3 c 制定的m a t h m l 是一种基于x m l 的数学标记语言,是计算机之 间交换数学信息的基本标准。它完全采用x m l 的定义规范,继承了x m l 的大部分优 点,具有强大的数学公式表达能力。 m a t h m l 用于描述数学公式的结构和内容,它的出现使数学公式不仅可以在w e b 上建立与传输,而且可以在其它应用程序中实现再利用和转换,满足用户对数学公式 的各种处理需求。m a t h m l 提供两种描述数学公式的标记:p r e s e n t a t i o n 标记和c o n t e n t 标记。这两种标记都可以完整地描述任何一个数学公式,但是它们的侧重点不同:前 者用来描述数学表达式的二维布局结构,它更注重表达式的显示方式;后者描述标示, 清晰明确,实用性强。表现标记是从数学表达式的显示形式来描述数学公式,如 标记表示上标符号, 表示下标符号等;而内容标记是从数学表达式本身的内在 含义进行描述数学公式,如 标记表示相加。 基于s o a 架构实现符号数值混合数学计算平台 以最常见的勾股定律为例: 黔m 批“一t 黼群蕊辫黪囊霎黪瓣嚣爨麟獬瓣鬻鳓臻黪霉雾孽黪_ 镳瓣雾罄臻黪鬻l 攀鬻黪群黪霹翳黪黪黪曩l 囊攀繁繁攀鬻2 溺 歉墨i 照愿磊熬k 荔l 塑憋貔熙褰愿潮蕊i 囊醯泓i l 蕊蹴糍l 鼢漱渤黝蹴纛瓣徽濯 m a t h m l 的p r e s e n t a t i o n 标记中表示为: i h a t h m l 的c o n t e n t 标记表示为 苹于s o a 架构实现符号数值混合致学计算甲台 m a t h m l 数学标记语言符合w 3 c 国际标准,m o z i l l a f i r e f o x n e t s c a p e ( 7 1 + ) 浏览 器已默认支持m a t h m l 语言,但i n t e r n e te x p l o r e r ( 简称i e ) 暂不支持 a t h m l 标准, 需要安装m a t h p l a y e r 插件来解析含有m a t h m l 标记的网页。 经过实现证明,我们发现m a t h m l 在w e b 页面上的输出效果还是非常优秀的。不过 由于它本身需要对部分浏览器需要插件支持( 譬如i e 需要增加m a t h p l a y e r 插件支持) , 以及描述数学符号的p r e s e n t a t i o n 标记和c o n t e n t 标记过于冗长,传输m a t h m l 字符串 有一定时间消耗。因此,在混合数学计算平台中我们暂时不将服务器获得的计算结果 直接以m a t h m l 标记的方式传输到页面显示其中的数学符号。 3 3 利用t e x 指令与m a t h m l 在w e b 中显示数学符号 从上文我们也看到,m a t h m l 与桌面t e x 指令各自有其特点和局限性。从应用角度 来看,t e x 指令和m a t h m l 标记语言都是两种互补性很强的语言。采用t e x 指令描述的 数学公式简单、直观,但浏览器不能直接识别和显示;m a t h h i l 数学标记语言虽然是为 互联网而设计的,但它的标记语言又相对复杂,不便于输入。因此,考虑到系统性能, 效率,实现难度等方面的问题,我们利用两者的优点,系统设计将服务器的计算结果 以t e x 指令方式进行输出到w e b 客户端页面,而在客户端通过j a v a s c r i p t ( j a v a s c r i p t 。 一种客户端脚本) 自动解析t e x 指令为m a t h m l 标记在w e b 页面显示。而在对j a v a s c r i p t 解析t e x m a t h l h l 研究中,我们发现比较流行的a s c i i m a t h m l 客户端脚本就是其中的佼 佼者。 a s c i i m a t h m l 转换程序由美国加州查普曼大学p e t e rj i p s e n 开发,其设计思想是 在网页上插入一段j a v a s c r i p t 代码,将网页中的t e x 指令( t e x l a t e x - s t y l e ) 自动转 换成m a t h m l 表现标记语言,再返回给支持m a t h m l 标准的网络浏览器识别和显示,如 图3 2 。根据实际需求,由于我们需要在客户端通过j a v a s c r i p t 脚本转换t e x 指令为 m a t h m l 。因此,我们在混合数学计算平台中使用了基于a s c i i l t a t h i 札开发的 l a t e x m a t h m l 版本( 由d rd o u g l a sr w o o d a l l 开发) 来支持在w e b 页面上转换t e x 指令为t h 札显示数学符号。考虑到m a t h m l 标记还是以文本形式显示,我们将这种 t e x 指令以m a t h m l 标记输出数学符号的方法,简称为数学符号t e x t 输出方法, 基于s o a 架构实现符号数值混合数学计算平台 l l a l t c e $ a r e 。p 如吐母l 蜘t o 叩k 曲霉,t i m 出训 掣t 蝎r t r o o t e r 1 n o t m k h “如”_ 1 d o 唧“竹) 7 6 ,a n d l , a 4 出h 冒岫d 目b k h l 凸曲 。( l b 卜f i m r r i - z e b l ( 们= h et i j j s b )霉_ r q g h l 咄m d “、h a v e t o 口耐 n m e mj m p h t 删cm l m _ b c 1 2 3 4 y - l1 、 曲f 一1 2 置4 5 。ii b t d “皿d m 脚b n i ep c d 劬p “西k 孕 。 。m 图3 - 2 利用a s c i i h a t h m l 显示数学符号( f i r e f o x 2 0 0 9 ) 由于微软i e 浏览器不直接支持输出m a t h m l 标记,若要正确地显示数学公式,i e 在客户端还需要安装m a t h p l a y e r 插件,这增加了用户的不便。因此,皮尔斯学院d a v i d l i p p m a n 在a s c i i h a t h m l 转换方法基础上,开发了a s c i i m a t hi m a g ef a l l b a c k 转换程 序,该转换程序自动判断客户端浏览器是否支持m a t h m l ,若支持,则返回m a t h m l 表现 标记;若不支持,则返回该公式的g i f ( g i f ,一种图片格式) 图片。这类g i f 图片是 在网页中直接通过远程调用互联网上的c g i ( c g i ,c o m m o ng a t ei n t e r g a c 圩,c g i 是一 类可以直接运行在服务器端,提供与网页接口交互的程序) 生成对应数学符号图片获 得。另外,d a v i dl i p p m a n 也提供了a s c i i m a t h t e x i m g 转换,直接由t e x 指令生成g i f 图片( 方法同上,以m a t h m l 为转换中间量) 。根据这些转换方法,我们可以在网页中 利用a s c i i m a t h t e x h n g 或者直接调用远程c g i 解决数学符号在w e b 的正确显示,如 图3 - 3 。但是,图片的生成需要消耗一定时间,并且由于图片需要通过调用服务器端的 远程c g i 程序,所需系统必须保证是运行在互联网上的。我们把这种方法,简称为数 学符号i m g 输出方法。该方法主要是在互联网环境下,调用服务器端远程c g i 程序来 实现的。 岫珏时 掣畸_ m 岫- l 州如“坤 q 由h 碰h 隔 譬“柑畸”。辅螂“。 d f 饥n o 对垂坤a n d :h m _ - m h “ 1 肿“旺:- - = b ( 4 ,叼= 仁e r :础曼母,_ 鼍h d b 劬- 旰- _ 吐 。c - l 玎j 5 - 1 1 出出a 4 s u = := :芒= 篙篇篇k 妇 、0 村h 巾帕 峨,a l m a d d t ,矗瑶舒卸哪_ 矗k 一_ 畸a h 蜘 帼- 田 图3 - 3 利用a s c i i m a t h t e x i m g 显示数学符号( i e 6 ,f i r e f o x 2 0 0 9 ) 为了保证混合数学计算平台在调用数学计算功能后能够正确显示数学符号,混合数 学计算平台先利用数学软件自身函数,如m a p l e 的l a t e x ( e x p r e s s i o n ) 函数,将运算 结果以t e x 指令语法进行编码,转换为t e x 指令字符串输出。然后,再将t e x 指令字 符串返回到w e b 浏览器,然后在w e b 浏览器客户端,通过数学符号t e x t 输出方法和数 1 3 墨王! 坠堡塑壅墨量! 鍪堕望鱼塑兰生墨! 苎 学符号i m g 输出方法,将t e x 指令在网页上以文本和g i f 图片形式正确地显示。同样, t e x t 输出方法必须保证浏览器支持m a t h m l 标记,而以i m g 方法输出数学符号的方法 不但支持所有浏览器,并且不强制需要安装任何插件( 如图3 4 ,在w e b 页面输出数学 符号方法) 。 3 4 小结 图3 - 4 在w e b 页面输出数学符号方法 本章是对目前数学符号如何正确显示方法进行的研究。在本章中,主要介绍在数 学符号在桌面系统和在w e b 系统中显示不同的实现方法,并且详细指出了各自的基本 特点和一些局限性。 考虑到基于s o a 架构实现的符号数值混合数学计算平台同样属于w e b 系统范畴,并 且其作为互联网上一个公共服务平台,应该尽量不受用户使用的浏览器种类限制。因 此,在w e b 页面中,利用基于a s c i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论