数值方法如何精确构造正交多项式?矩阵方程变量X带转置该怎么解?

我用用数值方法得到了权重 W(r) ,因此希望利用正交化关系计算一系列正交多项式:

\int_0^\infty dr W(r) f_k(r) f_{k'}(r)=\delta_{kk'},\{k=0,1,...,\infty \}

我采取的方法是Gram-Schmidt(CGS)正交化操作。

这个方法在 k 比较小时比较好用。但是CGS随着 k 的增加,误差会累计,因此到了后面正交归一的效果比较差。

Q1:如何精确构造正交多项式还能满足上面数值权重呢?


我也试过Modified Gram-Schmidt(MGS)操作。不知道(MGS)是只适用于矢量还是咋的,不太行。

我照着人家julia MGS代码改的,出错的可能性不大。


最后我尝试将他们的系数用矩阵一股脑求出来,避免CGS操作的误差累计。现在在这么一个方程上卡住:

X^T A X = I

这里$X$是一个上三角矩阵,有逆。 A 是一个方阵。

目前MatrixEquations.jl andreasvarga/MatrixEquations.jl: Solution of Lyapunov, Sylvester and Riccati matrix equations using Julia (github.com)提供了一系列经典矩阵的solver,我看了下,顶多系数带转置,还没有未知矩阵 X 转置的。

现在这个转置我是没法消掉。请问

Q2: 这种待求矩阵转置该如何转化成经典的矩阵方程呢?
Q3: 没有办法的话,上面的方程本身有办法解吗?

X^TAX=I
A=X^{-T}X^{-1}
所以对A使用cholesky分解,再求逆即可。
但需要保证A是对称正定阵。

2 个赞

学到了,居然有现成的方法。

我还是同时在两边进行行变换(列变换),使得 A 变成 I ,再把前面用到的列变换矩阵累乘的。