public void image (Vector d, Vector r) {
if (! r.getSpace().equals(A.getRange())) {
System.err.println("Operator A range differs from space of r");
}
r.zero();
A.image(d,r);
r.sub(b);
}
This fails:
public void image (Vector d, Vector r) {
if (! r.getSpace().equals(A.getRange())) {
System.err.println("Operator A range differs from space of r");
}
r.zero();
r = A.image(d);
r.sub(b);
}
You pass a reference r ... than you reset the reference (which at that
point looses track of the original r). This works because, r is created within the object and not passed by reference:
public Vector image ( Vector d) {
Vector r = range.newMember();
r = A.image(d);
r.sub(b);
return r;
}
matt@hessen