1

我有一个线性子空间S = [v1 v2 v3 v4] = [1 1 1 2]t,其中 t 是一些标量实数。

我想根据以下内容对 S 进行转换:[v1 v2 v3 v4] = [A 2A*B 3*C 10]

T = [A B C]用上述规则定义一个新子空间的最快方法是什么,它是 S 的转换?

在此示例中, 的T值为T = [A B C] = [1 0 1/3]t + [0 1/2 0]。我通过在上面的转换规则中根据 v1、v2、v3 和 v4 找到 A、B 和 C 来得到这个。A = v1B = v2/(2A) = v2/(2*v1)C = v3/3。然后,我用我在上面 S 中找到的 v1、v2 和 v3 的值替换。在这种情况下A = 1t, 和B = (1/2)*(v2/v1) = 1/2C = (1/3)t

我想在 Python 中以编程方式确定这一点。我不能真正追求改变基础的转换(http://en.wikipedia.org/wiki/Change_of_basis),因为转换不是严格线性的。

但是,我可以保证转换只包括标量和变量 A、B 和 C 的一次幂。

编辑:我希望解决方案涉及符号数学工具包。

Edit2:除了追求这一点的最简单方法外,我还想要一个可以实际扩展到大型阵列(1000 个组件)的解决方案。

4

0 回答 0