Processing math: 100%
Ask Your Question
0

Matrix of vectors

asked 12 years ago

DG44 gravatar image

updated 12 years ago

Hi.

Suppose that I have a collection of vectors v1,,vnR3 and I wish to compute all cross products vi×vjR3 where 1i<jn. Is it possible to store the output in a matrix, i.e. can I form a matrix M in Sage where M(i,j)=vi×vj?

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
2

answered 12 years ago

ppurka gravatar image

What kind of operations would you do on a 3-dimensional matrix? As far as I know this is not possible in Sage because the matrix needs to be defined over some ring. If you are not doing any fancy operations, then you might as well just store the vectors in a list of lists.

sage: v = vector(ZZ, [1,2,3])
sage: w = vector(ZZ, [2,3,4])
sage: V = [v, w]
sage: L = [[a.cross_product(b) for b in V] for a in V]
sage: L
[[(0, 0, 0), (-1, 2, -1)], [(1, -2, 1), (0, 0, 0)]]
Preview: (hide)
link
0

answered 12 years ago

DG44 gravatar image

What I would like is to create a matrix M where M(i,j) is a vector, not just a real number!

The code you gave produces a 2x2 matrix just of real numbers I believe. I want vectors to specify the entries M(i,j) of M, not the rows/columns.

Preview: (hide)
link

Comments

You should have written this as a comment to calc314's answer, not as an answer to your question. On the other hand, ppurka's answer is appropriate and you should accept it (click the "accept" button) so that you question is displayed as solved and the correct answer is highlighted.

slelievre gravatar imageslelievre ( 12 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 12 years ago

Seen: 548 times

Last updated: Apr 10 '13