Python 中的机器 Epsilon

2024-02-08

我目前正在学习的一本手册(我是新手)说:

“相差小于机器 epsilon 的数字在数值上是相同的”

使用 Python,可以通过键入获得浮点值的机器 epsilon

eps = numpy.finfo(float).eps

现在,如果我检查

1 + eps/10 != 1

我得到了 False。

但如果我检查

0.1 + eps/10 != 0.1

我得到了True。

如果我将 eps 除以 100,我的后一个逻辑表达式将变为 False。 那么,机器 epsilon 是如何工作的呢? Python 文档只是说

“最小的可表示正数,使得 1.0 + eps != 1.0。eps 的类型是适当的浮点类型。”

先感谢您。


在这种情况下,你实际上不想要np.finfo。你想要的是np.spacing,它计算输入与下一个可以精确表示的最大数字之间的距离。

本质上,np.spacing计算任何给定数字的“eps”。它使用数字的数据类型(本机 python 浮点数是 64 位浮点数),因此np.float32 or np.float16将给出与 64 位浮点数不同的答案。

例如:

import numpy as np

print 'Float64, 1.0 -->', np.spacing(1.0)
print 'Float64, 1e12 -->', np.spacing(1e12)
print 'Float64, 1e-12 -->', np.spacing(1e-12)
print ''
print 'Float32, 1.0 -->', np.spacing(np.float32(1.0))
print 'Float32, 1e12 -->', np.spacing(np.float32(1e12))
print 'Float32, 1e-12 -->', np.spacing(np.float32(1e-12))

其产量:

Float64, 1.0 --> 2.22044604925e-16
Float64, 1e12 --> 0.0001220703125
Float64, 1e-12 --> 2.01948391737e-28

