00001 #ifndef MATRIX_MUTILS_H
00002 #define MATRIX_MUTILS_H
00003
00004 #include <Rdefines.h>
00005
00006 char norm_type(char *typstr);
00007 char rcond_type(char *typstr);
00008 double get_double_by_name(SEXP obj, char *nm);
00009 SEXP set_double_by_name(SEXP obj, double val, char *nm);
00010 SEXP as_det_obj(double val, int log, int sign);
00011 SEXP get_factorization(SEXP obj, char *nm);
00012 SEXP set_factorization(SEXP obj, SEXP val, char *nm);
00013 SEXP cscMatrix_set_Dim(SEXP x, int nrow);
00014 int csc_unsorted_columns(int ncol, const int p[], const int i[]);
00015 void csc_sort_columns(int ncol, const int p[], int i[], double x[]);
00016 SEXP triple_as_SEXP(int nrow, int ncol, int nz,
00017 const int Ti [], const int Tj [], const double Tx [],
00018 char *Rclass);
00019 SEXP csc_check_column_sorting(SEXP A);
00020 void csc_components_transpose(int m, int n, int nnz,
00021 const int xp[], const int xi[],
00022 const double xx[],
00023 int ap[], int ai[], double ax[]);
00024 void triplet_to_col(int nrow, int ncol, int nz,
00025 const int Ti [], const int Tj [], const double Tx [],
00026 int Ap [], int Ai [], double Ax []);
00027 void ssc_symbolic_permute(int n, int upper, const int perm[],
00028 int Ap[], int Ai[]);
00029 double *nlme_symmetrize(double *a, const int nc);
00030 void nlme_check_Lapack_error(int info, const char *laName);
00031 double *
00032 LMEgradient(const double* factor, const double* A, const int nlev,
00033 const int nc, const double* pdgradient, const int plen,
00034 double* value);
00035 SEXP nlme_replaceSlot(SEXP obj, SEXP names, SEXP value);
00036 SEXP nlme_weight_matrix_list(SEXP MLin, SEXP wts, SEXP adjst, SEXP MLout);
00037
00038
00039
00040 extern SEXP
00041 Matrix_DSym,
00042 Matrix_DIsqrtSym,
00043 Matrix_DimSym,
00044 Matrix_GpSym,
00045 Matrix_LiSym,
00046 Matrix_LpSym,
00047 Matrix_LxSym,
00048 Matrix_OmegaSym,
00049 Matrix_ParentSym,
00050 Matrix_RXXSym,
00051 Matrix_RZXSym,
00052 Matrix_XtXSym,
00053 Matrix_ZtXSym,
00054 Matrix_bVarSym,
00055 Matrix_devianceSym,
00056 Matrix_devCompSym,
00057 Matrix_diagSym,
00058 Matrix_iSym,
00059 Matrix_ipermSym,
00060 Matrix_jSym,
00061 Matrix_matSym,
00062 Matrix_ncSym,
00063 Matrix_pSym,
00064 Matrix_permSym,
00065 Matrix_statusSym,
00066 Matrix_uploSym,
00067 Matrix_xSym,
00068 Matrix_zSym;
00069
00070 #endif
00071