无穷大 计算机语言,数值编程语言能区分“最大有限数”和“无穷大”吗?
问题动机:
在我所知的标准数值语言中(例如,Matlab、Python-numpy等),如果你取一个适度大的数的指数,那么由于数值溢出,输出是无穷大的。如果这乘以0,就得到NaN。另外,这些步骤足够合理,但它们揭示了数学实现中的逻辑错误。溢出产生的第一个数是有限的,我们显然希望用这个大的有限数乘以0的结果是0。在
明确地:>>> import numpy as np
>>> np.exp(709)*0
0.0
>>> np.exp(710)*0
nan
我想我们可以在这里引入一个“最大有限值”(LFV)的概念,它具有以下特性:LFV是数值溢出的默认值,否则
四舍五入到无穷大
LFV<;无穷大
任何显式数字<;LFV(例如,如果LEV代表“最大显式值”,则LEV
(MATLAB详细信息:realmax<;LFV)
LFV*0=0
另一方面,不应该简单地用LFV所描述的方式重新定义无穷大。它对0*infinity=0没有意义……适当地说,当前的标准实现在这个设置中产生NaN。此外,有时需要将数字初始化为无穷大,并且您希望任何数值运算的结果,甚至是生成LFV的操作的结果都严格小于初始化值(这对于某些逻辑语句很方便)。我确信在其他情况下,一个合适的无穷大是必要的——我的观点是无限应该而不是被简单地重新定义为具有上述LFV属性。在
问题:
我想知道是否有任何语言使用这种方案,以及这种方案是否有任何问题。这个问题在正确的数学中不会出现,因为数字的大小没有这些数值限制,但我认为在编程语言中实现一致的数学时,这是一个真正的问题。基本上,通过LFV,我想我想要一个关于最大显式值和无穷大LFV=(LEV,infinity)之间的开区间的简写,但是这个直觉可能是错误的。在
更新:在评论中,人们似乎有点反对我提出的问题的效用。我的问题并不是因为发生了许多相关的问题,而是因为同一问题经常出现在许多不同的环境中。从与数据分析人员的交谈中可以看出,在训练/拟合模型时,这常常会导致运行时错误。问题基本上是为什么这不被数字语言处理。从评论中,我基本上是在收集编写语言的人没有看到这样处理事情的用处。在我看来,当某些特定的问题对于使用一种语言的人来说发生得足够频繁时,以一种原则性的方式处理这些异常可能是有意义的,这样每个用户就不必这样做了。
无穷大 计算机语言,数值编程语言能区分“最大有限数”和“无穷大”吗?相关推荐
- 二阶常微分方程的数值解法(中心差分法和有限体积法)
二阶常微分方程的数值解法(中心差分法和有限体积法) 这里我们介绍中心差分法和有限体积法求解方程. 题目: 用差分法的中心差分格式和有限体积法求解两点边值问题 u′′−α(2x−1)u′−2αu=0,0 ...
- 怎么区分有符号数和无符号数
转载至:http://www.myexception.cn/program/1264261.html 我还是搞不清指令本身是如何区分有符号数和无符号数!(问题汇总) 论坛的一个CSDN提问,对各方面的 ...
- 《LabVIEW数据采集》视频教程第18集:数值型数据—无符号整形数
<LabVIEW数据采集>视频教程第18集:数值型数据-无符号整形数
- 集合论怎么用计算机语言表示,编程语言理论
编程语言理论(PLT)是计算机科学的一个分支,涉及编程语言及其各自特征的设计,实现,分析,表征和分类. 它属于计算机科学学科,既依赖于并影响数学,软件工程,语言学甚至认知科学. 它是一个公认的计算机科 ...
- 浅出计算机语言与编程语言的发展路径
什么是计算机语言? 什么是编程语言? 它们是怎么发展出来的? 浅浅说明这些过程吧 计算机语言,也就是计算机能处理和理解的语言, 现在世界上有几百种计算机语言,常用的有C,C++,JAVA,PHP,lu ...
- java左右值_为什么C/C++等少数编程语言要区分左右值?
我个人认为的区分左值和右值的原因: 赋值的意义(基本上)是把右边的值放进左边的位置,替换掉左边位置原有的值.从而赋值对左边期望的是位置与其中的值的结合(相当于 C/C++ 的对象),对右边期望的是单纯 ...
- 汉语计算机语言,从计算机编程语言说汉语的比较优势
从计算机编程语言说汉语的比较优势 作者:微易 weibo.com/wayeasy 计算机以二进制为基础,用"0"."1"写的二进制代码,即使是最NB的数学家,也 ...
- 【问题思考总结】一个大于0的数乘以无穷大一定是无穷大吗?【关于定点和动点,数和函数,定区间和变区间的辨析】
问题 在看一道题的解析的时候,发现了这个问题,就是f′(c)(n−2)f'(c)(n-2)f′(c)(n−2)当n趋于无穷且f′(c)>0f'(c)>0f′(c)>0的时候,为什么取 ...
- 关于计算机如何区分有符号数与无符号数
计算机不能区分两者 无符号数 没有原码,反码,补码等,他的范围是 ≥0 的 有符号数 有原码,反码,补码等,他的范围是随意的 计算机通常用补码来表示有符号数 计算机的一个数据可以看作是有符号数,也可以 ...
最新文章
- usaco ★Subset Sums 集合
- 华为、小米的新手机用了更多AI,到底谁更胜一筹?
- 微服务前端开发框架React-Admin
- hdu4908 中位数子串
- “天猫化”的考拉,还是考拉吗?
- 信息系统项目管理师范围管理
- 深入浅出之正则表达式(二)(转载)
- 【许晓笛】 EOS 智能合约案例解析(2)
- JavaScript的call,apply和bind方法之间的区别
- (34)VHDL实现T触发器
- python日志记录_Python日志记录
- weblogic 安装部署
- 用php 用拼出一个菱形_用php语言编程:输出一个由“*”符号组成的菱形图形(必须使用for循环语句)...
- centos7.9安装zabbix+添加局域网下其他客户机
- 谷歌浏览器任何页面都打不开连设置也不能打开
- 基于Matlab的三角函数方程组解算方法
- 用Python做单变量数据集的异常点分析
- Android仿京东收货地址
- 【c语言学习课堂笔记第三天】:int函数有符号整型和无符号整型
- 电脑派位系统(新生入学摇号) v2016