/usr/include/sc/math/scmat/cmatrix.h is in libsc-dev 2.3.1-16ubuntu5.
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 | /*
* cmatrix.h
*
* Copyright (C) 1996 Limit Point Systems, Inc.
*
* Author: Curtis Janssen <cljanss@ca.sandia.gov>
* Maintainer: LPS
*
* This file is part of the SC Toolkit.
*
* The SC Toolkit is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* The SC Toolkit is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with the SC Toolkit; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*
* The U.S. Government is granted a limited license as per AL 91-7.
*/
#ifndef _math_scmat_cmatrix_h
#define _math_scmat_cmatrix_h
#ifdef __cplusplus
extern "C" {
#endif
/* These routines work in terms of simple arrays. No testing is done
* on the input.
*/
double cmat_determ(double**matrix,int sym,int dim);
double cmat_invert(double**matrix,int sym,int dim);
double cmat_solve_lin(double**,int sym,double*,int dim);
void cmat_mxm(double**a,int transpose_a,
double**b,int transpose_b,
double**c,int transpose_c,
int nrow, int nlink, int ncol,
int add);
void cmat_symmetric_mxm(double**a,int na, /* a is (na,na) */
double**b,int nb, /* b is (na,nb) */
int add);
void cmat_transform_symmetric_matrix(double**a,int na, /* a is (na,na) */
double**b,int nb, /* b is (nb,nb) */
double**c, /* c is (na,nb) */
int add);
void cmat_transform_diagonal_matrix(double**a,int na, /* a is (na,na) */
double*b,int nb, /* b is (nb,nb) */
double**c, /* c is (na,nb) */
int add);
double** cmat_new_square_matrix(int n);
double** cmat_new_rect_matrix(int n,int m);
void cmat_delete_matrix(double**matrix);
void cmat_transpose_square_matrix(double**matrix,int n);
void cmat_transpose_matrix(double**a,int nrow,int ncol);
void cmat_matrix_pointers(double**ptrs,double*matrix,int nrow, int ncol);
void cmat_diag(double**symm_a, double*evals, double**evecs, int n,
int matz, double tol);
void cmat_schmidt(double **rows, double *S, int nrow, int nc);
int cmat_schmidt_tol(double **C, double *S, int nrow, int ncol,
double tolerance, double *res);
#ifdef __cplusplus
}
#endif
#endif
|