How to sample subspaces uniformly

  • Thread starter wdlang
  • Start date
  • Tags
    Subspaces
If the latter, there must be a natural choice, given a fixed basis for the big space. Say we're looking at a random N-dimensional subspace of \mathbb C^M (the latter with its standard basis). Let \mathcal U(M) denote the space of unitary M\times M matrices. There's a very natural probability measure on \mathcal U(M), called the Haar measure \mu. I would think of a "uniformly chosen N-dimensional subspace" as picking a random U\in \mathcal U(M) via \mu and then picking the span of the first N columns of U.
  • #1
307
0
i need to sample the N-dimensional subspaces of a M-dimensional linear space over C uniformly.

That is, all subspaces are sampled with equal probability

how should i do it?

would this work? First generate a M*N matrix, the real and imaginary parts of each element is sampled from the normal distribution. Then by using QR decomposition, i can get N orthonormal vectors, which span a N-dimensional subspace. Take it.
 
Physics news on Phys.org
  • #2
Are you looking for something reasonably "uniform" that you can put into a computer, or are you looking for a distribution that feels somehow natural?

If the former, I have no idea, and other people may have better ideas.

If the latter, there must be a natural choice, given a fixed basis for the big space. Say we're looking at a random [itex]N[/itex]-dimensional subspace of [itex]\mathbb C^M[/itex] (the latter with its standard basis). Let [itex]\mathcal U(M)[/itex] denote the space of unitary [itex]M\times M[/itex] matrices. There's a very natural probability measure on [itex]\mathcal U(M)[/itex], called the Haar measure [itex]\mu[/itex]. I would think of a "uniformly chosen [itex]N[/itex]-dimensional subspace" as picking a random [itex]U\in \mathcal U(M)[/itex] via [itex]\mu[/itex] and then picking the span of the first [itex]N[/itex] columns of [itex]U[/itex].

*[It has the property that for any collection [itex]\mathcal S \subseteq \mathcal U(M)[/itex] of matrices with defined probability, and any matrix [itex]U\in \mathcal U(M)[/itex], we have [itex]\mu(U\mathcal S)= \mu(\mathcal S)[/itex]. Moreover, [itex]\mu[/itex] is unique in satisfying this property.]
 
  • Like
Likes 1 person
  • #3
economicsnerd said:
Are you looking for something reasonably "uniform" that you can put into a computer, or are you looking for a distribution that feels somehow natural?

If the former, I have no idea, and other people may have better ideas.

If the latter, there must be a natural choice, given a fixed basis for the big space. Say we're looking at a random [itex]N[/itex]-dimensional subspace of [itex]\mathbb C^M[/itex] (the latter with its standard basis). Let [itex]\mathcal U(M)[/itex] denote the space of unitary [itex]M\times M[/itex] matrices. There's a very natural probability measure on [itex]\mathcal U(M)[/itex], called the Haar measure [itex]\mu[/itex]. I would think of a "uniformly chosen [itex]N[/itex]-dimensional subspace" as picking a random [itex]U\in \mathcal U(M)[/itex] via [itex]\mu[/itex] and then picking the span of the first [itex]N[/itex] columns of [itex]U[/itex].

*[It has the property that for any collection [itex]\mathcal S \subseteq \mathcal U(M)[/itex] of matrices with defined probability, and any matrix [itex]U\in \mathcal U(M)[/itex], we have [itex]\mu(U\mathcal S)= \mu(\mathcal S)[/itex]. Moreover, [itex]\mu[/itex] is unique in satisfying this property.]

i am actually looking for a numerical method.

my idea is the following. First generate a M*N matrix, the real and imaginary parts of each element of which are drawn independently from the normal distribution. Then do QR decomposition to get the N orthonormal basis vectors spanning the subspace.

i am not sure whether this is the right algorithm.
 

Suggested for: How to sample subspaces uniformly

Replies
4
Views
153
Replies
4
Views
331
Replies
2
Views
564
Replies
5
Views
797
Replies
9
Views
816
Back
Top