21.5.11 t2

tag:矩阵,特征值,计算几何

题目

设直线为 \(\lambda\vec v,\ |\vec v|=1\),则点 \(x_i\) 在直线上的投影为 \(\vec{x_i}\cdot\vec v\),所以要求的即为

\[\sum |x_i|^2-(\vec{x_i}\cdot\vec v) \]

也就是求后者的最大值,把后者展开

\[\sum_{i,j}v_iv_jx_{k,i}x_{k,j} \]

可以写成矩阵形式

\[\begin{bmatrix}v_1&\cdots&v_d\end{bmatrix} \begin{bmatrix}x_{k,1}x_{k,1}&\cdots&x_{k,1}x_{k,d}\\\vdots&\ddots&\vdots\\x_{k,d}x_{k,1}&\cdots&x_{k,d}x_{k,d}\end{bmatrix} \begin{bmatrix}v_1\\\vdots\\v_d\end{bmatrix} \]

简写成 \(ABA^T\)

由于 \(B\) 是对称矩阵,所以有 \(B=P\Lambda P^T\)\(P\) 为正交矩阵,\(\Lambda\) 为对角矩阵。

\(ABA^T=AP\Lambda P^TA^T=Y\Lambda Y^T\),由于 \(|A|=1\)\(P\) 为正交矩阵,所以 \(|Y|=1\)

\[|Y|=YY^T=APP^TA^T=AA^T=|A| \]

展开来即为

\[\sum a_i^2b_i\quad(\sum a_i^2=1) \]

就相当于是求 \(\max b_i\),也就是 \(B\) 的特征值。

随机一个 \(\vec x\),求出 \(\frac{B^{inf+1}x}{B^{inf}x}\) 即可,令 \(inf=10000\) 左右可以满足精度要求

posted @ 2021-06-25 09:44  oisdoaiu  阅读(32)  评论(0编辑  收藏  举报