
I have an identity matrix that when initialized with the constructor I don't get an error. If I do a default construction and then resize the matrix I get a runtime error. I'm not sure the difference. Could someone enlighten me? Ryan using namespace boost::numeric::ublas; template<typename matrixT> matrix_range<matrixT> topleft (matrixT & M) { return subrange(M, 0, 3, 0, 3); } int main(int, char const* []) { vector<double> initial(3); initial[0] = 10; initial[0] = 100; initial[0] = 2; //I realize that "matrix<double> P(zero_matrix<double>(9,9));" would do the same thing as below. //This is extracted from a class and the constructor needs to to this. matrix<double> P; //This is a class variable P.resize(9,9); //This happens in the constructor P.clear(); //This happens in the constructor //The following runs without errors //identity_matrix<double> identity(3); //This causes a run time error. identity_matrix<double> identity; identity.resize(3); topleft(P) = initial[0] * identity; return 0; }