我有一个脚本来计算特征值和矢量而没有平衡,我几乎每天使用多年,需要nag4py。代码位于此博客中:http://www.walkingrandomly.com/?p=5303,其中有相关的SO帖子(How to use eig with the nobalance option as in MATLAB?)。
昨天我升级了nag4py,现在运行多年来一直运行的相同脚本时遇到以下错误:
来自nag4py.util import Nag_RowMajor,Nag_NoBalancing,Nag_NotLeftVecs,Nag_RightVecs,Nag_RCondEigVecs,整型NagError,INIT_FAIL
ImportError:无法导入名称INIT_FAIL
与此同时,我通过导入octave解决了这个问题,默认情况下使用no balance选项。但我想用nag4py来解决这个问题。
我已经测试了NAG许可证,它是有效的。
答案 0 :(得分:0)
nag4py软件包的发布版本使用' quiet_fail'和' noisy_fail',它们在嵌入式文档中记录:
处理NAG C库检测到的错误或警告案例 在nag4py中使用与库中类似的NagError机制 本身。 nag4py util模块提供两个便利功能 (' quiet_fail'和' noisy_fail')创建一个NagError实例 分别禁用或启用消息打印。
以下是改变:
Index: nag4py/util.py
===================================================================
--- nag4py/util.py (revision 104707)
+++ nag4py/util.py (revision 104708)
@@ -4736,14 +4736,20 @@
return _arg
-def INIT_FAIL(fail):
+def quiet_fail():
+ "Returns a NagError instance with printing disabled."
+ fail = NagError()
fail.eprint = Nag_FALSE
+ return fail
-def SET_FAIL(fail):
+def noisy_fail():
+ "Returns a NagError instance with printing enabled."
+ fail = NagError()
fail.eprint = Nag_TRUE
+ return fail
-__all__.append("INIT_FAIL")
-__all__.append("SET_FAIL")
+__all__.append("quiet_fail")
+__all__.append("noisy_fail")
def get_input_func():
from sys import version_info