#ifndef _global_h # include "global.h" #endif #include #ifndef _matrix_h # include "matrix.h" #endif Matrix MatrixZero; Matrix::Matrix( int n, int m, ... ) { va_list argptr; va_start(argptr,m); dim = n; if (dim) { data = new Vector [n]; for (int i=0;imax) max=data[i].dim; return max; } int Matrix::IsZero() const { for (int i=0;idim) { Vector *new_data; new_data = new Vector[n]; // allocate new array for (int i=0;i=dim) Resize(n+1); return data[n]; } const Matrix &Matrix::operator=(const Matrix &m) { if (dimdim) Resize(z2.dim); for (int i=0;idim) Resize(z2.dim); for (int i=0;id) d=fabs(a(v[i])(k)); } if (dpvt) { pvt = fabs(a2); j2 = i; // Pivotzeile merken } } // Pivotisierung und fiktiever Zeilentausch help = v[j]; v[j] = v[j2]; v[j2] = help; if (fabs(a(v[j])(j))Resize(n); for (i=n-1;i>=0;i--) { (*x)[v[i]] = b(v[i]); for (k=i+1;k