/* ========================================================================== */
/* === Include/cholmod_core.h =============================================== */
/* ========================================================================== */
/* -----------------------------------------------------------------------------
* CHOLMOD/Include/cholmod_core.h.
* Copyright (C) 2005-2013, Univ. of Florida. Author: Timothy A. Davis
* -------------------------------------------------------------------------- */
/* CHOLMOD Core module: basic CHOLMOD objects and routines.
* Required by all CHOLMOD modules. Requires no other module or package.
*
* The CHOLMOD modules are:
*
* Core basic data structures and definitions
* Check check/print the 5 CHOLMOD objects, & 3 types of integer vectors
* Cholesky sparse Cholesky factorization
* Modify sparse Cholesky update/downdate/row-add/row-delete
* MatrixOps sparse matrix functions (add, multiply, norm, ...)
* Supernodal supernodal sparse Cholesky factorization
* Partition graph-partitioning based orderings
*
* The CHOLMOD objects:
* --------------------
*
* cholmod_common parameters, statistics, and workspace
* cholmod_sparse a sparse matrix in compressed column form
* cholmod_factor an LL' or LDL' factorization
* cholmod_dense a dense matrix
* cholmod_triplet a sparse matrix in "triplet" form
*
* The Core module described here defines the CHOLMOD data structures, and
* basic operations on them. To create and solve a sparse linear system Ax=b,
* the user must create A and b, populate them with values, and then pass them
* to the routines in the CHOLMOD Cholesky module. There are two primary
* methods for creating A: (1) allocate space for a column-oriented sparse
* matrix and fill it with pattern and values, or (2) create a triplet form
* matrix and convert it to a sparse matrix. The latter option is simpler.
*
* The matrices b and x are typically dense matrices, but can also be sparse.
* You can allocate and free them as dense matrices with the
* cholmod_allocate_dense and cholmod_free_dense routines.
*
* The cholmod_factor object contains the symbolic and numeric LL' or LDL'
* factorization of sparse symmetric matrix. The matrix must be positive
* definite for an LL' factorization. It need only be symmetric and have well-
* conditioned leading submatrices for it to have an LDL' factorization
* (CHOLMOD does not pivot for numerical stability). It is typically created
* with the cholmod_factorize routine in the Cholesky module, but can also
* be initialized to L=D=I in the Core module and then modified by the Modify
* module. It must be freed with cholmod_free_factor, defined below.
*
* The Core routines for each object are described below. Each list is split
* into two parts: the primary routines and secondary routines.
*
* ============================================================================
* === cholmod_common =========================================================
* ============================================================================
*
* The Common object contains control parameters, statistics, and
* You must call cholmod_start before calling any other CHOLMOD routine, and
* must call cholmod_finish as your last call to CHOLMOD, with two exceptions:
* you may call cholmod_print_common and cholmod_check_common in the Check
* module after calling cholmod_finish.
*
* cholmod_start first call to CHOLMOD
* cholmod_finish last call to CHOLMOD
* -----------------------------
* cholmod_defaults restore default parameters
* cholmod_maxrank maximum rank for update/downdate
* cholmod_allocate_work allocate workspace in Common
* cholmod_free_work free workspace in Common
* cholmod_clear_flag clear Flag workspace in Common
* cholmod_error called when CHOLMOD encounters an error
* cholmod_dbound for internal use in CHOLMOD only
* cholmod_hypot compute sqrt (x*x + y*y) accurately
* cholmod_divcomplex complex division, c = a/b
*
* ============================================================================
* === cholmod_sparse =========================================================
* ============================================================================
*
* A sparse matrix is held in compressed column form. In the basic type
* ("packed", which corresponds to a MATLAB sparse matrix), an n-by-n matrix
* with nz entries is held in three arrays: p of size n+1, i of size nz, and x
* of size nz. Row indices of column j are held in i [p [j] ... p [j+1]-1] and
* in the same locations in x. There may be no duplicate entries in a column.
* Row indices in each column may be sorted or unsorted (CHOLMOD keeps track).
* A->stype determines the storage mode: 0 if both upper/lower parts are stored,
* -1 if A is symmetric and just tril(A) is stored, +1 if symmetric and triu(A)
* is stored.
*
* cholmod_allocate_sparse allocate a sparse matrix
* cholmod_free_sparse free a sparse matrix
* -----------------------------
* cholmod_reallocate_sparse change the size (# entries) of sparse matrix
* cholmod_nnz number of nonzeros in a sparse matrix
* cholmod_speye sparse identity matrix
* cholmod_spzeros sparse zero matrix
* cholmod_transpose transpose a sparse matrix
* cholmod_ptranspose transpose/permute a sparse matrix
* cholmod_transpose_unsym transpose/permute an unsymmetric sparse matrix
* cholmod_transpose_sym transpose/permute a symmetric sparse matrix
* cholmod_sort sort row indices in each column of sparse matrix
* cholmod_band C = tril (triu (A,k1), k2)
* cholmod_band_inplace A = tril (triu (A,k1), k2)
* cholmod_aat C = A*A'
* cholmod_copy_sparse C = A, create an exact copy of a sparse matrix
* cholmod_copy C = A, with possible change of stype
* cholmod_add C = alpha*A + beta*B
* cholmod_sparse_xtype change the xtype of a sparse matrix
*
* ============================================================================
* === cholmod_factor =========================================================
* ============================================================================
*
* The data structure for an LL' or LDL' factorization is too complex to
* describe in one sentence. This object can hold the symbolic analysis alone,
* or in combination with a "simplicial" (similar to a sparse matrix) or
* "supernodal" form of the numerical factorization. Only the routine to free
* a factor is primary, since a factor object is created by the factorization
* routine (cholmod_factorize). It must be freed with cholmod_free_factor.
*
* cholmod_free_factor free a factor
* -----------------------------
* cholmod_allocate_factor allocate a factor (LL' or LDL')
* cholmod_reallocate_factor change the # entries in a factor
* cholmod_change_factor change the type of factor (e.g., LDL' to LL')
* cholmod_pack_factor pack the columns of a factor
* cholmod_reallocate_column resize a single column of a factor
* cholmod_factor_to_sparse create a sparse matrix copy of a factor
* cholmod_copy_factor create a copy of a factor
* cholmod_factor_xtype change the xtype of a factor
*
* Note that there is no cholmod_sparse_to_factor routine to create a factor
* as a copy of a sparse matrix. It could be done, after a fashion, but a
* lower triangular sparse matrix would not necessarily have a chordal graph,
* which would break the many CHOLMOD routines that rely on this property.
*
* ============================================================================
* === cholmod_dense ==========================================================
* ============================================================================
*
* The solve routines and some of the MatrixOps and Modify routines use dense
* matrices as inputs. These ar
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
cholmod-1.5-win-x64 Release Include及Lib库上传 windows 10 64位环境 cholmod1.5版本 Release环境 Include头文件 Lib依赖库文件 用于稀疏矩阵计算, 用于影像镶嵌底层库 用户opencv249底层调用 支持影像镶嵌 ImageMosaicing 64位环境
资源推荐
资源详情
资源评论
收起资源包目录
cholmod-1.5-win-x64 release.rar (85个子文件)
cholmod-1.5-win-x64 release
Include
SuiteSparseQR_definitions.h 3KB
cholmod_partition.h 7KB
umfpack_tictoc.h 1KB
umfpack_save_numeric.h 2KB
umfpack_report_info.h 3KB
umfpack_numeric.h 23KB
cholmod.h 4KB
umfpack_report_triplet.h 5KB
amd.h 18KB
colamd.h 8KB
umfpack_timer.h 849B
cholmod_complexity.h 9KB
umfpack_load_symbolic.h 3KB
umfpack_transpose.h 8KB
cholmod_modify.h 14KB
btf_internal.h 1KB
camd.h 17KB
cholmod_core.h 103KB
amd_internal.h 8KB
klu.h 30KB
umfpack_save_symbolic.h 2KB
umfpack.h 18KB
umfpack_report_numeric.h 4KB
cholmod_check.h 15KB
umfpack_report_symbolic.h 4KB
klu_version.h 20KB
btf.h 12KB
umfpack_report_vector.h 5KB
umfpack_free_symbolic.h 2KB
umfpack_get_determinant.h 6KB
SuiteSparseQR_C.h 10KB
cholmod_function.h 7KB
spqr.hpp 35KB
cholmod_cholesky.h 23KB
umfpack_free_numeric.h 2KB
cs.h 33KB
umfpack_symbolic.h 22KB
ldl.h 4KB
spqrgpu.hpp 3KB
umfpack_wsolve.h 6KB
cholmod_camd.h 3KB
ccolamd.h 11KB
cholmod_template.h 10KB
camd_internal.h 8KB
cholmod_internal.h 14KB
klu_internal.h 7KB
umfpack_global.h 617B
umfpack_get_symbolic.h 13KB
SuiteSparseQR.hpp 27KB
umfpack_get_numeric.h 9KB
SuiteSparse_config.h 8KB
umfpack_qsymbolic.h 8KB
cholmod_matrixops.h 8KB
umfpack_triplet_to_col.h 11KB
umfpack_report_matrix.h 7KB
cholmod_config.h 3KB
umfpack_solve.h 11KB
umfpack_col_to_triplet.h 4KB
umfpack_load_numeric.h 3KB
cholmod_supernodal.h 6KB
umfpack_report_control.h 2KB
umfpack_scale.h 3KB
cholmod_gpu.h 2KB
cholmod_io64.h 1KB
umfpack_defaults.h 2KB
umfpack_report_status.h 3KB
umfpack_report_perm.h 4KB
cholmod_gpu_kernels.h 2KB
umfpack_get_lunz.h 4KB
cholmod_blas.h 14KB
Lib
Release
libklu.lib 448KB
suitesparseconfig.lib 6KB
metis.lib 1.22MB
libcamd.lib 86KB
libcxsparse.lib 317KB
libamd.lib 82KB
libcholmod.lib 2.13MB
liblapack.lib 246KB
libumfpack.lib 1.76MB
libblas.lib 25KB
libspqr.lib 2.85MB
libcolamd.lib 58KB
libldl.lib 22KB
libbtf.lib 15KB
libccolamd.lib 75KB
共 85 条
- 1
资源评论
Freedom3568
- 粉丝: 2646
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功