void BandMatrix::ReSize(int n, int lb, int ub) { REPORT Tracer tr("BandMatrix::ReSize"); if (lb<0 || ub<0) Throw(ProgramException("Undefined bandwidth")); lower = (lb<=n) ? lb : n-1; upper = (ub<=n) ? ub : n-1; GeneralMatrix::ReSize(n,n,n*(lower+1+upper)); CornerClear(); }
SymmetricBandMatrix<TYPE>::SymmetricBandMatrix() : GeneralMatrix<TYPE>(1, 1, 1) { GeneralMatrix<TYPE>::band_width.Set(0, 0, true); CornerClear(); }
SymmetricBandMatrix<TYPE>::SymmetricBandMatrix(const int &n, const int &b) : GeneralMatrix<TYPE>(n, n, n*(b + 1)) { GeneralMatrix<TYPE>::band_width.Set(b, b, true); CornerClear(); }