Re: RE: RE: Generating Two Unit Orthogonal Vectors

*To*: mathgroup at smc.vnet.net*Subject*: [mg36506] Re: [mg36476] RE: [mg36448] RE: Generating Two Unit Orthogonal Vectors*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Tue, 10 Sep 2002 06:24:33 -0400 (EDT)*References*: <000001c25774$77cc0f40$0200a8c0@HolyCow>*Sender*: owner-wri-mathgroup at wolfram.com

DrBob wrote: > > Daniel, > > I don't mean to be overly critical of WRI's documentation -- it's very > good, as such things go. Nor do I like to overlook chances to make it > better. Do you? I'll try to address your specific remarks below and then return to this. > Your own comments below point out that we should expect vectors > resulting from NullSpace to be "orthonormal by the usual > conjugate-symmetric inner product on C". But that's not spelled out > (documented) for dummies like myself who don't know that's a natural > result of singular values decomposition. My comments indicate that they will be orthonormal, for approximate numeric matrix input, so long as the implementation is based on SVD. But that's not by any means part of what NullSpace is required to do, and it is quite clearly implementation dependent. > The "mission" of NullSpace (or any function) is to adhere to > documentation, so reasonable persons may differ on whether orthogonality > is a feature we should depend on. Well... the name "NullSpace" gives a pretty good idea of what it needs to do. When you stop to consider all the matrix "types" (approximate numbers, exact numbers, symbolic, numeric but with non-number elements e.g. Pi and Sqrt[2]) you quickly realize that different types will most likely be handled by different methods, and these may have different characteristics of output e.g. normalized vectors, vectors with last nonzero component equal to one, or other quirks. But these are artifacts of implementation, not part of the requirements of a null space. > The mission of documentation is to tell us what to expect. When it > doesn't, the result is that we spend all this time discussing issues > online, trying to figure things out. A simple "don't depend on > orthogonal results" would be nice, if that's the intent. Perhaps. If there is strong reason to expect that people might depend on such results in the first place. I don't think there is. > In any case, I just spent ten minutes LOOKING for implementation notes > for NullSpace, and have not found any. Searching for "implementation > notes" doesn't help and there's no link from NullSpace. What use is > documentation I can't find? > > In general, I don't like Mathematica's quirky Help Browser, in which I > cannot search for anything that's not indexed. Every other help engine > on my computer (and there are hundreds) allows me to search for words, > and that's exactly what I need in order to find all mentions of > NullSpace. I found it in the back of the book, appendix A.9, "Some Notes on Internal Implementation". See A.9.4, "Approximate numerical linear algebra". In the Help Browser, click on "The Mathematica Book" and then type "implementation" in the window. The second URL it gives is "A.9". I'll grant you one might reasonably desire a good search engine. I just want to indicate that what is there now is not entirely useless in this instance provided you at least know about the existance of these notes in the book. > Bobby Treat > [...] To respond to your question at the beginning, yes, I also like to see improvements in documentation. I certainly agree that a good search engine would be useful in this case. Though note that I also may not be using the Help Browser to its fullest capabilities (I claim no great familiarity with the Mathematica user interface). As for the specific issue of what to document about NullSpace, suffice it to say that I do not favor making claims beyond what it is required to do. Daniel Lichtblau Wolfram Research