Полиномы Чебышева. Почему не ортогональны? Среди ортогональных многочленов очень часто упоминаются полиномы Чебышева (первого рода). Везде пишут примерно следующее:
Цитата
Свойства многочленов Чебышева.
1. Система {Tn(x)}n=0,1,... ортогональна на отрезке [-1,1] с весом h(x)=1/sqrt(1-x2)
Готовых функций, которые генеруют эти полиномы, всюду завались, и по сути все они делают одно и тоже. Короче говоря, сгенерила я эти полиномы от n=0 до n=5 включительно, представляя отрезок [-1,1] в виде массива дискретных элементов, достаточно длинного, чтобы эффект дескретизации сказывался слабо. Например, массив из gap=101 элемента (нечетное количество элементов выбирала для того, чтобы иметь среднюю точку). Номер элемента (i) пересчитывается в значение x из отрезка [-1,1] по формуле:
x = (double)(2*i)/(gap-1) - 1.0;
где: gap - длина массива.
Т.е. 0-й элемент массива соответствует (x=-1.0), а последний 100-й соответствует (x=+1.0). Серединка (50-й элемент) соответствует x=0.
Получилась матрица F, размером gap x 6. Если построить графики по столбцам той матрицы, то получим картинку, индентичную той, что нарисована а Википедии:

(форум не хочет эту картинку показывать)
http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%...0%B0_%D0%A2.gifВроде бы теперь мне только жить, да радоваться

. Только дернуло меня проверить эти вектора на ортогональность - вычислив продукт F*F' (размерность 6 x 6):
Код
1.0000 -0.0000 -0.3200 0.0000 -0.0556 -0.0000
-0.0000 0.3400 -0.0000 -0.1878 0.0000 -0.0364
-0.3200 -0.0000 0.4722 -0.0000 -0.1686 -0.0000
0.0000 -0.1878 -0.0000 0.4914 -0.0000 -0.1619
-0.0556 0.0000 -0.1686 -0.0000 0.4981 -0.0000
-0.0000 -0.0364 -0.0000 -0.1619 -0.0000 0.5016
Тут я этот продукт еще на число gap поделила, чтобы длина вектора не сказывалась.
И что вижу? Фигня какая-то... Ортогональны
между собой лишь полиномы четных степеней с нечетными, а в остальных случах внедиагональные элементы слишком велики, чтобы их можно было списать на погрешность дискретизации. Впрочем, погрешность дискретизации можно еще понизить, увеличив длину вектора - тогда дискрета станет меньше. Проверила. При длине вектора gap=1001 имею:
Код
1.0000 0.0000 -0.3320 0.0000 -0.0656 -0.0000
0.0000 0.3340 -0.0000 -0.1988 -0.0000 -0.0466
-0.3320 -0.0000 0.4672 -0.0000 -0.1798 0.0000
0.0000 -0.1988 -0.0000 0.4862 0.0000 -0.1734
-0.0656 -0.0000 -0.1798 0.0000 0.4926 -0.0000
-0.0000 -0.0466 0.0000 -0.1734 -0.0000 0.4955
А при gap=10001:
Код
1.0000 -0.0000 -0.3332 0.0000 -0.0666 -0.0000
-0.0000 0.3334 0.0000 -0.1999 0.0000 -0.0475
-0.3332 0.0000 0.4667 -0.0000 -0.1808 -0.0000
0.0000 -0.1999 -0.0000 0.4858 0.0000 -0.1745
-0.0666 0.0000 -0.1808 0.0000 0.4921 0.0000
-0.0000 -0.0475 -0.0000 -0.1745 0.0000 0.4950
Куда еще дальше? Если отрезок [-1,1] представлен вектором, длиной в 10 тыс. элементов, то дискретизация становится исчезающе малой. А у меня корреляции от длины вектора практически не зависят. А корреляция между T0 и Т2 вообще ни в какие ворота не лезет -0.3332. Тем более что, если взять вместо полиномов Чебышева ряды Фурье, то даже на коротеньких массивах в 15-25 элементов ортогональность векторов очень хорошая.
Значит, это не погрешность дискретизации. Тогда что?
Где эта хваленая ортогональность, если я ее не вижу?

Не исключаю, что я здесь что-то важное недопонимаю, а потому и обращаюсь за консультацией. Что происходит? Должны ли полиномы Чебышева (первого рода) так себя вести, или мне надо продолжать искать ошибку у себя?