RE: RE: RE: Generating Two Unit Orthogonal Vectors
- To: mathgroup at smc.vnet.net
- Subject: [mg36509] RE: [mg36476] RE: [mg36448] RE: Generating Two Unit Orthogonal Vectors
- From: "DrBob" <drbob at bigfoot.com>
- Date: Tue, 10 Sep 2002 06:24:38 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
Daniel, We mostly agree. I simply look at things from a slightly different (user, non-WRI) perspective. My original point was -- in line with your own comments -- that people shouldn't depend on NullSpace to return orthogonal vectors even when it seems to do so, because it's not documented behavior. (Although YOU knew about it and could point to documentation of it! Sort of.) Unlike you, perhaps, I consider the lack of search capabilities in Help an EGREGIOUS failing -- a mistake no other Help engine makes (so far as I know). Fix that, and 90% of my complaints about documentation would go away; I could have found the implementation notes on NullSpace, for instance, without already KNOWING where they are. That is precisely what annoys me most of the time; the information is there, but I can't find it. (If searching for "implementation" works, why doesn't "implementation notes" yield anything at all?) Now that I've found this page, I'll add it to all the other information locations I'm trying to remember. (There's not much there anyway, though.) Bobby -----Original Message----- From: danl at wolfram.com [mailto:danl at wolfram.com] To: mathgroup at smc.vnet.net Subject: [mg36509] Re: [mg36476] RE: [mg36448] RE: Generating Two Unit Orthogonal Vectors 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