From: Bruno Luong on
"Bruno Luong" <b.luong(a)fogale.findmycountry> wrote in message <ho20lc$jdg$1(a)fred.mathworks.com>...

> You can start out with *any* basis, and do some sort of Gram-schmidt process to transform into orthogonal basis. Legendre and Chebychev are known as orthogonal because their analytic expression can be conveniently expressed, that's all.
>

Just an addition note that an even better way to carry out orthogonalization is (i) to build a Gram matrix - a matrix where each element is of the scalar products of two functions, then using (ii) SVD/eig to build the orthogonal basis.

Bruno
From: Rune Allnor on
On 20 Mar, 19:12, "Bruno Luong" <b.lu...(a)fogale.findmycountry> wrote:
> "Bruno Luong" <b.lu...(a)fogale.findmycountry> wrote in message <ho20lc$jd...(a)fred.mathworks.com>...
> > You can start out with *any* basis, and do some sort of Gram-schmidt process to transform into orthogonal basis. Legendre and Chebychev are known as orthogonal because their analytic expression can be conveniently expressed, that's all.
>
> Just an addition note that an even better way to carry out orthogonalization is (i) to build a Gram matrix - a matrix where each element is of the scalar products of two functions, then using (ii) SVD/eig to build the orthogonal basis.

Why?

There is no need to compute SVDs or EVD if all you want is
an orthogonal basis.

Your approach (i) is little more than a QR decomposition.
Once you have that, it's no need to use an additional SVD.
In fact, the SVD and EIG algorithms is based on chains of
repeated QR decompositions.

Rune
From: Bruno Luong on
Rune Allnor <allnor(a)tele.ntnu.no> wrote in message <d68aa588-4272-4618-a5f0-acccd15ca142(a)b30g2000yqd.googlegroups.com>...
> On 20 Mar, 19:12, "Bruno Luong" <b.lu...(a)fogale.findmycountry> wrote:
> > "Bruno Luong" <b.lu...(a)fogale.findmycountry> wrote in message <ho20lc$jd...(a)fred.mathworks.com>...
> > > You can start out with *any* basis, and do some sort of Gram-schmidt process to transform into orthogonal basis. Legendre and Chebychev are known as orthogonal because their analytic expression can be conveniently expressed, that's all.
> >
> > Just an addition note that an even better way to carry out orthogonalization is (i) to build a Gram matrix - a matrix where each element is of the scalar products of two functions, then using (ii) SVD/eig to build the orthogonal basis.
>
> Why?
>
> There is no need to compute SVDs or EVD if all you want is
> an orthogonal basis.
>
> Your approach (i) is little more than a QR decomposition.
> Once you have that, it's no need to use an additional SVD.
> In fact, the SVD and EIG algorithms is based on chains of
> repeated QR decompositions.
>

Sorry Rune, I have desire in explaining to you. My post is for OP.

Bruno
From: Fran on
Thanks for your help everyone. It is really appreciated!

John:

I do need a large number of polynomial coefficients. This is because I am trying to reconstruct a smooth surface from an undersampled dataset by exploiting the fact that it is sparse in the polynomial domain. I need to calculate a large number of polynomial coefficients in order to 'see' that the majority of coefficients are zero, and am therefore at the correct surface solution.

Bruno:

You are correct about the fitting and choice of basis being separate issues, as I can always project from the non-orthogonal to orthogonal basis. For convenience, I'll just start directly my fitting to Legendre or Chebyshev's.

Matt J:

Very helpful, this matrix approach is the obvious direction to take.

Thanks again!