--- In Boost-Users@y..., "jhrwalter"
--- In Boost-Users@y..., "deane_yang"
wrote: Digging through the documentation, I find a description of a function called 'solve" that says "Solves a linear equation for a triangular matrix." There is also a formula,
B = solve(A, B, tag) <------> B <- A-1 B
At least the -1 is superscripted in the HTML docs, meaning the inverse of the matrix AFAIK.
Yes, I knew that. That still does not make anything clear. 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? Is this the only valid way to use "solve"? And where does "triangular" come into all of this?
b) what exactly does the function solve do?
It's the usual BLAS (see for example www.netlib.org/blas) triangular solver (sorry for the repetition) used in the forward/backsubstitution step of lu for example.
Best regards
Joerg
I can infer from what you say that in fact the matrix A above needs to be triangular. It would be clearer, if that were made explicit in the documentation. 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. Here, the triangular matrix is known, so it does not need to be solved for. The unknown is in fact either a vector or a matrix that does not need to be triangular at all. I would suggest that the documentation for uBLAS is quite inadequate for someone who is not fluent in BLAS. Is the intent to have uBLAS only usable by people who are fluent in BLAS? Couldn't the documentation for uBLAS be a little more precise and use less shorthand BLAS lingo? Regards, Deane