lapack 相关问题

LAPACK(Linear Algebra PACKage)是一个用于求解线性代数方程的软件库包。 LAPACK是用Fortran 90编写的。

将非连续数组的指针传递给 Fortran 中的 Lapack95 例程是否安全?

我想为非连续数组调用 syevd Lapack95 子例程,如下所示: 真实 :: 垫子(15000, 15000), vec(15000) 垫=1.d0 关联(eig_vects=>mat(:10000,:10000),eig_vals=>vec(:...

回答 1 投票 0

用数学网络解决一般特征问题

我发现了一个非常有前途的软件包(MatNet)可以在我的结构工程项目中使用。然而,虽然 MathNet 严重依赖于 Intel 的 MKL,但我不知道如何解决一般特征向量...

回答 1 投票 0

LAPACKE_chbevd 的错误答案

我在基于arm的嵌入式设备AGX Orin上使用LAPACKE_chbevd来计算矩阵的特征值和特征向量,但结果不正确。 来自 LAPACKE_chbevd (ARM

回答 1 投票 0

Crossprod 比 %*% 慢,为什么?

在过去几天我一直在编码的算法的计算时间的各种尝试中,我想测试crossprod在%*%上给出的有效改进。令人惊讶的是没有...

回答 1 投票 0

如何从QR分解输出中得到Q?

DGEQRF 和 SGEQRF 以打包格式返回 QR 分解的 Q 部分。解压它似乎需要 O(k^3) 步骤(k 个低阶产品),并且似乎不是很直接......

回答 2 投票 0

LAPACKE 加速框架

我正在开发一个基于 C++ 的线性代数工具,允许用户在不同的操作系统上链接到 OpenBLAS/ATLAS/Intel MKL。 这在 Windows 和 Linux 上都很好,但我会

回答 1 投票 0

如何在Swift中生成大量高斯随机变量

我想创建一个从高斯分布中抽取的大量随机数。我找到了 dlarnv,但我不知道如何在 Swift 中使用它。具体来说,XCode 显示的类型签名为 f...

回答 3 投票 0

使用 CMAKE 在 VS Studio 中安装库

我正在尝试使用 VS Studio 中的 C 来计算横向场中一维伊辛模型的哈密顿量的特征值。但是,我需要使用 lapack 库,并且我正在努力使用 CMAK...

回答 1 投票 0

numpy 矩阵乘法在 HPC 上并行化时不起作用

我有两个大小为 (2500, 208) 和 (208, 2500) 的密集矩阵。我想计算他们的乘积。当它是单个进程时,它运行良好且快速,但当它处于多处理块中时......

回答 3 投票 0

标头和共享库之间不兼容的函数参数列表不会使我的程序崩溃,为什么?

在两台不同的机器上构建我的大学项目时,我遇到了 LAPACK 和 Intel 在 MKL 中的实施问题。我已经找出了主要问题:我使用了 LAPACK 标头...

回答 1 投票 0

LAPACK 的 ZHEEVR 例程的特征向量不准确

我试图用 C 级 LAPACK 替换我的 cython 代码中的 Scipy 的 eigh 例程。本质上我想计算对应于埃尔米特 m 的最大和最小特征值的特征向量...

回答 1 投票 0

为什么使用 `extern` 允许运行时链接?

我有这个代码片段: 外部板条箱 blas; 外部板条箱 openblas_src; pub fn eigen_decompose_symbol_tri_diagonal( main_diag: &Vec, sub_diag:&Vec...

回答 1 投票 0

在复杂的 LAPACK 例程中使用 std::complex

我希望能够使用 std::complex 数据类型从我的 C++ 程序调用我的 Lapack 函数。我意识到clapack中的复杂数据类型被声明了(至少在我的Mac上......

回答 2 投票 0

如何使用LAPACK求QR分解?

我正在尝试使用英特尔 LAPACK 库来查找随机生成的矩阵的 QR 分解。我希望程序找到两个矩阵 Q 和 R。但是,我在使用 LAPACK 时遇到了问题

回答 1 投票 0

macOS 上的 Numpy/Scipy BLAS/LAPACK 链接(使用 Apple Accelerate)

问题 我试图查明最新版本的 NumPy (2.0.0) 是否正在利用更新的 Accelerate BLAS/LAPACK 库,包括 ILP64。 麻木 Numpy 在 2.0.0 版本中添加了

回答 1 投票 0

r msm BLAS/LAPACK 例程“DGEBAL”给出错误代码 -3

我正在尝试使用 msm 包制作一个基本的马尔可夫模型,一切工作正常,直到我突然开始收到以下错误代码。不知道为什么突然就开始了...

回答 2 投票 0

编译期间无法从 Accelerate Framework 链接 BLAS -OS Yosemite 10.0.5

我为分配创建了一个矩阵重数代码,但无法使该函数正常工作,所以我怀疑这是 BLAS 库未正确链接。 在 OS X 中,BLAS 已内置于 Acceler 中...

回答 1 投票 0

为什么scalapack中没有GEEV的等价物?

我希望使用 ScaLAPACK 找到大型复杂非埃尔米特矩阵的特征值。我似乎找不到这样一个通用特征求解器的任何文档(大概名称是 so...

回答 1 投票 0

从 lapack 库调用 F77_NAME() 函数时我的代码崩溃了

我试图从 lapack lib 调用 F77_NAME(dgeqrf) 函数,但程序崩溃了。 你觉得有什么不对吗? #包括 #包括 #包括 我试图从 lapack lib 调用 F77_NAME(dgeqrf) 函数,但程序崩溃了。 你觉得哪里不对? #include <R.h> #include <R_ext/BLAS.h> #include <R_ext/Lapack.h> #include <stdio.h> double* getcopy(int* nrow, int* ncol, double* a) { double* copy = malloc(*nrow * *ncol * sizeof(double)); int i; for (i = 0; i < *nrow * *ncol; i++) { copy[i] = a[i]; } return copy; } int main() { int m = 3, n = 3; double a[] = {12, -51, 4, 6, 167, -68, -4, 24, -41}; double* acopy = getcopy(&m, &n, a); double tau[3]; int info = 0; int i; int one = 1; double* work = malloc(max(&one, &m) * sizeof(double)); int lwork = 0; int lda = max(&m, &n); F77_NAME(dgeqrf)(&m, &n, acopy, &m, tau, work, &lwork, &info); for (i = 0; i < m * n; i++) printf("%f", acopy[i]); return 0; } 来自 dgeqrf.f 源代码: * LWORK (input) INTEGER * The dimension of the array WORK. LWORK >= max(1,N). * For optimum performance LWORK >= N*NB, where NB is * the optimal blocksize. * * If LWORK = -1, then a workspace query is assumed; the routine * only calculates the optimal size of the WORK array, returns * this value as the first entry of the WORK array, and no error * message related to LWORK is issued by XERBLA. 因此,如果您想要最佳运行,您首先需要调用该函数并将“lwork”设置为-1,以获得“work”的最佳大小。

回答 1 投票 0

使用 CMake 检测 BLAS/LAPACK 供应商

所以我的代码希望在不同的 BLAS/LAPACK 供应商发生时包含不同的头文件。是否有任何预定义的宏或类似的东西让我检查它?

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.