MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Getting hierarchies of partitions (correction & continue)
  • Next by Date: Error in BinCounts function?
  • Previous by thread: RE: RE: RE: Generating Two Unit Orthogonal Vectors
  • Next by thread: RE: RE: RE: Generating Two Unit Orthogonal Vectors