-
大小: 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?????{
????????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
- 上一篇:北郵信通微機原理軟件實驗代碼包
- 下一篇:手機號過濾去重工具源碼
評論
共有 條評論