问题标签 [pardiso]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shared - 共享/fPIC 问题
当我使用 -shared 时,我收到一条消息说使用 fPIC 重新编译,无论我将它放在编译和链接命令的哪个位置,我都无法摆脱它。有没有人有什么建议?谢谢,约翰
c++ - 使用具有 64 位整数作为 StorageIndex 的 SparseMatrix 的 Eigen Pardiso
我最近在使用 Eigen Pardiso 开发代码时遇到了一些问题。
以前,我使用 Eigen Pardiso 来求解 2D Poisson 方程。矩阵大小可以用 C/C++ 32 位 int 数来描述。我使用的代码是这样的:
这对我很有效。
但是,我最近需要修改我的代码以处理更大的 3D 矩阵。上面代码中的nx*ny
需要改成nx*ny*nz
,这个值比int
C/C++ 中的 32-bit 大。int64_t
所以这些变量需要在 C/C++ 中改为 64 位。列出了上面代码的修改代码:
现在问题来了。似乎通过将StorageIndex
类中SparseMatrix
的默认值更改为int64_t
,代码根本无法编译。错误信息是这样的:
然后我来看看 Eigen 的源代码。似乎有类似的东西:
从错误信息来看,我认为代码调用了pardiso
函数。所以我认为可能代码需要找到某种方法来使用该pardiso_64
功能。我正在尝试将上面显示的代码的上述修改版本更改int64_t
为。long long int
然后编译器显示错误:
我可以问如何使用 Eigen 中的 Pardisoint64_t
吗?提前致谢。
我使用的特征是Eigen 3.3.9
. 我使用的编译器是GCC 8.4.0
.
matrix - 在 Windows 上使用 Pardiso 求解器时 Julia 退出
我在包网页上安装了 Pardiso.jl,并附有说明。当我运行测试代码时,Julia 刚刚退出并显示以下错误消息。当我从 568-574 运行时,这不是问题。但是当我尝试使用 solve!() 时,朱莉娅就崩溃了。该链接将我定向到https://code.visualstudio.com/docs/supporting/troubleshoot-terminal-launch 我不是使用外部求解器的专家,所以有人会帮助我吗?
终端进程“julia.exe '-i', '--banner=no', '--project=C:\Users\catie.julia\environments\v1.6', 'c:\Users\catie.vscode \extensions\julialang.language-julia-1.4.3\scripts\terminalserver\terminalserver.jl', '\.\pipe\vsc-jl-repl-f9a2393d-4e4d-42ec-9aa9-acb076d5bde1', '\.\pipe \vsc-jl-cr-4f79880d-c78a-44bc-858d-92cdce1af703', 'USE_REVISE=true', 'USE_PLOTPANE=true', 'USE_PROGRESS=true', 'DEBUG_MODE=false'" 以退出代码终止:3221226356。
macos - 在 finder 中执行 .app 双击、在终端中使用“open -a”和“./application.app/.../executable”之间的权限差异
我用 Qt Creator 创建了一个捆绑应用程序,它使用文件夹内的临时文件。它是一个第三方库(英特尔 MKL Pardiso OOC),负责创建、使用和删除临时文件。包含临时文件的文件夹是:~/Documents/AppName/temp/
.
当我在 finder 中双击执行此应用程序时,或使用命令从控制台执行此应用程序时open -a application.app
,第三方库会抱怨,因为它无法打开临时文件。
但是,当我使用命令打开它时,./application.app/Contents/MacOS/executable
它可以完美运行。
当我在 Qt Creator 中执行时,无论是在发布模式还是调试模式下,它都可以完美运行。
这让我认为这不是第三方库的问题,而是与我执行应用程序的方式或我的捆绑应用程序有关的问题。
这是我的info.plist
文件,由 Qt 生成。
open
使用命令,双击finder和使用./
方法之间的文件权限有什么区别吗?
如果没有,我需要在我的info.plist
文件中添加一些东西吗?
细节:
- 该应用程序已使用 Qt Creator 5.12.5 的 macdeployqt 部署。
- 该应用程序使用英特尔 MKL Pardiso OCC,它在
Documents/AppName/temp/
. 这是抱怨打开临时文件时出现问题的库,抛出错误代码:-10。
我已经看过以下问题,但没有一个回答我的问题:
jupyter-notebook - 'PyPardisoError:Pardiso 求解器失败,错误代码为 -3。有关详细信息,请参阅 Pardiso 文档。如何解决?
PyPardisoError:Pardiso 求解器失败,错误代码为 -3。有关详细信息,请参阅 Pardiso 文档。
我在 Jupyter Notebook 上工作,我发现了这个错误。这是什么意思,我该如何解决这个问题?
pardiso - 提高PARDISO的准确性
有关使 pardiso 更准确的任何提示?
对于牛顿线搜索,我有一个(对称)Hessian 的(条件不好的)线性系统(附加的线性约束设置为拉格朗日乘数,所以它不是正定的)。求解
- 使用 matlab 的 mldivide 需要 6 秒;
- 使用 pardiso (pardiso-project.org) 需要 1.7 秒。
但是,pardiso 的解决方案(使用默认设置时)非常不准确,并且行搜索停止。
设置以下内容显着改善了解决方案,使其与 mldivide 一样好:
我想知道是否还有其他相关参数。例如,我试图设置
和其他值,但 pardiso 报告了 -4 类型的错误。
Ofir 指出了附录 D
(19) 一种快速局部内射谐波映射的子空间方法
solver - 替换 arm64 的 (mkl) pardiso (Apple Silicon)
对于学术数值项目,我们主要使用 pardiso(来自 mkl)和 cholmod 作为直接求解器。现在我切换到 Apple Silicon(速度惊人,构建时间缩短了四分之一!)并且不能再使用 Intel 的 mkl 进行本机编译。
- 对于 BLAS,openblas 运行良好
- 对于正定系统 cholmod 工作正常
- 对于非正定系统(pardiso 很棒),我正在寻找替代品
- 到 2022 年 1 月,再也没有可用的学术 Pardiso。