Float32, 1.0 --> 1.19209e-07
Float32, 1e12 --> 65536.0
Float32, 1e-12 --> 1.0842e-19
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的机器 Epsilon 的相关文章

  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 测试 python Counter 是否包含在另一个 Counter 中

    如何测试是否是pythonCounter https docs python org 2 library collections html collections Counter is 包含在另一个中使用以下定义 柜台a包含在计数器中b当且
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • CMake:CMAKE_REQUIRED_LIBRARIES 中的库顺序,用于在配置时测试最小程序

    我编写了这段小代码 以确保我的软件在必要时链接到 libatomic 通常只有在 Raspberry Pi 上才需要链接到 libatomic 目前 我使用的是 Raspberry Pi 4 带有 Raspbian Bullseye 64
  • SFINAE 与 std::enable_if 和 std::is_default_constructible 用于 libc++ 中的不完整类型

    当使用 SFINAE 检测模板化类型是否默认可构造时 我刚刚观察到 libc 的一个奇怪问题 以下是我能想到的一个最小示例 include
  • Rails、Puma、Sidekiq 如何计算总数据库连接数?

    我正进入 状态ActiveRecord ConnectionTimeoutError一天一次或两次 有人可以帮助我计算我的应用程序与数据库建立的连接数量吗 以及优化我的连接的建议 这是我的配置 AWS Database Mysql Vers
  • 在循环中创建变量和数据集? (右)

    这是我第一次尝试使用 R 构建函数 基本上我的预期目标如下 使用 RoogleVision 包与 Google Cloud Vision API 进行通信 该函数遍历目录中的图像 从 Google Vision 功能中检索每张图片的所需信息
  • 异步方法在调用或等待时抛出异常吗?

    当我调用异步方法并取回任务时 它会立即抛出还是会等到我等待任务 换句话说 这段代码能工作吗 或者我是否也必须将方法调用包装在 try 块中 Task task ThisMethodWillThrow try await task catch
  • 詹金斯管道作业的 Cobertura 代码覆盖率报告

    我正在使用 jenkins 的管道插件 我想为每次运行生成代码覆盖率报告并将其与管道用户界面一起显示 有没有一个插件可以用来做到这一点 例如 Cobertura 但它似乎不受管道支持 有一种方法可以添加管道步骤来发布覆盖率报告 但它不会显示
  • 多对多关系中的多个级联删除路径 (EF 4.1)

    表格 Shop Product Category 关系 Shop 1 lt gt n Categories Shop 1 lt gt n Products Categories n lt gt n Products 级联删除 Shop gt
  • 如何形成 cfhttp 调用来使用自定义 Web 服务 API

    我已经做了 11 年的 cf 开发人员 但很不好意思地说我在 Web 服务方面没有做过任何实质性的事情 如何形成 cfhttp 调用来使用供应商提供的以下 Web 服务 API 肥皂 1 2 要求 POST Portal internet
  • as.numeric 函数更改我的数据框中的值[重复]

    这个问题在这里已经有答案了 我有一列包含速度测量值 我需要将其更改为数字 以便我可以使用平均值和总和函数 然而 当我转换它们时 值会发生很大的变化 为什么是这样 这是我的数据最初的样子 这是数据框的结构 data frame 1899571
  • 如何在使用“layoutAttributesForElements”时对集合视图布局更改进行动画处理?

    我制作了一个自定义集合视图流布局 可以在 胶片带 和 列表 布局之间切换 带动画 但在向边缘单元添加一些奇特的动画后 切换动画中断了 这是目前的样子 没有进行这些更改 动画很流畅 对吧 这是当前的工作代码 完整的演示项目在这里 https
  • 找到两点之间角度的最快方法

    为了提高查找角度正弦 余弦的速度 我构建了一个参考表 而不是即时计算它们 我对从一点到另一点求角度也有同样的想法 我创建了一个包含 3600 个归一化向量的表 3600 10 十分之一度的精度 每当我需要知道从一个点到下一个点的角度时 我都
  • 从子片段访问父片段方法

    我正在尝试从以下位置访问Map分片至myfunction 位于父片段中Tabs 我尝试了以下行Tabs parentFragment Tabs getParentFragment 但是parentFragment 为空 我阅读了有关该主题的
  • 计算单元格中值的数量(空白除外)

    我有一个使用允许多项选择的下拉列表的单元格 如何计算选择的数量 我用过这个 LEN A2 LEN 替换 A2 1 但这并不能解释空白或没有选择的情况 如果没有选择 如何才能显示0 如果您的选择没有空格 则用逗号替换空格 修剪结果 然后按照上
  • 每次在嵌套条件 swift ios 中都会弹出 AlertController

    我定义了一个警报控制器 当用户名或密码不正确时 警报应该弹出 并且工作正常 但是当用户名和密码匹配时 尽管匹配 但每次登录时都会弹出 我想我没有以正确的方式定义嵌套条件 帮我对多重嵌套条件进行排序 登录代码 import UIKit imp
  • 如何使用 ReportViewer 设计将两个数据表添加到 Tablix

    我正在尝试使用 ReportViewer 将两个数据表添加到报告中的表 tablix 中 数据表 dt程序 名称 描述 dt改进 改进 我将有一个程序列表以及每个程序的改进列表 这是我正在寻找的示例 我不知道如何设计我的 ReportVie
  • 为什么将框架文件夹放在公共根目录之外更安全?

    为什么总是建议将框架文件放置在公共根目录之外 鉴于有时框架没有 ini or inc可以用浏览器打开的文件 好吧 肯定没什么可做的gained将框架源放置在 Web 根目录中 由于可以自由选择放置文件的位置 因此使用最小特权原则 http
  • 如何在 PhantomJS 中转到下一页进行抓取

    我正在尝试从具有多个页面的网站中获取多个元素 我目前正在使用 PhantomJS 来完成这项工作 我的代码几乎可以工作 但问题是我的代码在第一页上刮了两次 即使 根据日志 似乎我已经移到了第二页 这是代码 var page require
  • 获取jstree的已检查节点ID列表[重复]

    这个问题在这里已经有答案了 我是新来的jstree and jQuery并且在我的测试树中进行节点检查时遇到了一些问题 用户首先应勾选自己需要的节点 然后点击 概括 按钮以获取警报窗口中已检查节点的 ID 列表 我还想导出 ID 列表以供进
  • VB.NET 中的 WScript?

    这是我的程序中的一段代码 WSHShell WScript CreateObject WScript Shell 但由于某种原因 WScript 没有声明 我知道这段代码可以在 VBScript 中运行 但我正在尝试让它在 vb net 中
  • Python 中的机器 Epsilon

    我目前正在学习的一本手册 我是新手 说 相差小于机器 epsilon 的数字在数值上是相同的 使用 Python 可以通过键入获得浮点值的机器 epsilon eps numpy finfo float eps 现在 如果我检查 1 eps