2011/8/11 Arne Ploese <aplo...@gmx.de>:
> So you not only want to observe the result, but you want a read only
> RealVector.
>
That's right. I'm sorry, my first message was not clear, especially if
you did not follow the thread on iterative solvers.
I want to observe the *solver*, and the current state of the solver is
a *RealVector*, which should by no means be modified by the observer.
The safest way to do that would be for the solver to have a method
like
public RealVector getCurrentSolution(){
    return x.copy();
}
but that takes both time and memory. So I was thinking of something more like
public RealVector getCurrentSolution(){
    return new ReadOnlyRealVector(x);
}
which takes virtually no additional memory (and presumably very little
time). The two advantages of this approach are
* it does not jeopardize the whole hierarchy tree, since you do not
have to create a new interface,
* it is quite general, and could be adopted for any base object (not
only RealVector).
The downside is that some methods throw exceptions, which might be
deemed dirty. I don't really know.
S

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to