我一直在搜索,似乎NaN
在不同的编程语言中对s进行了零散的讨论,包括一些特定情况,但没有详尽无遗或清晰明了。
NaN
在Python中导致N的最常见操作是什么,这些操作是在使用NumPy或SciPy时产生的?
如果您在不使用浮点环境的情况下执行以下任何一项操作,则应该得到一个NaN,而您以前没有使用过NaN:
0/0
(在顶部和底部都签名)inf/inf
(在顶部和底部都签名)inf - inf
或(-inf) + inf
或inf + (-inf)
或(-inf) - (-inf)
0 * inf
和inf * 0
(均在两个因素上均签字)sqrt(x)
什么时候 x < 0
fmod(x, y)
当y = 0
或x
无限时; 这fmod
是浮点余数。机器算术这些方面的规范参考是IEEE
754规范
。第7.1节描述了无效的操作异常,这是您将要获得NaN时引发的异常。IEEE
754中的“异常”意味着与编程语言上下文不同。
许多特殊的函数实现以其尝试实现的功能的奇异点来记录其行为。对于参见手册页atan2
和log
,例如。
您是在专门询问NumPy和SciPy。我不确定这是说“我正在询问有关NumPy幕后发生的机器算术”还是“我正在询问有关eig()
内容”。我假设是前者,但是此答案的其余部分试图与NumPy中的更高级别函数建立模糊的联系。基本规则是:
如果函数的实现犯了上述错误之一,则将获得NaN。
例如fft
,对于,NaN
如果输入值约为1e1010
或大于,则很容易获得;如果输入值约为1e-1010
或小于,则有可能导致精度的无声损失。但是,除了真正可笑的扩展输入之外,您还可以放心使用fft
。
对于涉及矩阵数学的事情,inf - inf
如果您的人数众多 或
矩阵病情严重,NaN可能会出现(通常是通过路线)。关于如何通过数值线性代数进行运算的完整讨论太长了,无法解决。我建议在几个月的时间里翻阅一本数字线性代数书(Trefethen和Bau很流行)。
在编写和调试“不应”生成NaN的代码时,我发现有用的一件事是告诉计算机捕获是否发生NaN。在GNU C中,我这样做:
#include <fenv.h>
feenableexcept(FE_INVALID);
问题内容: 我想描述一下AOP有效参与应用程序设计的可能情况。到目前为止,我所遇到的是: 伐木相关 安全检查 交易管理 调整旧版应用程序 还要别的吗? (不一定是基于Spring的基于代理的AOP,而是JBoss AOP。) 问题答案: 我可以举两个使用它的示例: 在JMX中自动注册对象以进行远程管理。如果使用我们的注释对一个类进行注释,则我们可以通过一个方面来监视该类的新实例,并将其自动注册到J
问题内容: 如何找到包含自然语言工具包(nltk)使用的所有可能pos标记的列表? 问题答案: 这本书有一个注释,说明如何在标签集上寻求帮助,例如: 其他人可能相似。(注意:也许您首先需要为此从下载助手的“ 模型” 部分进行下载)
如果我们转而使用软件包,需要注意的主要考虑因素和危险是什么?什么可能会坏?是否会影响调试、测试、构建(使用FinalBuilder)或维护的便利性?运行时内存利用率是否会增加到不可接受的程度,因为我们将在运行时加载整个BPL,而不仅仅是链接器所需的单元? 我知道,唯一真正的答案将来自于在我们的具体应用程序中尝试它,但我将非常感谢任何已经走上这条道路或拒绝它的人的一些建议。
本文向大家介绍Redis 有哪些功能?相关面试题,主要包含被问及Redis 有哪些功能?时的应答技巧和注意事项,需要的朋友参考一下 数据缓存功能 分布式锁的功能 支持数据持久化 支持事务 支持消息队列
1、基于本机内存的缓存 当调用api访问数据库时,假如此过程需要2秒,如果每次请求都要访问数据库,那将对服务器造成巨大的压力,如果将此sql的查询结果存到Redis中,再次请求时,直接从Redis中取得,而不是访问数据库,效率将得到巨大的提升,Redis可以定时去更新数据(比如1分钟)。 2、如果电脑重启,写入内存的数据是不是就失效了呢,这时Redis还提供了持久化的功能。 3、哨兵(Sentin
问题内容: 我在搜索有关如何从我的应用程序发送电子邮件的过程中,遇到了以下主题: 如何从我的Android应用发送电子邮件 它解决了在他的动作send中添加类型的问题: 这对我也适用,我可以发送电子邮件,这很棒。我只是想知道我还能在那里设置什么。 我知道,如果我不进行任何设置,它将显示带有所有可用选项的列表。我想强迫用户使用我选择的任何选项来共享它。我可以探索这一点来迫使用户以我想要的任何方式共享
问题内容: 简单的问题: 有哪些Python GUI API,任何给定API的优点是什么? 我不是要在这里发动一场宗教战争,我只是想就Python GUI API方面的所有问题取得良好的解决。 问题答案: 这是一个很好的清单。
我们都知道,我们应该使用准备好的语句或适当的替换/格式化规则,以防止sql注入到我们的应用程序中。 然而,在查看MySQL的字符文本列表时,我注意到它包括以下字符: ASCII NUL( )字符 一个退格字符 \n换行符(换行符) 回车符 制表符 ASCII 26(CtrlZ)。见下表注释 反斜杠字符 一个字符 一个字符 现在,虽然需要对