> Sorry, the correct declaration is > > typedef gmm::row_matrix< gmm::wsvector<complex<double> > > mymatrixtype; > mymatrixtype C(N2,N2); > gmm::diagonal_precond<mymatrixtype> P; > // ... > // ... fill C > // ... > P.build_with(C); > > i.e. no parentheses after the declaration of P. >
Hi Yves: That too did not work. When I compile, I get the following: /usr/local/include/gmm_vector.h: In member function T gmm::wsvector<T>::r(typename std::map<int, T, std::less<int>, std::allocator<std::pair<const int, T> > >::size_type) const [with T = std::complex<double>]: /usr/local/include/gmm_vector.h:220: instantiated from T gmm::wsvector<T>::operator[](typename std::map<int, T, std::less<int>, std::allocator<std::pair<const int, T> > >::size_type) const [with T = std::complex<double>] /usr/local/include/gmm_matrix.h:142: instantiated from typename gmm::linalg_traits<V>::value_type gmm::row_matrix<VECT>::operator()(gmm::size_type, gmm::size_type) const [with V = gmm::wsvector<std::complex<double> >] /usr/local/include/gmm_precond_diagonal.h:51: instantiated from void gmm::diagonal_precond<Matrix>::build_with(const Matrix&) [with Matrix = gmm::row_matrix<gmm::wsvector<std::complex<double> > >] flow3d2s.cpp:1042: instantiated from here /usr/local/include/gmm_vector.h:215: error: no matching function for call to lower_bound(size_t&) Without the preconditioner, the code works fine. I just need the solution a little quicker than presently. But this error seems to persist. I expected a simple fix. Are there any other alternatives? Sincerely, -- Bwalya Bwalya Malama, Ph.D. Center for Geophysical Research of the Shallow Subsurface Boise State University Boise, Idaho tel: 208-426-2959 email: [EMAIL PROTECTED] _______________________________________________ Getfem-users mailing list [email protected] https://mail.gna.org/listinfo/getfem-users
