public void swapRow(int i, int j) { CVector temp = _m[i]; _m[i] = _m[j]; _m[j] = temp; }
public void substract(CVector a) { int n = _size; while ((n--) != 0) { _v[n] -= a[n]; } }
public void add(CVector a) { int n = _size; while ((n--) != 0) { _v[n] += a[n]; } }
public CMatrix(CMatrix m) { _size = m.size; _m = new CVector[_size]; for (int i = 0; i < _size; i++) { _m[i] = new CVector(m._m[i]); } }
public CMatrix(CVector [] v) { _size = v[0].size; _m = new CVector[_size]; for (int i = 0; i < _size; i++) { _m[i] = new CVector(v[i]); } }
public CVector divideCopy(double a) { int n = _size; CVector ret = new CVector(this); while ((n--) != 0) { ret[n] /= a; } return(ret); }
public double multiplyDouble(CVector a) { int n = _size; double ret = 0f; while ((n--) != 0) { ret += _v[n] * a[n]; } return(ret); }
public CVector multiplyCopy(double a) { int n = _size; CVector ret = new CVector(this); while ((n--) != 0) { ret[n] *= a; } return(ret); }
public CVector substractCopy(CVector a) { int n = _size; CVector ret = new CVector(this); while ((n--) != 0) { ret[n] -= a[n]; } return(ret); }
public CMatrix multiplyMatrix(CVector a) { int n = a.size; CVector [] buff = new CVector[n]; while ((n--) != 0) { buff[n] = a.multiplyCopy(_v[n]); } return(new CMatrix(buff)); }
public CMatrix(double [,] a, int size) { int i, j; _size = size; _m = new CVector[size]; for (i = 0; i < size; i++) { _m[i] = new CVector(size); for (j = 0; j < size; j++) { _m[i][j] = a[i, j]; } } }
public CMatrix(int size, bool isIdentity) { int i; _size = size; _m = new CVector[size]; for (i = 0; i < size; i++) { _m[i] = new CVector(size); if (isIdentity) { _m[i][i] = 1; } } }
public CVector(CVector v) { _size = v.size; _v = (double[])v._v.Clone(); }