I've been reading this article: http://aix1.uottawa.ca/~jkhoury/haar.htm which explains the Haar Wavelet Transform.

At a certain point, the author says:

... Since the transformation matrix $W$ is the product of three other matrices, one can normalize $W$ by normalizing each of the three matrices. The normalized version of $W$ is ...

and provides final matrix.

But he doesn't provide the exact procedure for matrix normalization he used. Probably someone with a deep understanding of the Haar Wavelet Transform can explain me, how matrices were normalized so that final result was obtained.

I've been searching the Internet for matrix normalization and couldn't find anything suitable. Also contacted author of article but didn't get any response so far.

  • $\begingroup$ does it really matter? just throw gram-schmidt at the matrix... $\endgroup$ Commented Oct 9, 2016 at 15:28
  • $\begingroup$ Probably it may sound surprising, but this is exactly what matters to me, otherwise I wouldn't post the question. $\endgroup$
    – ivan.ukr
    Commented Oct 9, 2016 at 15:32
  • $\begingroup$ Sorry I'm not a very big specialist in this area of math, so "gram-schmidt" says noting to me. If you can, please answer original question. $\endgroup$
    – ivan.ukr
    Commented Oct 9, 2016 at 15:34
  • $\begingroup$ so the point is that you want to normalize the orthogonal matrix. Gram-Schmidt is the standard method that is taught for orthonormalizing matrices (see your favourite undergrad math textbook or wikipedia); your matrix is already orthogonal, so my question is: Why does the used algorithm matter to you? If you only change the scaling of let's say each column vector, all algorithms should be identical, so use the one that's most intuitive. Since you're talking about matrix normalization, I just assumed you were familiar with the most basic algorithm $\endgroup$ Commented Oct 9, 2016 at 15:38
  • $\begingroup$ What I have tries so far: $\endgroup$
    – ivan.ukr
    Commented Oct 9, 2016 at 15:47

1 Answer 1


After a few quick calculations, it seems to me that the trouble comes from poor notations for the root in your reference. If you read, in the final normalized matrix, $\sqrt{8/64}$ and $\sqrt{2/4}$ instead of $\sqrt{8}/64$ and $\sqrt{2}/4$ (along with the $\pm$ signs), then the final result is correct.

The matrices $V_i$ are orthogonal. To normalize them, you only need to multiply them by a diagonal matrix $D_i$ made from the inverse of the norm of each column.

For $V_1$, the norms are all equal to $\sqrt{1/2^2+1/2^2}=\sqrt{1/2}$. Hence, you can multiply $V_1$ by the diagonal matrix $$D_1= \operatorname{Diag} \{\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2}\}\,.$$ and get an orthonormal matrix. Similarly, you get that: $$D_2= \operatorname{Diag} \{\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,1,\,1,\,1,\,1\}\,,$$ and $$D_3= \operatorname{Diag} \{\sqrt{2},\,\sqrt{2},\,1,\,1,\,1,\,1,\,1,\,1\}\,.$$

Finally, because of commutativity, you get a matrix $D=D_1 D_2 D_3$:

$$D= \operatorname{Diag} \{2\sqrt{2},\,2\sqrt{2},\,2,\,2,\,\sqrt{2},\,\sqrt{2},\,\sqrt{2},\,\sqrt{2}\}\,.$$

If you now multiply the matrix $W$ (the one with the $1/8$)

enter image description here

with that matrix $D$, you get a final matrix $W$:

enter image description here

provided the notation interpretation for the square root. For instance, you can recover $1/8\times 2\sqrt{2} = \frac{\sqrt{8}}{\sqrt{8^2}} =\sqrt{8/64} $.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.