void expectedColIn_range() {
        cout << "- Compute expectedColIn_range() ... ";

        if(_genColVec.in_range(_rowIndRange, _colIndRange)) {
          save<double>("Col.in_range", Mat<double>({1}));
        } else {
          save<double>("Col.in_range", Mat<double>({0}));
        }

        cout << "done." << endl;
      }
      void expectedRowsElemDivide() {
        for(int n = 0; n < _elemInds.n_elem; n++) {
          if(!_genColVec.in_range(_elemInds.at(n))) {
            return;
          }
        }

        if(_genRowVec.n_elem != _elemInds.n_elem) {
          return;
        }

        cout << "- Compute expectedElemElemDivide() ... ";

        _genColVec.rows(_elemInds) /= _genRowVec;
        save<double>("Col.rowsElemDivide", _genColVec);

        cout << "done." << endl;
      }
      void expectedColVecSubvecElemDivide() {
        if(_elemIndRange.whole) {
          return;
        }

        if (!_genColVec.in_range(_elemIndRange)) {
          return;
        }

        if (_genRowVec.n_cols != _genColVec.n_cols || _genRowVec.n_rows != _elemIndRange.b - _elemIndRange.a + 1) {
          return;
        }

        cout << "- Compute expectedColVecSubvecElemDivide() ... ";

        _genColVec.subvec(_elemIndRange.a, _elemIndRange.b) /= _genRowVec;

        save<double>("Col.subvecElemDivide", _genColVec);
        cout << "done." << endl;
      }
      void expectedColVecRowsElemTimes() {
        if(_elemIndRange.whole) {
          return;
        }

        if (!_genColVec.in_range(_elemIndRange)) {
          return;
        }

        if(_genRowVec.n_cols != _genColVec.n_cols || _genRowVec.n_rows != _elemIndRange.b - _elemIndRange.a + 1) {
          return;
        }

        cout << "- Compute expectedColVecRowsElemTimes() ... ";

        _genColVec.rows(_elemIndRange.a, _elemIndRange.b) %= _genRowVec;

        save<double>("Col.rowsElemTimes", _genColVec);
        cout << "done." << endl;
      }