Ios Kivy应用程序提供;奇异矩阵;电话错误,但计算机错误
我在自己编写的Kivy应用程序中遇到了一个问题,我在网上找不到任何帮助。非常感谢。Ios Kivy应用程序提供;奇异矩阵;电话错误,但计算机错误,ios,xcode,numpy,kivy,Ios,Xcode,Numpy,Kivy,我在自己编写的Kivy应用程序中遇到了一个问题,我在网上找不到任何帮助。非常感谢。 问题如下。我的代码涉及numpy矩阵求逆,当我在我的计算机上运行它时,它运行得非常好。但是,当我在XCode中的模拟iPhone上或在我的个人手机上运行它时,我会得到一个LinalError(“奇异矩阵”)numpy.linalg.LinalError:Singular matrix错误,即使所讨论的矩阵肯定不是奇异的 编辑: 在计算机上: Numpy版本:1.19.1 numpy.show\u config()
问题如下。我的代码涉及numpy矩阵求逆,当我在我的计算机上运行它时,它运行得非常好。但是,当我在XCode中的模拟iPhone上或在我的个人手机上运行它时,我会得到一个
LinalError(“奇异矩阵”)numpy.linalg.LinalError:Singular matrix
错误,即使所讨论的矩阵肯定不是奇异的
编辑:
在计算机上:
Numpy版本:1.19.1
numpy.show\u config()的输出
在模拟电话上:
Numpy版本:1.16.4
numpy.show\u config()的输出
问题的原因几乎可以肯定是链接器args中的-Wl,Accelerate
。使用一个非常旧且有点破损的LAPACK版本加速船只,这就是为什么从(未发布的1.20)起它不再受支持的原因
如果您可以在您的环境变量中设置ATLAS=None BLAS=None LAPACK=None
来重建kivy的numpy,那么您最终将没有这种加速依赖关系
你可能需要从开始研究如何将其传递给kivy。对numpy.linalg和kivy ios的进一步实验似乎表明,在使用工具链创建应用程序之后,linalg似乎根本不起作用。即使计算良性2x2矩阵的行列式也会给出完全错误的结果……什么numpy版本?numpy.show\u config()
在手机和电脑上给出了什么?我已经编辑了这个问题,包括了您请求的信息谢谢!在哪里以及如何设置环境变量?我只是从Kivy开始。ATLAS=None BLAS=None LAPACK=None
选项在toolchain build…
中吗?如果幸运的话,您可以直接使用ATLAS=None BLAS=None LAPACK=None toolchain build…
。我从来没有用过kivy,所以你可能会在他们的问题追踪器上有更多的运气。但是有没有可能旧版本的numpy.linalg就那么糟糕呢?在上面的示例中,基本上不可能找到任何numpy.linalg.det()不提供完全无意义的矩阵…我不能说det
,但在一个例程中有一个错误,当你问它“此操作需要多少工作内存”时,lapack会返回无意义。Accelerate被固定在lapack 3.2.1上,因此您可以查看lapack变更日志,找出自那时以来已修复的bug。
blas_mkl_info:
NOT AVAILABLE
blis_info:
NOT AVAILABLE
openblas_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
NOT AVAILABLE
openblas_clapack_info:
NOT AVAILABLE
atlas_3_10_threads_info:
NOT AVAILABLE
atlas_3_10_info:
NOT AVAILABLE
atlas_threads_info:
NOT AVAILABLE
atlas_info:
NOT AVAILABLE
accelerate_info:
extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']
extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]
lapack_opt_info:
extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers']
extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)]