back to list

Question about the pseudoinverse

🔗Mike Battaglia <battaglia01@gmail.com>

6/18/2012 4:35:00 PM

If * denotes pseudoinverse and ' denotes transpose, then for any
matrix M, ker(M*) = ker(M').

Is this property unique to the pseudoinverse, or does it apply to
other sorts of generalized inverses for nonsquare matrices as well?

-Mike

🔗Mike Battaglia <battaglia01@gmail.com>

6/18/2012 5:02:27 PM

Some thinking reveals that this is true for matrices which are of full
rank, which is all that I care about. Proof:

If a matrix M has linearly independent rows, and M° is the
pseudoinverse of M, then

(1) M * M° = I

which is a well known identity. if there were some other matrix N that
had the same left null space as the pseudoinverse, and also had the
property that M * N = I, then N would have to be row equivalent to M°.
So there'd have to be some nonsingular matrix X such that N = M° * X.
Therefore, the following would have to be true

(2) M * N = I
(3) M * M° * X = I

However, we can also take the original pseudoinverse identity above
and right-multiply both sides by X

(4) M * M° = I
(5) M * M° * X = I * X

by combining (1) and (5) we get

(6) I = I * X
(7) I = X

Therefore, since X = I, then N = M° * X = M° * I = M°. Therefore, for
any matrix M with linearly independent rows, there exists a unique
matrix N such that M * N = I and ker(M) = ker(N'). Since it's well
known that the pseudoinverse is a matrix N satisfying these two
conditions, and since it's shown above that N must be unique, then N
must be M° in all cases.

The proof for the situation where M has columns that are linearly
independent proceeds in the same manner. I don't know or care about
rank-deficient matrices.

I think this has a few semi-notable implications for subgroups, which
I'll post about at a later date...

-Mike

On Mon, Jun 18, 2012 at 7:35 PM, Mike Battaglia <battaglia01@gmail.com> wrote:
> If * denotes pseudoinverse and ' denotes transpose, then for any
> matrix M, ker(M*) = ker(M').
>
> Is this property unique to the pseudoinverse, or does it apply to
> other sorts of generalized inverses for nonsquare matrices as well?
>
> -Mike

🔗genewardsmith <genewardsmith@sbcglobal.net>

6/19/2012 6:14:31 PM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> If * denotes pseudoinverse and ' denotes transpose, then for any
> matrix M, ker(M*) = ker(M').

Why not say ker(M) = ker(M*')?

> Is this property unique to the pseudoinverse, or does it apply to
> other sorts of generalized inverses for nonsquare matrices as well?

Don't know, but it seems likely.

🔗Mike Battaglia <battaglia01@gmail.com>

6/19/2012 6:42:50 PM

On Tue, Jun 19, 2012 at 9:14 PM, genewardsmith <genewardsmith@sbcglobal.net>
wrote:
>
> --- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...>
> wrote:
> >
> > If * denotes pseudoinverse and ' denotes transpose, then for any
> > matrix M, ker(M*) = ker(M').
>
> Why not say ker(M) = ker(M*')?

Or that. Same thing.

> > Is this property unique to the pseudoinverse, or does it apply to
> > other sorts of generalized inverses for nonsquare matrices as well?
>
> Don't know, but it seems likely.

I'm not sure which one you're saying that you think is likely, but
it's definitely only the pseudoinverse which satisfies this condition.
Wording things your way, so that ker(M) = ker(M*'), then we're talking
about a hypothetical matrix which has the same left nullspace as the
M* and must be column-equivalent to it.

-Mike

🔗genewardsmith <genewardsmith@sbcglobal.net>

6/20/2012 12:15:25 AM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> On Tue, Jun 19, 2012 at 9:14 PM, genewardsmith <genewardsmith@...>
> wrote:
> >
> > --- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@>
> > wrote:
> > >
> > > If * denotes pseudoinverse and ' denotes transpose, then for any
> > > matrix M, ker(M*) = ker(M').
> >
> > Why not say ker(M) = ker(M*')?
>
> Or that. Same thing.

Suppose M is a mapping matrix, whose rows are vals. Then ker(M) has a basis of monzos. M*' is a matrix whose rows are fractional monzos, giving the Frobenius tuning corresponding to the rows of M. ker(M*') has a basis consisting of vals, but the vals look just like the monzos in ker(M). This is a bizarre property of the Frobenius tuning which I've had occasion to mention before, in connection with the Frobenius projection map.

🔗Mike Battaglia <battaglia01@gmail.com>

6/20/2012 1:38:16 PM

On Jun 20, 2012, at 3:15 AM, genewardsmith <genewardsmith@sbcglobal.net>
wrote:

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> On Tue, Jun 19, 2012 at 9:14 PM, genewardsmith <genewardsmith@...>
> wrote:
> >
> > --- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@>
> > wrote:
> > >
> > > If * denotes pseudoinverse and ' denotes transpose, then for any
> > > matrix M, ker(M*) = ker(M').
> >
> > Why not say ker(M) = ker(M*')?
>
> Or that. Same thing.

Suppose M is a mapping matrix, whose rows are vals. Then ker(M) has a basis
of monzos. M*' is a matrix whose rows are fractional monzos, giving the
Frobenius tuning corresponding to the rows of M. ker(M*') has a basis
consisting of vals, but the vals look just like the monzos in ker(M). This
is a bizarre property of the Frobenius tuning which I've had occasion to
mention before, in connection with the Frobenius projection map.

It seems useful. It means that, if you express a subgroup as the thing you
called a "smap", the pseudoinverse of the smap is the mapping matrix
tempering out the complementary subgroup. Also, the pseudoinverse of a
temperament mapping matrix is the smap which sends all vals -NOT-
supporting the temperament mapping to the zero sval.

-Mike

🔗Mike Battaglia <battaglia01@gmail.com>

6/21/2012 8:30:56 PM

Bah, screwed this up bad, was too much in a rush. I don't know why I said
the set of all vals not supporting the temperament; I meant the set of all
vals orthogonal to the subspace of vals supporting it.

-Mike

On Jun 20, 2012, at 4:38 PM, Mike Battaglia <battaglia01@gmail.com> wrote:

On Jun 20, 2012, at 3:15 AM, genewardsmith <genewardsmith@sbcglobal.net>
wrote:

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:
>
> On Tue, Jun 19, 2012 at 9:14 PM, genewardsmith <genewardsmith@...>
> wrote:
> >
> > --- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@>
> > wrote:
> > >
> > > If * denotes pseudoinverse and ' denotes transpose, then for any
> > > matrix M, ker(M*) = ker(M').
> >
> > Why not say ker(M) = ker(M*')?
>
> Or that. Same thing.

Suppose M is a mapping matrix, whose rows are vals. Then ker(M) has a basis
of monzos. M*' is a matrix whose rows are fractional monzos, giving the
Frobenius tuning corresponding to the rows of M. ker(M*') has a basis
consisting of vals, but the vals look just like the monzos in ker(M). This
is a bizarre property of the Frobenius tuning which I've had occasion to
mention before, in connection with the Frobenius projection map.

It seems useful. It means that, if you express a subgroup as the thing you
called a "smap", the pseudoinverse of the smap is the mapping matrix
tempering out the complementary subgroup. Also, the pseudoinverse of a
temperament mapping matrix is the smap which sends all vals -NOT-
supporting the temperament mapping to the zero sval.

-Mike