> 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

Reply via email to