// With gcc compile thus:
// gcc invert.c -std=gnu99 -Wall
#include
/* Inversion uses twice the necessary storage and does nearly twice the
necessary arithmetic. Many of the results are known to be zero
or one. These are computed and stored as well. */
// slv below solves a set of n simultaneous linear equations
// for m different sets of n constants.
// The calculations overwrite all of the inputs
// and the answers are found where the constants were provided.
int slv(int n, int m, double A[n][n+m]); // prototype
int slv(int n, int m, double a[n][n+m]){
for(int i=0; i
#include
static void pr(char * m, double x[n][n])
{for(int i=0; i