/usr/include/meschach/sparse2.h is in libmeschach-dev 1.2b-13.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | /**************************************************************************
**
** Copyright (C) 1993 David E. Steward & Zbigniew Leyk, all rights reserved.
**
** Meschach Library
**
** This Meschach Library is provided "as is" without any express
** or implied warranty of any kind with respect to this software.
** In particular the authors shall not be liable for any direct,
** indirect, special, incidental or consequential damages arising
** in any way from use of the software.
**
** Everyone is granted permission to copy, modify and redistribute this
** Meschach Library, provided:
** 1. All copies contain this copyright notice.
** 2. All modified copies shall carry a notice stating who
** made the last modification and the date of such modification.
** 3. No charge is made for this software or works derived from it.
** This clause shall not be construed as constraining other software
** distributed on the same medium as this software, nor is a
** distribution fee considered a charge.
**
***************************************************************************/
/* Sparse matrix factorise/solve header */
/* RCS id: $Id: sparse2.h,v 1.4 1994/01/13 05:33:46 des Exp $ */
#ifndef SPARSE2H
#define SPARSE2H
#include "sparse.h"
#ifdef ANSI_C
SPMAT *spCHfactor(SPMAT *), *spICHfactor(SPMAT *), *spCHsymb(SPMAT *);
VEC *spCHsolve(SPMAT *,VEC *,VEC *);
SPMAT *spLUfactor(SPMAT *,PERM *,double);
SPMAT *spILUfactor(SPMAT *,double);
VEC *spLUsolve(SPMAT *,PERM *,VEC *,VEC *),
*spLUTsolve(SPMAT *,PERM *,VEC *,VEC *);
SPMAT *spBKPfactor(SPMAT *, PERM *, PERM *, double);
VEC *spBKPsolve(SPMAT *, PERM *, PERM *, VEC *, VEC *);
VEC *pccg(VEC *(*A)(),void *A_par,VEC *(*M_inv)(),void *M_par,VEC *b,
double tol,VEC *x);
VEC *sp_pccg(SPMAT *,SPMAT *,VEC *,double,VEC *);
VEC *cgs(VEC *(*A)(),void *A_par,VEC *b,VEC *r0,double tol,VEC *x);
VEC *sp_cgs(SPMAT *,VEC *,VEC *,double,VEC *);
VEC *lsqr(VEC *(*A)(),VEC *(*AT)(),void *A_par,VEC *b,double tol,VEC *x);
VEC *sp_lsqr(SPMAT *,VEC *,double,VEC *);
int cg_set_maxiter(int);
void lanczos(VEC *(*A)(),void *A_par,int m,VEC *x0,VEC *a,VEC *b,
Real *beta_m1,MAT *Q);
void sp_lanczos(SPMAT *,int,VEC *,VEC *,VEC *,Real *,MAT *);
VEC *lanczos2(VEC *(*A)(),void *A_par,int m,VEC *x0,VEC *evals,
VEC *err_est);
VEC *sp_lanczos2(SPMAT *,int,VEC *,VEC *,VEC *);
extern void scan_to(SPMAT *,IVEC *,IVEC *,IVEC *,int);
extern row_elt *chase_col(SPMAT *,int,int *,int *,int);
extern row_elt *chase_past(SPMAT *,int,int *,int *,int);
extern row_elt *bump_col(SPMAT *,int,int *,int *);
#else
extern SPMAT *spCHfactor(), *spICHfactor(), *spCHsymb();
extern VEC *spCHsolve();
extern SPMAT *spLUfactor();
extern SPMAT *spILUfactor();
extern VEC *spLUsolve(), *spLUTsolve();
extern SPMAT *spBKPfactor();
extern VEC *spBKPsolve();
extern VEC *pccg(), *sp_pccg(), *cgs(), *sp_cgs(), *lsqr(), *sp_lsqr();
extern int cg_set_maxiter();
void lanczos(), sp_lanczos();
VEC *lanczos2(), *sp_lanczos2();
extern void scan_to();
extern row_elt *chase_col();
extern row_elt *chase_past();
extern row_elt *bump_col();
#endif
#endif
|