Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2007

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

Search the Archive

Re: Given a matrix A,

  • To: mathgroup at smc.vnet.net
  • Subject: [mg83370] Re: [mg83326] Given a matrix A,
  • From: danl at wolfram.com
  • Date: Sun, 18 Nov 2007 04:54:49 -0500 (EST)
  • References: <200711171030.FAA09684@smc.vnet.net>

> Given a matrix A with (m, n) dimension and m<n, I want to construct a
> semi-orthogonal matrix L with dimension (n, n-m) [that is, L'L = I,
> where I denotes an identity matrix with dimension (n-m)] such that AL
> = 0.

orthogonalComplement[mat_?MatrixQ] :=
  Transpose[Orthogonalize[NullSpace[mat]]]

Example:

In[49]:= mat = RandomInteger[{-10, 10}, {3, 7}];
ocmat = orthogonalComplement[mat];
Together[Transpose[ocmat].ocmat]
Together[mat.ocmat]

Out[51]= {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}

Out[52]= {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}

Daniel Lichtblau
Wolfram Research




  • Prev by Date: Re: data structures in Mathematica
  • Next by Date: Re: Trouble with Rotate
  • Previous by thread: Given a matrix A, construct a semi-orthogonal matrix L
  • Next by thread: Re: Given a matrix A, construct a semi-orthogonal matrix L