问题标签 [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.

0 投票
0 回答
15 浏览

shared - 共享/fPIC 问题

当我使用 -shared 时,我收到一条消息说使用 fPIC 重新编译,无论我将它放在编译和链接命令的哪个位置,我都无法摆脱它。有没有人有什么建议?谢谢,约翰

0 投票
1 回答
175 浏览

c++ - 使用具有 64 位整数作为 StorageIndex 的 SparseMatrix 的 Eigen Pardiso

我最近在使用 Eigen Pardiso 开发代码时遇到了一些问题。

以前,我使用 Eigen Pardiso 来求解 2D Poisson 方程。矩阵大小可以用 C/C++ 32 位 int 数来描述。我使用的代码是这样的:

这对我很有效。

但是,我最近需要修改我的代码以处理更大的 3D 矩阵。上面代码中的nx*ny需要改成nx*ny*nz,这个值比intC/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.

0 投票
0 回答
43 浏览

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。

Parsido 软件包网站上的测试代码

出现错误信息

0 投票
0 回答
41 浏览

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。

我已经看过以下问题,但没有一个回答我的问题:

0 投票
1 回答
84 浏览

jupyter-notebook - 'PyPardisoError:Pardiso 求解器失败,错误代码为 -3。有关详细信息,请参阅 Pardiso 文档。如何解决?

PyPardisoError:Pardiso 求解器失败,错误代码为 -3。有关详细信息,请参阅 Pardiso 文档。

我在 Jupyter Notebook 上工作,我发现了这个错误。这是什么意思,我该如何解决这个问题?

0 投票
0 回答
15 浏览

pardiso - 提高PARDISO的准确性

有关使 pardiso 更准确的任何提示?

对于牛顿线搜索,我有一个(对称)Hessian 的(条件不好的)线性系统(附加的线性约束设置为拉格朗日乘数,所以它不是正定的)。求解

  1. 使用 matlab 的 mldivide 需要 6 秒;
  2. 使用 pardiso (pardiso-project.org) 需要 1.7 秒。

但是,pardiso 的解决方案(使用默认设置时)非常不准确,并且行搜索停止。

设置以下内容显着改善了解决方案,使其与 mldivide 一样好:

我想知道是否还有其他相关参数。例如,我试图设置

和其他值,但 pardiso 报告了 -4 类型的错误。


Ofir 指出了附录 D

(19) 一种快速局部内射谐波映射的子空间方法

0 投票
0 回答
22 浏览

solver - 替换 arm64 的 (mkl) pardiso (Apple Silicon)

对于学术数值项目,我们主要使用 pardiso(来自 mkl)和 cholmod 作为直接求解器。现在我切换到 Apple Silicon(速度惊人,构建时间缩短了四分之一!)并且不能再使用 Intel 的 mkl 进行本机编译。

  • 对于 BLAS,openblas 运行良好
  • 对于正定系统 cholmod 工作正常
  • 对于非正定系统(pardiso 很棒),我正在寻找替代品
  • 到 2022 年 1 月,再也没有可用的学术 Pardiso。