2#include <R_ext/Rdynload.h>
3#include <R_ext/Visibility.h>
165SEXP
R_asPerm(SEXP, SEXP, SEXP, SEXP);
220SEXP
R_nnz(SEXP, SEXP, SEXP);
294#define CALL_METHOD(name, n) {#name, (DL_FUNC) &name, n}
295#define EXTERNAL_METHOD(name, n) {#name, (DL_FUNC) &name, n}
296#define REGISTER(name ) R_RegisterCCallable("Matrix", #name, (DL_FUNC) name)
648 R_useDynamicSymbols(info, FALSE);
689 REGISTER(cholmod_sparse_to_triplet);
696 REGISTER(cholmod_triplet_to_sparse);
cholmod_dense * numeric_as_cholmod_dense(cholmod_dense *A, double *data, int nrow, int ncol)
Coerce from (double *) to (cholmod_dense *) with given dimensions.
cholmod_triplet * sexp_as_cholmod_triplet(cholmod_triplet *A, SEXP from, Rboolean allocUnit)
Coerce from TsparseMatrix to (cholmod_triplet *)
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.
cholmod_factor * sexp_as_cholmod_factor(cholmod_factor *L, SEXP from)
Coerce from sparseCholesky to (cholmod_factor *)
SEXP cholmod_dense_as_sexp(cholmod_dense *A, int doFree)
Coerce from (cholmod_dense *) to [dz]geMatrix.
cholmod_dense * sexp_as_cholmod_dense(cholmod_dense *A, SEXP from)
Coerce from .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.
cholmod_sparse * sexp_as_cholmod_sparse(cholmod_sparse *A, SEXP from, Rboolean allocUnit, Rboolean sortInPlace)
Coerce from [CR]sparseMatrix 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 sparseCholesky.
int Matrix_cholmod_start(cholmod_common *Common)
int Matrix_cholmod_finish(cholmod_common *Common)
SEXP R_dense_bunchkaufman(SEXP, SEXP, SEXP, SEXP)
SEXP symmetricMatrix_validate(SEXP)
SEXP R_index_as_dense(SEXP, SEXP)
SEXP R_dense_skewpart(SEXP, SEXP)
SEXP lsparseVector_validate(SEXP)
SEXP R_dense_transpose(SEXP, SEXP)
SEXP packedMatrix_validate(SEXP)
SEXP R_sparse_transpose(SEXP, SEXP, SEXP)
SEXP indMatrix_validate(SEXP)
SEXP syMatrix_norm(SEXP, SEXP)
SEXP dCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP R_dense_is_triangular(SEXP, SEXP)
SEXP tpMatrix_rcond(SEXP, SEXP)
SEXP R_dense_diag_get(SEXP, SEXP)
SEXP sparseLU_solve(SEXP, SEXP, SEXP)
SEXP ppMatrix_rcond(SEXP, SEXP, SEXP)
SEXP R_sparse_diag_U2N(SEXP)
SEXP tCMatrix_solve(SEXP, SEXP, SEXP)
SEXP R_vector_as_dense(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP compressed_non_0_ij(SEXP, SEXP)
Return a 2 column matrix '' cbind(i, j) '' of 0-origin index vectors (i,j) which entirely correspond ...
SEXP R_dense_band(SEXP, SEXP, SEXP)
SEXP trMatrix_solve(SEXP, SEXP)
SEXP xpCMatrix_validate(SEXP)
SEXP CsparseMatrix_validate(SEXP)
SEXP TsparseMatrix_validate(SEXP)
SEXP denseBunchKaufman_validate(SEXP)
SEXP lCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP poMatrix_rcond(SEXP, SEXP, SEXP)
SEXP R_DimNames_is_symmetric(SEXP)
SEXP R_diagonal_matmult(SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP R_dense_is_canonical(SEXP)
SEXP R_diagonal_as_sparse(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP denseBunchKaufman_determinant(SEXP, SEXP)
SEXP supernodalCholesky_validate(SEXP)
SEXP diagonalMatrix_validate(SEXP)
SEXP sRMatrix_validate(SEXP)
SEXP tpMatrix_norm(SEXP, SEXP)
SEXP R_dense_marginsum(SEXP, SEXP, SEXP, SEXP)
SEXP R_set_factor(SEXP, SEXP, SEXP, SEXP)
SEXP R_sparse_diag_N2U(SEXP)
SEXP denseCholesky_validate(SEXP)
SEXP R_Matrix_class(SEXP, SEXP)
SEXP zMatrix_validate(SEXP)
SEXP denseBunchKaufman_solve(SEXP, SEXP)
SEXP xpTMatrix_validate(SEXP)
SEXP sparseCholesky_updown(SEXP, SEXP, SEXP)
SEXP R_sparse_band(SEXP, SEXP, SEXP)
SEXP sparseQR_determinant(SEXP, SEXP)
SEXP R_diagonal_as_kind(SEXP, SEXP)
SEXP m_encodeInd(SEXP, SEXP, SEXP, SEXP)
Encode Matrix index (i,j) |--> i + j * nrow {i,j : 0-origin}.
SEXP denseLU_validate(SEXP)
SEXP R_index_triangle(SEXP, SEXP, SEXP, SEXP)
SEXP sparseVector_validate(SEXP)
SEXP denseBunchKaufman_expand(SEXP)
SEXP xtRMatrix_validate(SEXP)
SEXP R_sparse_qr(SEXP, SEXP, SEXP)
SEXP R_vector_as_Vector(SEXP, SEXP)
SEXP R_matrix_as_sparse(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP xsCMatrix_validate(SEXP)
SEXP R_index_diagonal(SEXP, SEXP, SEXP)
SEXP denseSchur_validate(SEXP)
SEXP R_Matrix_as_Vector(SEXP)
SEXP R_dense_prod(SEXP, SEXP)
SEXP R_diagonal_as_dense(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP geMatrix_rcond(SEXP, SEXP, SEXP)
SEXP unpackedMatrix_validate(SEXP)
SEXP R_dense_as_packed(SEXP, SEXP, SEXP, SEXP)
SEXP R_dense_symmpart(SEXP, SEXP, SEXP)
SEXP R_sparse_symmpart(SEXP, SEXP, SEXP)
SEXP xsRMatrix_validate(SEXP)
SEXP R_Matrix_as_vector(SEXP)
SEXP R_asPerm(SEXP, SEXP, SEXP, SEXP)
SEXP Matrix_rle_i(SEXP, SEXP)
SEXP dgCMatrix_qrsol(SEXP, SEXP, SEXP)
SEXP R_dense_as_sparse(SEXP, SEXP)
SEXP triangularMatrix_validate(SEXP)
SEXP R_isPerm(SEXP, SEXP)
SEXP R_subscript_1ary_2col(SEXP, SEXP, SEXP)
SEXP m_encodeInd2(SEXP, SEXP, SEXP, SEXP, SEXP)
Encode Matrix index (i,j) |--> i + j * nrow {i,j : 0-origin}.
SEXP trMatrix_norm(SEXP, SEXP)
SEXP xsTMatrix_validate(SEXP)
SEXP dtCMatrix_diag(SEXP, SEXP)
SEXP generalMatrix_validate(SEXP)
SEXP R_sparse_sum(SEXP, SEXP)
SEXP R_sparse_skewpart(SEXP, SEXP)
SEXP R_dense_cholesky(SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP R_Matrix_as_packed(SEXP)
void attribute_visible R_init_Matrix(DllInfo *info)
SEXP MatrixFactorization_validate(SEXP)
SEXP dgCMatrix_cholsol(SEXP, SEXP)
SEXP denseCholesky_determinant(SEXP, SEXP)
SEXP sparseCholesky_diag_get(SEXP, SEXP)
SEXP pMatrix_validate(SEXP)
SEXP tTMatrix_validate(SEXP)
SEXP R_subscript_2ary(SEXP, SEXP, SEXP)
#define EXTERNAL_METHOD(name, n)
SEXP R_sparse_is_symmetric(SEXP, SEXP, SEXP, SEXP)
SEXP denseCholesky_solve(SEXP, SEXP)
SEXP R_dense_diag_set(SEXP, SEXP)
SEXP trMatrix_rcond(SEXP, SEXP)
SEXP R_index_as_sparse(SEXP, SEXP, SEXP)
SEXP R_DimNames_validate(SEXP, SEXP)
SEXP geMatrix_norm(SEXP, SEXP)
SEXP R_sparse_as_Rsparse(SEXP)
SEXP R_Matrix_as_matrix(SEXP)
SEXP sparseQR_matmult(SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP sCMatrix_validate(SEXP)
SEXP R_sparse_matmult(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP R_dense_as_general(SEXP)
SEXP sparseCholesky_determinant(SEXP, SEXP, SEXP)
SEXP R_sparse_is_diagonal(SEXP)
SEXP R_nnz(SEXP, SEXP, SEXP)
SEXP R_Vector_as_sparse(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP isparseVector_validate(SEXP)
SEXP R_Matrix_version(void)
SEXP R_dense_is_diagonal(SEXP)
SEXP R_sparse_marginsum(SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP sTMatrix_validate(SEXP)
SEXP R_diagonal_as_Vector(SEXP)
SEXP zCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP nCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP R_sparse_prod(SEXP, SEXP)
SEXP R_sparse_aggregate(SEXP)
SEXP R_dense_sum(SEXP, SEXP)
SEXP xtCMatrix_validate(SEXP)
SEXP R_Matrix_as_kind(SEXP, SEXP, SEXP)
SEXP Csparse_writeMM(SEXP, SEXP)
SEXP R_sparse_is_canonical(SEXP)
SEXP Matrix_validate(SEXP)
SEXP R_sparse_as_Csparse(SEXP)
SEXP R_dense_as_unpacked(SEXP)
SEXP corMatrix_validate(SEXP)
SEXP RsparseMatrix_validate(SEXP)
SEXP dMatrix_validate(SEXP)
SEXP R_sparse_as_Tsparse(SEXP)
SEXP sparseCholesky_update(SEXP, SEXP, SEXP)
SEXP denseCholesky_diag_get(SEXP, SEXP)
SEXP R_sparse_diag_get(SEXP, SEXP)
SEXP R_matrix_as_dense(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP R_dense_as_kind(SEXP, SEXP)
SEXP R_Matrix_as_unpacked(SEXP)
#define CALL_METHOD(name, n)
SEXP R_dense_force_symmetric(SEXP, SEXP, SEXP)
SEXP syMatrix_rcond(SEXP, SEXP, SEXP)
SEXP R_Dim_validate(SEXP)
SEXP xgCMatrix_validate(SEXP)
SEXP nMatrix_validate(SEXP)
SEXP R_dense_force_canonical(SEXP, SEXP)
SEXP lMatrix_validate(SEXP)
SEXP iCsparse_subassign(SEXP, SEXP, SEXP, SEXP)
SEXP zsparseVector_validate(SEXP)
SEXP dgCMatrix_lusol(SEXP, SEXP)
SEXP R_invertPerm(SEXP, SEXP, SEXP)
SEXP denseLU_determinant(SEXP, SEXP)
SEXP sparseLU_determinant(SEXP, SEXP)
SEXP R_sparse_as_Vector(SEXP)
SEXP simplicialCholesky_validate(SEXP)
SEXP copMatrix_validate(SEXP)
SEXP R_Matrix_as_Tsparse(SEXP)
SEXP tCMatrix_validate(SEXP)
SEXP R_Matrix_as_Csparse(SEXP)
SEXP R_dense_matmult(SEXP, SEXP, SEXP, SEXP)
SEXP R_sparse_is_triangular(SEXP, SEXP)
SEXP sparseCholesky_solve(SEXP, SEXP, SEXP, SEXP)
SEXP R_sparse_as_general(SEXP)
SEXP R_Matrix_as_general(SEXP, SEXP)
SEXP tRMatrix_validate(SEXP)
SEXP R_index_as_kind(SEXP, SEXP)
SEXP iMatrix_validate(SEXP)
SEXP xgRMatrix_validate(SEXP)
SEXP R_dense_lu(SEXP, SEXP)
SEXP R_sparse_cholesky(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)
SEXP R_Matrix_as_Rsparse(SEXP)
SEXP R_sparse_as_dense(SEXP, SEXP)
SEXP sparseCholesky_validate(SEXP)
SEXP R_signPerm(SEXP, SEXP)
SEXP R_sparse_force_symmetric(SEXP, SEXP, SEXP)
static R_CallMethodDef CallMethodTable[]
SEXP Matrix_expand_pointers(SEXP)
SEXP xgTMatrix_validate(SEXP)
SEXP R_sparse_diag_set(SEXP, SEXP)
static const R_ExternalMethodDef ExternalMethodTable[]
SEXP R_DimNames_fixup(SEXP)
SEXP denseLU_solve(SEXP, SEXP)
SEXP xpRMatrix_validate(SEXP)
SEXP xppMatrix_validate(SEXP)
SEXP spMatrix_norm(SEXP, SEXP)
SEXP denseQR_validate(SEXP)
void R_unload_Matrix(DllInfo *info)
SEXP R_sparse_as_kind(SEXP, SEXP)
SEXP dsparseVector_validate(SEXP)
SEXP R_Matrix_shape(SEXP, SEXP)
SEXP R_index_as_Vector(SEXP)
SEXP R_sparse_lu(SEXP, SEXP, SEXP, SEXP)
SEXP xtTMatrix_validate(SEXP)
SEXP Csparse_dmperm(SEXP, SEXP, SEXP)
SEXP Matrix_rle_d(SEXP, SEXP)
SEXP R_sparse_dropzero(SEXP, SEXP)
SEXP sparseQR_validate(SEXP)
SEXP spMatrix_rcond(SEXP, SEXP, SEXP)
SEXP R_subscript_1ary(SEXP, SEXP, SEXP)
SEXP R_dense_is_symmetric(SEXP, SEXP, SEXP, SEXP)
SEXP R_sparse_force_canonical(SEXP, SEXP)
SEXP R_dense_schur(SEXP, SEXP, SEXP)
SEXP sparseLU_validate(SEXP)
SEXP CsparseMatrix_validate_maybe_sorting(SEXP)
SEXP xpoMatrix_validate(SEXP)