【发布时间】:2019-03-09 23:17:01
【问题描述】:
给定 numpy 中的两个基矩阵 basis_old 和 basis_new,库中是否有一个函数可以获取转换矩阵以将 basis_old 中的向量 vec 转换为 basis_new 中的表示形式?
例如,如果我在标准基[1,0,0], [0,1,0], [0,0,1] 中有一个向量vec = [1,2,3],我如何将其转换为另一个基,例如,
e1 = [1 0 0]
e2 = [0 0 1]
e3 = [0 1 0]
basis_new = np.array([e1, e2, e3])
# I want something like this
vec_new = np.linalg.change_of_basis(vec_old, basis_old, basis_new)
# Or this:
transformation_matrix = np.linalg.basis_change(basis_old, basis_new)
编辑:将 base_new 更改为线性独立
【问题讨论】:
-
不就是一个点积吗?
-
您的
basis_new不是依据;-)。从标准基础坐标到另一个基础,您可以使用linalg.solve。 -
你的 new
basis_new仍然不是基础。 -
我的意思是每一行都是一个基向量(我不擅长数学
)。我将进行编辑以澄清。 -
我讨厌迂腐,但对于方阵,行是 l.i.当且仅当列是 l.i.
标签: python numpy linear-algebra