Martin Sandve Alnæs wrote:
> 2007/7/24, Garth N. Wells <g.n.wells@xxxxxxxxxx>:
>> Martin Sandve Alnæs wrote:
>>> As I understand it, "Matrix" is just a convenience class for users who
>>> don't care about the underlying format. It should never be used at the
>>> library level (because it ties the library to one format for each
>>> compilation of the library), and can be ignored by anybody who
>>> actually cares about which library they'll use.
>> I would say that it is more than just a convenience class - it's more
>> like the default linear algebra backend. Part of the idea is to tie the
>> library to one format in order to guarantee that various objects are
>> compatible with each other.
>
> This doesn't sound like what Anders told me. Its the very idea of
> "tying" the library compile-time to a single backend that I don't
> like. As long as the rest of the library depends on GenericMatrix and
> not Matrix, I'm happy. In that case, Matrix is a nice user-side
> feature to keep user code portable.
>
>
>> A possibility would be to make objects like
>> Function templated, at the cost of increased complexity.
>
> I don't see where Function enters this?
>
A Function requires a vector to store the dofs. This is currently a
Vector, so it would have to be possible to specify the type of vector.
With the current design, it's not enough to just make the underlying
pointer a GenericVector.
Garth