suitesparse

    4热度

    1回答

    任何人都可以请给我一个简单的例子,说明如何使用CHOLMOD将元素添加到三元组矩阵。 我已经试过这样的事情: cholmod_triplet *A; int k; void add_A_entry(int r, int c, double x) { ((int*)A->i)[k] = r; ((int*)A->j)[k] = c; ((double*)A->x

    4热度

    2回答

    在SparseSuiteQR中,我可以找到的所有示例都使用stdin或读取的文件来创建稀疏矩阵。有人能提供一个简单的例子来说明如何直接在C++中创建一个? 更好的是,在CHOLMOD文档中,提到了matlab中可用的sparse2函数,它的行为与稀疏相同。这可以在C++中使用吗?

    1热度

    2回答

    一段时间以来,我试图从SuiteSparse创建一个静态CHOLMOD库每个其他库(f.ex.Umfpack)都可以很容易地从IDE编译(我使用的是Code :: Blocks在Linux和Windows上的Visual Studio)。然而试图编译CHOLMOD当我像一堆语法错误: t_cholmod_triplet.c(21): error C2061: syntax error : iden

    2热度

    1回答

    我在SuiteSparse中使用CHOLMOD来分解NNN大的对角矩阵相对稀疏,即它只包含几个非零的对角线。矩阵的稀疏性由协方差长度参数l设置。较大的非零对角线元素数量较多。 当l变大并且许多元素不为零时,超级节点CHOLMOD因式分解突然开始失败,并显示错误消息“CHOLMOD warning:matrix not positive definite。”。从一个单独的Python实现检查数学,我

    0热度

    1回答

    我正尝试使用CHOLMOD和SuiteSparse 4.4.4中的CUDA加速。我根据用户指南进行编译,我可以在Demo文件夹下成功运行gpu.sh,这表明GPU正在完成部分工作。但是,当我尝试使用CHOLMOD来运行我自己的代码时,我发现GPU调用的数量始终为0.我将Common->useGPU设置为1,环境变量CHOLMOD_USE_GPU也设置为1.我的Makefile如下所示。库路径是正确

    0热度

    1回答

    我试图使用Tim Davis的CXSparse库(http://faculty.cse.tamu.edu/davis/suitesparse.html)解决线性方程系统x = A \ b。我在Windows 7 x64上使用MS Visual Studio 2012开发我的C++程序(使用OpenCV)。 我有一个矩阵,它是一个稀疏矩阵和b矩阵。我想找到x = A \ b。我的矩阵大小为〜700,

    1热度

    1回答

    我做了这样一个小例子下: solver.h #pragma once #include <Eigen/Dense> #include <Eigen/Sparse> #include <Eigen/CholmodSupport> typedef Eigen::SparseMatrix<double> SpMat; class UseCholmodSolver { publ

    1热度

    1回答

    我一直在使用CHOLMOD来将矩阵A分解并求解系统Ax = b,其中A是由cholmod_ones函数创建的Hessian矩阵(如下所示)和b = [1,1,1]。 不幸的是,x的解决方案不正确(应该是[1.5,2.0,1.5]),并确认我然后将A和x相乘并且不会得到[1,1,1]。我不太明白我做错了什么。 此外,我已经看过因素和矩阵元素的值也没有意义。 输出 Hessian: 2.00

    0热度

    1回答

    我有一个cholmod_dense数据结构: cholmod_dense* ex = cholmod_l_solve(CHOLMOD_A, L, B, &com); 和我要提取的值,并将它们复制到另一个变量。这意味着我需要索引到双数组并复制值。 for (int k=0; k<ncols; k++) T_x[k]=((double*)ex->x)[k]; 哪个编译器可以,但我得到一个分段错误。

    1热度

    1回答

    我最近安装了Cholmod以便在一些C++代码中执行稀疏胆固醇分解。我想然后使用分解来计算矩阵逆(I有以下问题: d^T . (A^-1 + B^-1)^-1 . d 其中d是一个矢量^T表示转置,A和B是稀疏) 其中I想要计算B的实际逆,然后就可以线性求解涉及和的解。调用它的代码如下: cholmod_common Common, *cm ; cm = &Common ; cholmod