• 大小: 0.02M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 标签: SuiteSparse  矩阵  

资源简介

SuiteSparse是世界上最优秀的系数矩阵处理工程之一。但是SuiteSparse提供的官方代码仅包含在matlab、linux环境下编译的生成文件,不能生成在windows操作系统下VS环境下的C 库函数。本文件包括一个库函数cs.cpp和一个头文件cs.h,其中的代码是移植自SuiteSparse官方代码中的Csparse原始代码,功能包括除了复数矩阵以外的所有功能,已成功在vs2010的c 环境下执行过,在毕业设计中用于求解超大型稀疏矩阵的线性方程组(也就是大型稀疏矩阵的除法)。以下是SuiteSparse的介绍。 SuiteSparse是一组C、Fortran和MATLAB函数集,用来生成空间稀疏矩阵数据。在SuiteSparse中几何多种稀疏 矩阵的处理方法,包括矩阵的LU分解,QR分解,Cholesky分解,提供了解非线性方程组、实现最小二乘法等多种函数代码。

资源截图

代码片段和文件信息

#include “cs.h“
#include 

#include 


/* C = alpha*A + beta*B */
cs *cs_add (const cs *A const cs *B double alpha double beta)
{
    int p j nz = 0 anz *Cp *Ci *Bp m n bnz *w values ;
    double *x *Bx *Cx ;
    cs *C ;
    if (!CS_CSC (A) || !CS_CSC (B)) return (NULL) ;         /* check inputs */
    if (A->m != B->m || A->n != B->n) return (NULL) ;
    m = A->m ; anz = A->p [A->n] ;
    n = B->n ; Bp = B->p ; Bx = B->x ; bnz = Bp [n] ;
    w = (int *)cs_calloc (m sizeof (int)) ;                       /* get workspace */
    values = (A->x != NULL) && (Bx != NULL) ;
    x = values ? (double *)cs_malloc (m sizeof (double)) : NULL ;    /* get workspace */
    C = cs_spalloc (m n anz + bnz values 0) ;           /* allocate result*/
    if (!C || !w || (values && !x)) return (cs_done (C w x 0)) ;
    Cp = C->p ; Ci = C->i ; Cx = C->x ;
    for (j = 0 ; j < n ; j++)
    {
        Cp [j] = nz ;                   /* column j of C starts here */

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      86791  2013-05-06 01:45  cs.cpp

     文件       6125  2013-05-06 01:33  cs.h

----------- ---------  ---------- -----  ----

                92916                    2


评论

共有 条评论