Raw File
R_ldl.h
/* This is a modified version of the ldl.h file released by Timothy A. Davis  */
/* in the LDL package and carrying the copyright shown below. The             */
/* modifications are to replace scratch arrays passed as arguments by         */
/* dynamically allocated arrays.                                              */
/* Douglas Bates (Nov., 2004)                                                 */

/* ========================================================================== */
/* === ldl.h:  include file for the LDL package ============================= */
/* ========================================================================== */

/* LDL Version 1.0 (Dec. 31, 2003), Copyright (c) 2003 by Timothy A Davis,
 * University of Florida.  All Rights Reserved.  See README for the License.
 */

#include <R_ext/RS.h>
#include <R_ext/Memory.h>

extern void R_ldl_symbolic(int n, const int Ap[], const int Ai[],
			   int Lp[], int Parent[], const int P[],
                           int Pinv[]);

extern int R_ldl_numeric(int n, const int Ap[], const int Ai[],
			 const double Ax[], const int Lp[], const int Parent[],
			 int Li[], double Lx[], double D[],
			 const int P[], const int Pinv[]);

extern void R_ldl_lsolve(int n, double X[], const int Lp[], const int Li[],
			 const double Lx[]);

extern void R_ldl_dsolve(int n, double X[], const double D[]);

extern void R_ldl_ltsolve(int n, double X[], const int Lp[], const int Li[],
			  const double Lx[]);

extern void R_ldl_perm(int n, double X[], const double B[], const int P[]);
extern void R_ldl_permt(int n, double X[], const double B[], const int P[]);

int R_ldl_valid_perm(int n, const int P[]);
int R_ldl_valid_matrix(int n, const int Ap[], const int Ai[]);
back to top