Thanks for the helpful reply! I just have a few more comments and questions.
For example, why is B on both sides of the assignment operator? Does this imply that "B = solve(A,B, tag)" causes B to be replaced by A^{-1}B?
Oops. I've just looked into the sources (always recommended ;-) and noticed that this is a documentation bug. The corrected documentation should read
C = solve(A, B, tag) <------> C <- A^-1 B
Corresponding inplace "solvers" are used internally:
inplace_solve(A, B, ...) <------> B <- A^-1 B
Maybe I should add an appropriate dispatcher function and document it, too.
I'm not sure what this means, but having the in-place solver available publicly sounds like a good idea.
And is it standard lingo in some circles to say "solve for a triangular matrix" for the act of replacing a vector or matrix B by A^{-1}B, where A is triangular? I find this odd, since when I say "solve for <something>", I mean that <something> is an unknown object that needs to be found through a calculation.
Sorry, I'm not a native speaker. How would you correct this?
This is, I admit, a little tricky. The best I can come up with is "solve a triangular system of equations" or "invert a triangular matrix". Deane