作业帮 > 数学 > 作业

如果我知道了一个线性空间的一组基底向量,如何找出这个空间中,含0最多的向量(当然不能是全零)?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/25 08:30:46
如果我知道了一个线性空间的一组基底向量,如何找出这个空间中,含0最多的向量(当然不能是全零)?
这个空间的维数很高,所以我需要的是一个具体的可以用计算机来求解的算法或者工具或者MATLAB函数之类的.
1楼3楼的请不要乱回答。根本与题目无关。
谢谢2楼4楼的认真回答。
回2楼:如果n比较大的时候,你的算法的计算复杂度应该是超级大的吧。有没有能简单一点的算法啊?
回4楼:这个线性空间不一定是R^n空间的。比如他可能是仅仅由一个向量v=[2 3]构成的子空间。在这种情况下,[0 1]和[1 0]是不在这个空间中的。
设a1,a2,…,an是n维线性空间V的一组基底向量,故线性空间的任意一个向量均可由该组向量线性表出,欲求这个空间中含0最多的向量(当然不能是全零),坐标向量当然满足条件,它仅有一个非零的分量,设
Ei=[0,0,…0,1,0,…,0]
是第i个分量为1其余为0的向量,由于a1,a2,…,an是基底,故一定存在常数k1,k2,…,kn使得
k1×a1+ k2×a2+…+kn×an= Ei
设A=[a1 a2 … an]是由a1,a2,…,an为列的矩阵,X=[k1,k2,…,kn]^T,则由上式得
AX= Ei
这是一个n阶线性方程组,利用高斯消去法或三角分解可求出k1,k2,…,kn.
首先回答你后面这个问题:[0 1]和[1 0]不在这个空间中的,因为你给出的是1个2维向量,不能构成基,仅形式为[2k,3k]的向量(k为任意常数)在该空间内(共线的),[0 1]和[1 0]均不能表示为v=[2 3]的倍数.
回答你开始的问题:如果你给的不是R^n空间,这更好办,设a1,a2,…,an是任间抽象元素,因为它是一组基底向量,故维线性空间所有元均能用这组元线性表出,当然a1,a2,…,an也在该空间内,此时这组元对应的恰是R^n空间的坐标向量,即
a1=1×a1+ 0×a2+…+0×an
a2=0×a1+ 1×a2+…+0×an
….
an=0×a1+ 0×a2+…+1×an
此时这组向量的任何一个均满足你的要求.