I agree with Matt's take on this. Having a linked-list to be used throughout PETSc as appropriate could be quite useful.
I am a fan of doubly-linked list implementations like the one described at: http://www.cs.utk.edu/~plank/plank/classes/cs360/360/notes/Dllists/ (This is part of Jim Plank's libFDR library, which also includes a nice red-black tree implementation.) Jim's Dllist stuff stores "Jvals" which are a union of all intrinsic C data types -- that way you can stash whatever you want in a node of the list. I don't know if an approach that general is needed in PETSc or not, but the flexibility is nice. --Richard Matthew Knepley wrote: > If we are really going to do this, shouldn't we approach it as a > data structures problem? We need a certain structure, which here appears > to be "vector", or maybe "list". We make a general interface, and then > code up some implementation, like a linked list. Then we can use this > interface/impl other places in the code, like the LU part, rather than > rely on our old cut&paste strategy. > > Matt
