【问题标题】:cholmod long version functions return null pointer — c programmingcholmod 长版本函数返回空指针 - c 编程
【发布时间】:2014-09-02 15:27:54
【问题描述】:

我正在使用通过 macports 安装的 SuiteSparse @4.2.1_3,并希望分配一个 cholmod_dense 结构。 考虑以下代码:

/* start CHOLMOD */
cholmod_common c;
cholmod_dense* myv;
cholmod_dense* myv2;

cholmod_start (&c);
myv  = cholmod_l_allocate_dense( 4,1,4,CHOLMOD_REAL,&c);
myv2 = cholmod_allocate_dense(4,1,4,CHOLMOD_REAL,&c);
printf("myv=%p\n",myv);
printf("myv2=%p\n",myv2);

/* finish CHOLMOD */
cholmod_finish (&c) ; 

我得到以下输出:

myv=0x0
myv2=0x7fb86ac0c060

这意味着在长版本中分配cholmod_dense 结构不起作用,但整数版本运行良好。 有谁知道发生这种情况的原因吗?

【问题讨论】:

    标签: c long-integer sparse-matrix null-pointer suitesparse


    【解决方案1】:

    你必须在cholmod_common结构c中设置正确的itype。

    c.itype=CHOLMOD_LONG;
    
    /* Common->itype and Common->dtype are used to define the types of all
     * sparse matrices, triplet matrices, dense matrices, and factors
     * created using this Common struct.  The itypes and dtypes of all
     * parameters to all CHOLMOD routines must match.  */
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 2021-03-23
      • 2012-02-26
      • 1970-01-01
      • 2020-04-29
      • 2015-08-05
      • 1970-01-01
      相关资源
      最近更新 更多