Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
About matrix norms

Subject: About matrix norms

From: Martti

Date: 23 Jan, 2013 09:09:09

Message: 1 of 6

I'm looking for matrix norms that would satisfy

xnorm(A) == 1/xnorm(inv(A))

so that after scaling the matrix with the norm,

Asc = A / xnorm(A)

both xnorm(Asc)==1 and xnorm(inv(Asc))==1 .

Seems to be a norm defined as

function [ value ] = xnorm( A )
%XNORM Matrix norm
    [~, s, ~] = svd(A);
    value = prod(diag(s))^(1/numel(diag(s)));
end

fulfills the requirements for square matrices; do you happen to know the name of this norm? Are there other norms that could be used?

Subject: About matrix norms

From: Bruno Luong

Date: 23 Jan, 2013 09:16:09

Message: 2 of 6

"Martti" wrote in message <kdo9bl$5a8$1@newscl01ah.mathworks.com>...
> I'm looking for matrix norms that would satisfy
>
> xnorm(A) == 1/xnorm(inv(A))
>
> so that after scaling the matrix with the norm,
>
> Asc = A / xnorm(A)
>
> both xnorm(Asc)==1 and xnorm(inv(Asc))==1 .
>
> Seems to be a norm defined as
>
> function [ value ] = xnorm( A )
> %XNORM Matrix norm
> [~, s, ~] = svd(A);
> value = prod(diag(s))^(1/numel(diag(s)));
> end
>

prod(diag(s)) is the same as
sqrt(det(A'*A)) or sqrt(det(A*A'))

Bruno

Subject: About matrix norms

From: Martti

Date: 23 Jan, 2013 09:31:08

Message: 3 of 6

> prod(diag(s)) is the same as
> sqrt(det(A'*A)) or sqrt(det(A*A'))
>
> Bruno

Thanks Bruno, that makes the computing much lighter! What about the name of that norm, or alternatives?

Subject: About matrix norms

From: Bruno Luong

Date: 23 Jan, 2013 10:17:08

Message: 4 of 6

"Martti" wrote in message <kdoaks$9mr$1@newscl01ah.mathworks.com>...
> > prod(diag(s)) is the same as
> > sqrt(det(A'*A)) or sqrt(det(A*A'))
> >
> > Bruno
>
> Thanks Bruno, that makes the computing much lighter! What about the name of that norm, or alternatives?

Determinant is not a norm strictly speaking.

Bruno

Subject: About matrix norms

From: Matt J

Date: 23 Jan, 2013 16:59:09

Message: 5 of 6

"Martti" wrote in message <kdoaks$9mr$1@newscl01ah.mathworks.com>...
> > prod(diag(s)) is the same as
> > sqrt(det(A'*A)) or sqrt(det(A*A'))
> >
> > Bruno
>
> Thanks Bruno, that makes the computing much lighter! What about the name of that norm, or alternatives?

And since you're restricting attention to invertible (so presumably square) matrices, it simplifies even further,

  sqrt(det(A*A')) = abs( det(A) )

Still not a norm, though, as Bruno mentioned.

Subject: About matrix norms

From: Christopher Creutzig

Date: 22 Feb, 2013 12:57:17

Message: 6 of 6

On 23.01.13 11:17, Bruno Luong wrote:

> Determinant is not a norm strictly speaking.

True, but Martti takes the determinant of the result of svd, not of the
original matrix. I.e., the product of singular values, scaled for linearity.

I'm not sure that is a norm, either, but it seems not as straightforward
to find a counterexample – what is a norm is taking a p-norm of diag(s)
instead of the product, though, and that is not limited to regular
matrices. Those are called “Schatten norms”. I just don't think they
satisfy the original requirement.


Christopher

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us