(略微)线性编程

时间:2012-08-27 22:55:14

标签: python math numpy linear-algebra linear-programming

我有一个线性子空间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 = v1以及B = v2/(2A) = v2/(2*v1)C = v3/3。然后,我替换为上面S中的v1,v2和v3找到的值。在这种情况下,A = 1tB = (1/2)*(v2/v1) = 1/2C = (1/3)t

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

但是,我可以保证转换只包含标量和变量A,B和C作为第一个幂。

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

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

0 个答案:

没有答案