求解线性子空间的交空间
今天群友们讨论一个问题(应该是今年牛客多校的题目),
Linear Algebra, Vector Space: how to find intersection of two subspaces ?
故在此记录一下
math.stackchange上网友的solution:
简单来说,将原有的两个空间的所有基按列放置,分别构成UUU和VVV,然后令:
M^=PUPV\hat{M} = P_UP_VM^=PUPV,PU, PVP_U,\ P_VPU, PV具体见上面图片,其都是n∗nn*nn∗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表示,不代表交空间为空
考虑三维空间中的两个二维空间,交空间为一维的线
但一个空间的两个基,不一定能由另一个空间的所有基线性表示(两个基可能都不行,只是两个基的某个组合可以被表示)
一个代码实现的思路