22#include <R_ext/Rdynload.h>
23#include <R_ext/Visibility.h>
28#define CALLDEF(name, n) {#name, (DL_FUNC) &name, n}
29#define EXTDEF(name, n) {#name, (DL_FUNC) &name, n}
30#define RREGDEF(name ) R_RegisterCCallable("Matrix", #name, (DL_FUNC) name)
284 R_useDynamicSymbols(info, FALSE);
291 RREGDEF(cholmod_allocate_dense);
292 RREGDEF(cholmod_allocate_sparse);
293 RREGDEF(cholmod_allocate_triplet);
297 RREGDEF(cholmod_change_factor);
303 RREGDEF(cholmod_dense_to_sparse);
304 RREGDEF(cholmod_factor_to_sparse);
318 RREGDEF(cholmod_sparse_to_dense);
319 RREGDEF(cholmod_sparse_to_triplet);
326 RREGDEF(cholmod_triplet_to_sparse);
SEXP dtCMatrix_diag(SEXP obj, SEXP op)
SEXP Csparse_dmperm(SEXP x, SEXP nans, SEXP seed)
SEXP dgCMatrix_qrsol(SEXP a, SEXP b, SEXP order)
SEXP dgCMatrix_lusol(SEXP a, SEXP b)
SEXP Csparse_writeMM(SEXP obj, SEXP file)
SEXP CsparseMatrix_validate_maybe_sorting(SEXP x)
SEXP dgCMatrix_cholsol(SEXP at, SEXP b)
SEXP R_DimNames_is_symmetric(SEXP dn)
SEXP R_set_factor(SEXP obj, SEXP nm, SEXP val, SEXP warn)
cholmod_dense * numeric_as_cholmod_dense(cholmod_dense *A, double *data, int nrow, int ncol)
Coerce from (double *) to (cholmod_dense *) with given dimensions.
SEXP cholmod_sparse_as_sexp(cholmod_sparse *A, int doFree, int ttype, int doLogic, const char *diagString, SEXP dimnames)
Coerce from (cholmod_sparse *) to CsparseMatrix.
int R_cholmod_start(cholmod_common *Common)
cholmod_factor * sexp_as_cholmod_factor(cholmod_factor *L, SEXP from)
Coerce from CHMfactor to (cholmod_factor *)
SEXP cholmod_dense_as_sexp(cholmod_dense *A, int doFree)
Coerce from (cholmod_dense *) to [dz]geMatrix.
int R_cholmod_finish(cholmod_common *Common)
cholmod_triplet * sexp_as_cholmod_triplet(cholmod_triplet *A, SEXP from, Rboolean checkUnit)
Coerce from TsparseMatrix to (cholmod_triplet *)
cholmod_dense * sexp_as_cholmod_dense(cholmod_dense *A, SEXP from)
Coerce from [nlidz]geMatrix or vector to (cholmod_dense *)
SEXP cholmod_triplet_as_sexp(cholmod_triplet *A, int doFree, int ttype, int doLogic, const char *diagString, SEXP dimnames)
Coerce from (cholmod_triplet *) to TsparseMatrix.
double cholmod_factor_ldetA(cholmod_factor *L)
Log determinant from Cholesky factorization.
SEXP R_cholmod_common_envini(SEXP rho)
cholmod_sparse * sexp_as_cholmod_sparse(cholmod_sparse *A, SEXP from, Rboolean checkUnit, Rboolean sortInPlace)
Coerce from CsparseMatrix to (cholmod_sparse *)
cholmod_factor * cholmod_factor_update(cholmod_factor *L, cholmod_sparse *A, double beta)
Update a Cholesky factorization.
SEXP cholmod_factor_as_sexp(cholmod_factor *L, int doFree)
Coerce from (cholmod_factor *) to CHMfactor.
SEXP R_diagonal_as_dense(SEXP from, SEXP kind, SEXP shape, SEXP packed, SEXP uplo)
SEXP R_diagonal_as_kind(SEXP from, SEXP kind)
SEXP R_sparse_as_general(SEXP from)
SEXP R_Matrix_as_packed(SEXP from)
SEXP R_vector_as_dense(SEXP from, SEXP zzz, SEXP uplo, SEXP diag, SEXP m, SEXP n, SEXP byrow, SEXP dimnames)
SEXP R_sparse_as_kind(SEXP from, SEXP kind)
SEXP R_Matrix_as_matrix(SEXP from)
SEXP R_dense_as_general(SEXP from)
SEXP R_sparse_as_dense(SEXP from, SEXP packed)
SEXP R_dense_as_packed(SEXP from, SEXP uplo, SEXP diag)
SEXP R_dense_as_sparse(SEXP from, SEXP repr)
SEXP R_Matrix_as_unpacked(SEXP from)
SEXP R_matrix_as_sparse(SEXP from, SEXP zzz, SEXP uplo, SEXP diag, SEXP trans)
SEXP R_Matrix_as_Rsparse(SEXP from)
SEXP R_vector_as_sparse(SEXP from, SEXP zzz, SEXP uplo, SEXP diag, SEXP m, SEXP n, SEXP byrow, SEXP dimnames)
SEXP R_sparse_as_Rsparse(SEXP from)
SEXP R_sparse_as_Tsparse(SEXP from)
SEXP R_Matrix_as_general(SEXP from, SEXP kind)
SEXP R_dense_as_kind(SEXP from, SEXP kind)
SEXP R_Matrix_as_vector(SEXP from)
SEXP R_index_as_kind(SEXP from, SEXP kind)
SEXP R_dense_as_unpacked(SEXP from)
SEXP R_Matrix_as_Csparse(SEXP from)
SEXP R_sparse_as_Csparse(SEXP from)
SEXP R_index_as_dense(SEXP from, SEXP kind)
SEXP R_diagonal_as_sparse(SEXP from, SEXP kind, SEXP shape, SEXP repr, SEXP uplo)
SEXP R_Matrix_as_Tsparse(SEXP from)
SEXP R_index_as_sparse(SEXP from, SEXP kind, SEXP repr)
SEXP R_matrix_as_dense(SEXP from, SEXP zzz, SEXP uplo, SEXP diag, SEXP trans)
SEXP R_Matrix_as_kind(SEXP from, SEXP kind, SEXP sparse)
SEXP R_dense_is_diagonal(SEXP obj)
SEXP R_dense_skewpart(SEXP from)
SEXP R_dense_transpose(SEXP from)
SEXP R_dense_diag_get(SEXP obj, SEXP names)
SEXP R_dense_is_triangular(SEXP obj, SEXP upper)
SEXP R_dense_is_symmetric(SEXP obj, SEXP checkDN)
SEXP R_dense_symmpart(SEXP from)
SEXP R_dense_band(SEXP from, SEXP k1, SEXP k2)
SEXP R_dense_marginsum(SEXP obj, SEXP margin, SEXP narm, SEXP mean)
SEXP R_dense_force_symmetric(SEXP from, SEXP uplo)
SEXP R_dense_diag_set(SEXP from, SEXP value)
SEXP R_dense_sum(SEXP obj, SEXP narm)
SEXP R_dense_prod(SEXP obj, SEXP narm)
SEXP denseLU_determinant(SEXP obj, SEXP logarithm)
SEXP sparseLU_determinant(SEXP obj, SEXP logarithm)
SEXP sparseQR_determinant(SEXP obj, SEXP logarithm)
SEXP Cholesky_determinant(SEXP obj, SEXP logarithm)
SEXP CHMfactor_determinant(SEXP obj, SEXP logarithm, SEXP sqrt)
SEXP BunchKaufman_determinant(SEXP obj, SEXP logarithm)
SEXP dgeMatrix_expm(SEXP x)
SEXP BunchKaufman_expand(SEXP obj, SEXP packed)
SEXP dgCMatrix_orf(SEXP obj, SEXP order, SEXP doError)
SEXP dgeMatrix_sch(SEXP x, SEXP vectors, SEXP isDGE)
SEXP CHMfactor_updown(SEXP obj, SEXP parent, SEXP update)
SEXP dppMatrix_trf(SEXP obj, SEXP warn)
SEXP dpoMatrix_trf(SEXP obj, SEXP warn, SEXP pivot, SEXP tol)
SEXP dpCMatrix_trf(SEXP obj, SEXP perm, SEXP ldl, SEXP super, SEXP mult)
SEXP CHMfactor_update(SEXP obj, SEXP parent, SEXP mult)
SEXP dsyMatrix_trf(SEXP obj, SEXP warn)
SEXP dgeMatrix_trf(SEXP obj, SEXP warn)
SEXP dgCMatrix_trf(SEXP obj, SEXP order, SEXP tol, SEXP doError)
SEXP dspMatrix_trf(SEXP obj, SEXP warn)
SEXP CHMfactor_diag_get(SEXP obj, SEXP square)
static const R_ExternalMethodDef ExtEntries[]
void attribute_visible R_init_Matrix(DllInfo *info)
static R_CallMethodDef CallEntries[]
void R_unload_Matrix(DllInfo *info)
SEXP dsyMatrix_rcond(SEXP obj, SEXP trf, SEXP type)
SEXP dspMatrix_norm(SEXP obj, SEXP type)
SEXP dtrMatrix_rcond(SEXP obj, SEXP type)
SEXP dtpMatrix_rcond(SEXP obj, SEXP type)
SEXP dpoMatrix_rcond(SEXP obj, SEXP trf, SEXP type)
SEXP dgeMatrix_norm(SEXP obj, SEXP type)
SEXP dppMatrix_rcond(SEXP obj, SEXP trf, SEXP type)
SEXP dsyMatrix_norm(SEXP obj, SEXP type)
SEXP dtpMatrix_norm(SEXP obj, SEXP type)
SEXP dgeMatrix_rcond(SEXP obj, SEXP trf, SEXP type)
SEXP dtrMatrix_norm(SEXP obj, SEXP type)
SEXP dspMatrix_rcond(SEXP obj, SEXP trf, SEXP type)
SEXP R_diagonal_matmult(SEXP x, SEXP y, SEXP xtrans, SEXP ytrans, SEXP boolean)
SEXP R_sparse_matmult(SEXP x, SEXP y, SEXP xtrans, SEXP ytrans, SEXP ztrans, SEXP boolean)
SEXP R_dense_matmult(SEXP x, SEXP y, SEXP xtrans, SEXP ytrans)
SEXP R_Matrix_repr(SEXP obj)
SEXP R_Matrix_kind(SEXP obj)
SEXP R_Matrix_shape(SEXP obj)
SEXP R_Matrix_nonvirtual(SEXP obj, SEXP strict)
SEXP R_invertPerm(SEXP p, SEXP off, SEXP ioff)
SEXP R_isPerm(SEXP p, SEXP off)
SEXP R_asPerm(SEXP p, SEXP off, SEXP ioff, SEXP n)
SEXP R_signPerm(SEXP p, SEXP off)
SEXP BunchKaufman_solve(SEXP a, SEXP b)
SEXP Cholesky_solve(SEXP a, SEXP b)
SEXP dtCMatrix_solve(SEXP a, SEXP b, SEXP sparse)
SEXP CHMfactor_solve(SEXP a, SEXP b, SEXP sparse, SEXP system)
SEXP sparseLU_solve(SEXP a, SEXP b, SEXP sparse)
SEXP sparseQR_matmult(SEXP qr, SEXP y, SEXP op, SEXP complete, SEXP yxjj)
SEXP denseLU_solve(SEXP a, SEXP b)
SEXP dtrMatrix_solve(SEXP a, SEXP b)
SEXP R_sparse_band(SEXP from, SEXP k1, SEXP k2)
SEXP R_sparse_is_diagonal(SEXP obj)
SEXP R_sparse_skewpart(SEXP from)
SEXP R_sparse_diag_U2N(SEXP from)
SEXP R_sparse_diag_N2U(SEXP from)
SEXP R_sparse_transpose(SEXP from, SEXP lazy)
SEXP R_sparse_drop0(SEXP from, SEXP tol)
SEXP R_sparse_sum(SEXP obj, SEXP narm)
SEXP R_sparse_force_symmetric(SEXP from, SEXP uplo)
SEXP R_sparse_prod(SEXP obj, SEXP narm)
SEXP R_sparse_is_triangular(SEXP obj, SEXP upper)
SEXP R_sparse_symmpart(SEXP from)
SEXP R_sparse_diag_set(SEXP from, SEXP value)
SEXP R_sparse_diag_get(SEXP obj, SEXP names)
SEXP Tsparse_aggregate(SEXP from)
SEXP R_sparse_is_symmetric(SEXP obj, SEXP checkDN)
SEXP R_sparse_marginsum(SEXP obj, SEXP margin, SEXP narm, SEXP mean, SEXP sparse)
SEXP dCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP lCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP zCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP nCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP iCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP R_subscript_2ary(SEXP x, SEXP i, SEXP j)
SEXP R_subscript_1ary(SEXP x, SEXP i)
SEXP R_subscript_1ary_mat(SEXP x, SEXP i)
SEXP m_encodeInd2(SEXP i, SEXP j, SEXP di, SEXP orig_1, SEXP chk_bnds)
Encode Matrix index (i,j) |--> i + j * nrow {i,j : 0-origin}.
SEXP R_index_diagonal(SEXP n, SEXP packed, SEXP upper)
SEXP R_nnz(SEXP x, SEXP countNA, SEXP nnzmax)
SEXP compressed_non_0_ij(SEXP x, SEXP colP)
Return a 2 column matrix '' cbind(i, j) '' of 0-origin index vectors (i,j) which entirely correspond ...
SEXP R_Matrix_version(void)
SEXP m_encodeInd(SEXP ij, SEXP di, SEXP orig_1, SEXP chk_bnds)
Encode Matrix index (i,j) |--> i + j * nrow {i,j : 0-origin}.
SEXP R_index_triangle(SEXP n, SEXP packed, SEXP upper, SEXP diag)
SEXP Matrix_expand_pointers(SEXP pP)
SEXP Matrix_rle_i(SEXP, SEXP)
SEXP Matrix_rle_d(SEXP, SEXP)
SEXP triangularMatrix_validate(SEXP obj)
SEXP MatrixFactorization_validate(SEXP obj)
SEXP CHMfactor_validate(SEXP obj)
SEXP symmetricMatrix_validate(SEXP obj)
SEXP tCMatrix_validate(SEXP obj)
SEXP CHMsuper_validate(SEXP obj)
SEXP TsparseMatrix_validate(SEXP obj)
SEXP corMatrix_validate(SEXP obj)
SEXP pMatrix_validate(SEXP obj)
SEXP RsparseMatrix_validate(SEXP obj)
SEXP xgCMatrix_validate(SEXP obj)
SEXP diagonalMatrix_validate(SEXP obj)
SEXP copMatrix_validate(SEXP obj)
SEXP tRMatrix_validate(SEXP obj)
SEXP Schur_validate(SEXP obj)
SEXP sCMatrix_validate(SEXP obj)
SEXP CHMsimpl_validate(SEXP obj)
SEXP sparseQR_validate(SEXP obj)
SEXP BunchKaufman_validate(SEXP obj)
SEXP sparseVector_validate(SEXP obj)
SEXP packedMatrix_validate(SEXP obj)
SEXP sRMatrix_validate(SEXP obj)
SEXP xgRMatrix_validate(SEXP obj)
SEXP R_Dim_validate(SEXP dim)
SEXP sparseLU_validate(SEXP obj)
SEXP xsTMatrix_validate(SEXP obj)
SEXP Matrix_validate(SEXP obj)
SEXP R_DimNames_fixup(SEXP dimnames)
SEXP xtCMatrix_validate(SEXP obj)
SEXP dpoMatrix_validate(SEXP obj)
SEXP R_DimNames_validate(SEXP dimnames, SEXP dim)
SEXP dCHMsuper_validate(SEXP obj)
SEXP xgTMatrix_validate(SEXP obj)
SEXP unpackedMatrix_validate(SEXP obj)
SEXP generalMatrix_validate(SEXP obj)
SEXP xtTMatrix_validate(SEXP obj)
SEXP xsRMatrix_validate(SEXP obj)
SEXP CsparseMatrix_validate(SEXP obj)
SEXP tTMatrix_validate(SEXP obj)
SEXP pBunchKaufman_validate(SEXP obj)
SEXP xtRMatrix_validate(SEXP obj)
SEXP indMatrix_validate(SEXP obj)
SEXP denseLU_validate(SEXP obj)
SEXP dppMatrix_validate(SEXP obj)
SEXP dCHMsimpl_validate(SEXP obj)
SEXP pCholesky_validate(SEXP obj)
SEXP sTMatrix_validate(SEXP obj)
SEXP Cholesky_validate(SEXP obj)
SEXP xsCMatrix_validate(SEXP obj)
SEXP lsparseVector_validate(SEXP)
SEXP zMatrix_validate(SEXP)
SEXP isparseVector_validate(SEXP)
SEXP dMatrix_validate(SEXP)
SEXP nMatrix_validate(SEXP)
SEXP lMatrix_validate(SEXP)
SEXP zsparseVector_validate(SEXP)
SEXP iMatrix_validate(SEXP)
SEXP dsparseVector_validate(SEXP)