求解线性子空间的交空间
今天群友们讨论一个问题(应该是今年牛客多校的题目),
Linear Algebra, Vector Space: how to find intersection of two subspaces ?
故在此记录一下
math.stackchange上网友的solution:
简单来说,将原有的两个空间的所有基按列放置,分别构成 U U U和 V V V,然后令:
M ^ = P U P V \hat{M} = P_UP_V M^=PUPV, P U , P V P_U,\ P_V PU, PV具体见上面图片,其都是 n ∗ n n*n n∗n的可逆矩阵。
然后如果 M ^ \hat{M} M^由特征值1,那么该特征值对应的特征向量空间即为intersection,也即 ( M ^ − E ) x = 0 (\hat{M}-E)\textbf{x} = \textbf{0} (M^−E)x=0
的 x \textbf{x} x解空间。
一个错误的solution
如果b的基都不能被a表示,不代表交空间为空
考虑三维空间中的两个二维空间,交空间为一维的线
但一个空间的两个基,不一定能由另一个空间的所有基线性表示(两个基可能都不行,只是两个基的某个组合可以被表示)
一个代码实现的思路