感谢您对我的问题的关注:)
我的问题是找到一个(足够有效的)算法来找到给定权重函数f的正交多项式。
我试图简单地应用Gram-Schmidt算法,但这个算法效率不高。实际上,它需要O(n ^ 2)个积分。但我的目标是使用此算法来查找函数f的Hankel determinants。所以"直接"计算包括简单地计算矩阵并采用其决定因素只需要2 * n - 1个积分。
但是我想用这个定理来说明f的阶数n的Hankel行列式是f的正交多项式的n个第一前导系数的乘积。原因是当n变大(比如大约20)时,Hankel行列式变得非常大,我的目标是将它除以另一个大常数(对于n = 20,常数为10 ^ 103)。我的想法是"稀释"计算领先系数乘积中的常数。
我希望有一个O(n)算法来计算n个第一正交多项式:)我已经完成了一些挖掘并且在一般函数f的任何方向都没有找到(f可以是任何平滑函数,实际上)
编辑:我在这里确切地说明了我所谈论的对象是什么。
1)n阶的Hankel行列式是方形矩阵的行列式,其在倾斜对角线上是恒定的。例如,
a b c
b c d
c d e
是大小为3乘3的Hankel矩阵。
2)如果你有一个函数f:R - > R,你可以联系到它的第k个时刻"这被定义为(我将把它写在tex中)f_k:= \ int _ {\ mathbb {R}} f(x)x ^ k dx
有了这个,你可以创建一个Hankel矩阵A_n(f),其条目是(A_n(f)) {ij} = f {i + j-2},这是一个像
f_0 f_1 f_2
f_1 f_2 f_3
f_2 f_3 f_4
考虑到这一点,很容易定义f的Hankel行列式,这很简单 H_n(f):= det(A_n(f))。 (当然,可以理解f在无穷远处有足够的衰减,这意味着所有的时刻都很明确.f的典型选择可能是高斯f(x)= exp(-x ^ 2),或任何连续的在一组紧凑的R ...上运行。)
3)我称之为f的正交多项式是一组多项式(p_n),这样
\ int _ {\ mathbb {R}} f(x)p_j(x)如果j = k且0 otherwize,则p_k(x)为1。
(因为它们形成了关于标量积的多项式向量空间的标准正交基,所以它们被称为
(p | q)= \ int _ {\ mathbb {R}} f(x)p(x)q(x)dx
4)现在,它是基本的线性代数,从配备标量积的向量空间的任何基础,你可以通过Gram-Schmidt algorithm建立一个标准正交基。这是n ^ 2集成的来源。你从基础1,x,x ^ 2,...,x ^ n开始。那么你需要n(n-1)个积分来使该族成为正交,你还需要n个以便对它们进行归一化。
5)有一个定理说如果f:R - > R是一个在无穷远处具有足够衰减的函数,那么我们得到它的Hankel行列式H_n(f)等于
H_n(f)= \ prod_ {j = 0} ^ {n-1} \ kappa_j ^ { - 2}
其中\ kappa_j是f的第j + 1正交多项式的前导系数。
感谢您的回答!
(PS:我标记了八度,因为我在八度音程中工作,运气不错(但我对此表示怀疑),有一个内置函数或已完成管理这种思考的包)
答案 0 :(得分:2)
正交多项式遵循递归关系,我们可以将其写为
P[n+1] = (X-a[n])*P[n] - b[n-1]*P[n-1]
P[0] = 1
P[1] = X-a[0]
我们可以通过
计算a,b系数a[n] = <X*P[n]|P[n]> / c[n]
b[n-1] = c[n-1]/c[n]
,其中
c[n] = <P[n]|P[n]>
(此处&lt; |&gt;是您的内在产品)。
但是我不能保证这个过程的稳定性。