Sage:找到给定指定元素的指定基础的线性组合?

时间:2011-12-01 15:31:56

标签: sage

给定一个向量空间V,一个基础B(每个大小对应于V的维度和同一个字段的元组列表)和一个向量v - 什么是用于找到(唯一)线性组合的sage命令B的元素给出了v?

1 个答案:

答案 0 :(得分:2)

IIUC,你可能想做这样的事情:

sage: basis = [(2,3,4),(1,23/4,3), (9,8/17,11)]
sage: F = QQ
sage: F
Rational Field
sage: 
sage: # build the vector space
sage: dim = len(basis[0])
sage: VS = (F**dim).span_of_basis(basis)
sage: VS
Vector space of degree 3 and dimension 3 over Rational Field
User basis matrix:
[   2    3    4]
[   1 23/4    3]
[   9 8/17   11]

然后,在场上构建了向量空间:

sage: # choose some random vector
sage: v = vector(F, (19/2, 5/13, -4))
sage: v
(19/2, 5/13, -4)
sage: 
sage: # get its coordinates
sage: c = VS.coordinate_vector(v)
sage: c
(-470721/19708, 59705/4927, 24718/4927)
sage: parent(c)
Vector space of dimension 3 over Rational Field
sage: 
sage: # aside: there's also .coordinates(), but that returns a list instead
sage: 
sage: # sanity check:
sage: VS.basis_matrix().transpose() * c
(19/2, 5/13, -4)
sage: VS.basis_matrix().transpose() * c == v
True