MathGroup Archive 2002

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

Search the Archive

RE: RE: RE: Generating Two Unit Orthogonal Vectors

  • To: mathgroup at
  • Subject: [mg36509] RE: [mg36476] RE: [mg36448] RE: Generating Two Unit Orthogonal Vectors
  • From: "DrBob" <drbob at>
  • Date: Tue, 10 Sep 2002 06:24:38 -0400 (EDT)
  • Reply-to: <drbob at>
  • Sender: owner-wri-mathgroup at


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,


-----Original Message-----
From: danl at [mailto:danl at] 
To: mathgroup at
Subject: [mg36509] Re: [mg36476] RE: [mg36448] RE: Generating Two Unit Orthogonal

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
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
clearly implementation dependent.

> The "mission" of NullSpace (or any function) is to adhere to
> documentation, so reasonable persons may differ on whether
> is a feature we should depend on.

Well... the name "NullSpace" gives a pretty good idea of what it needs
do. When you stop to consider all the matrix "types" (approximate
exact numbers, symbolic, numeric but with non-number elements e.g. Pi
Sqrt[2]) you quickly realize that different types will most likely be
handled by different methods, and these may have different
of output e.g. normalized vectors, vectors with last nonzero component
equal to one, or other quirks. But these are artifacts of
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
> 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
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: RE: Why is my Implementation of Sorted Trees So Slow?
  • Next by Date: RE: RE: Why is my Implementation of Sorted Trees So Slow?
  • Previous by thread: Re: RE: RE: Generating Two Unit Orthogonal Vectors
  • Next by thread: Re: Generating Two Unit Orthogonal Vectors (correction)