[发明专利]通过排序分析检测数值程序中高浮点误差的方法及系统在审

专利信息
申请号: 202211537672.7 申请日: 2022-12-02
公开(公告)号: CN115858239A 公开(公告)日: 2023-03-28
发明(设计)人: 易昕;于恒彪;王争;陈立前;苏醒;姜浩;唐滔;彭林;黄春 申请(专利权)人: 中国人民解放军国防科技大学
主分类号: G06F11/14 分类号: G06F11/14
代理公司: 湖南兆弘专利事务所(普通合伙) 43008 代理人: 谭武艺
地址: 410073 湖南*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 通过 排序 分析 检测 数值 程序 中高 浮点 误差 方法 系统
【权利要求书】:

1.一种通过排序分析检测数值程序中高浮点误差的方法,其特征在于,包括:

S101,将待测的数值程序fp(x)对应的输入域Iinit按照2的指数幂进行区间划分;

S102,针对划分后的每个区间ij随机选择m个点计算第一适应性函数fit1的值,根据n个区间的第一适应性函数fit1的值进行排序并选择值最大的前k个区间;

S103,针对前k个区间,在第二适应性函数fit2(x)的指导下使用蒙特卡洛采样算法进行搜索得到k个可能触发高浮点误差的输入;然后基于第三适应性函数fit3(x)计算得到k个可能触发高浮点误差的输入对应的浮点误差,选取值最大的j个浮点误差;

S104,针对选取的值最大的j个浮点误差,在第三适应性函数fit3(x)的指导下调用Nelder-Mead算法进行局部搜索得到j个浮点误差位ErrBits,从j个浮点误差位ErrBits中选取值最大的一个浮点误差位ErrBits作为待测数值程序fp(x)的最大浮点误差maxerr,输出最大浮点误差maxerr及其相应的点xmax

2.根据权利要求1所述的通过排序分析检测数值程序中高浮点误差的方法,其特征在于,步骤S101包括:

S201,创建空的列表;

S202,确定区间[0,2-1022]和[-2-1022,0];

S203,针对确定的区间[0,2-1022]和[-2-1022,0],从循环变量i=-1022开始,每次将[2i,2i+1]和相应的相反区间加入列表,直到循环变量i=1022,最终划分得到4092个区间。

3.根据权利要求1所述的通过排序分析检测数值程序中高浮点误差的方法,其特征在于,步骤S102中第一适应性函数fit1的函数表达式为:

fit1(X)=SEXP(MAX(fp(X)))-SEXP(MIN(fp(X)))

上式中,X表示区间内m个点x1~xm构成的点集合,fp(X)={fp(x1),fp(x2),...,fp(xm)}表示点集合通过待测的数值程序fp(x)计算得到的结果集合,fp(x1),fp(x2),...,fp(xm)分别为m个点x1~xm通过待测的数值程序fp(x)计算得到的结果,SEXP返回一个浮点数的有符号指数以用于避免两个浮点数的运算出现浮点异常,MAX为取最大值,MIN为取最小值。

4.根据权利要求1所述的通过排序分析检测数值程序中高浮点误差的方法,其特征在于,步骤S103中第二适应性函数fit2(x)的函数表达式为:

fit2(x)=|x|·|fp(x)|/|fp(x)|

上式中,|x|·|fp(x)|/|fp(x)|为待测的数值程序fp(x)的条件数,fp(x)为待测数值程序,x为fp(x)的输入,fp(x)为fp(x)的导数。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211537672.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top