For what kind of norm is this code?

1 回表示 (過去 30 日間)
fred bnm
fred bnm 2016 年 9 月 4 日
編集済み: John BG 2016 年 9 月 6 日
A = randi(10,10);
norm = sqrt(sum(sum(A.*conj(A))) / prod(size(A)));
  2 件のコメント
Walter Roberson
Walter Roberson 2016 年 9 月 4 日
The formula is equivalent to
sqrt( mean2(A.^2) )
for real-valued A.
Walter Roberson
Walter Roberson 2016 年 9 月 5 日
For real-valued A it is
norm(A(:)) / sqrt(numel(A))
where norm(A(:)) is the L2 norm, norm(A(:),2)
It is not clear to me that with the divisor that the formula does in fact compute a norm in a mathematical sense. Perhaps it does.

サインインしてコメントする。

採用された回答

John BG
John BG 2016 年 9 月 5 日
Fred
Following common norms
1.
Euclidean norm:
the length of a 1D vector, understanding by length the distance to the coordinates origin.
a=randi(10,1,10)
norm(a)
for an NxM matrix
norm(A)
returns the largest singular value of A
A=randi(10,3,3)
A =
9 10 8
10 1 6
1 7 9
norm(A)
ans =
20.913376670878026
[U,S,V]=svd(A)
U =
-0.739646426689545 0.049232501991144 -0.671192464374475
-0.476728914605305 -0.742280226083208 0.470902970839120
-0.475029162751758 0.668278554731149 0.572495474062294
S =
20.913376670878026 0 0
0 7.953747324398639 0
0 0 3.516899162841603
V =
-0.568972497185512 -0.793516682233532 -0.215873973566917
-0.535465768966753 0.556718047022076 -0.635091667702206
-0.624136770036285 0.245756568858319 0.741658277882517
2.
L1-norm
is sum(abs(A)) of each element,
norm(A,1)
3.
natural norm, aka induced norm, aka subordinate norm, relative to vector reference z with z=1): |A| = max(norm(A*z))
4.
L2 norm
is like the one you asked for but without normalising factor that you bapply the division by prod(size(A))
norm(A)
5.
L-infinite norm
max of L1, the largest abs() of all results obtained with L1 norm max(abs(x))
norm(A,Inf)
or
norm(A,-Inf)
returns min(abs(A))
6.
supremum norm
7.
Hardy norm
8.
quaternion norm
9.
Frobenius norm:
norm(A,'fro')
returns sqrt(sum(diag(X'*X)))
So,
from
norm: A quantity that describes the length, size, or extent of a mathematical object.
at this point may I ask what is exactly that you are attempting to measure and therefore compare?
By pondering each element of the sum, you are somehow attempting to normalise the result, yet because you do not normalise with the actual norm, such normalising attempt may not work.
It may resemble a probability distribution, what you want to build, but again, it should be done in a different way.
Fred,
Let me close this first round by asking if you find this answer useful would you please be so kind to mark my answer as Accepted Answer?
To any other reader, please if you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John BG
  2 件のコメント
fred bnm
fred bnm 2016 年 9 月 5 日
>at this point may I ask what is exactly that you are attempting to measure and therefore compare?
In fact, this is part of the noise reduction by curvelet transform(E. J. Candes).
John BG
John BG 2016 年 9 月 6 日
編集済み: John BG 2016 年 9 月 6 日
ok, you are just damping, attenuating by a factor proportional to size of A.
the factor ../prod(size(A)) is some kind of averaging that smooths noise, ins't it?
But it also kills the signal.
I haven't refreshed or checked curvelet transform yet, (E.J. Candes, thanks for the reference) but on top of my head, wouldn't it work better without such ../prod(size(A))
or applying an attenuation that is independent of the size of A.
In radio, you see it more often that one would expect, adding coaxial to reduce noise with the attenuation of the otherwise completely unnecessary added stretch of line. It's a poor noise countermeasure.
Time ago I came across a UHF receiver design where they just added coax from the antenna in connector on the metal box to the front end screwed to the same box.
What I am trying to say is, if you are extracting signal from noise, does it really help to attenuate everything?
And shouldn't the ../prod(size(A)) be outside the sqrt, not inside?
apparently it may sound quieter, but you are also reducing the signal, right?
I am happy that you found my answer useful, happy to help with any other question.
Regards

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFourier Analysis and Filtering についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by