Ask Your Question
0

Right choice for a dictionary of matrices with non constant coefficients.

asked 2020-07-03 14:32:53 +0100

Boston gravatar image

updated 2020-07-03 14:35:59 +0100

Hi,

K is any field.

I need to store matrices in a dictionary.

Some of them have constant coefficients in K (let M1 be such a matrix), and some have non constant coefficients, say these coeffcients are functions from t to K (let M2 be such a matrix).

I need to get M2 from the dictionary, and then be able to manipulate it as if it was a function of t.

(T) In particular, I need to be able to manipulate the matrices obtained from M2 by setting t to be equal to some specific values.

Since my functions are polynomials for now, I have tried doing something like this:

var('t') sample = {} sample[('M1')] = matrix(QQ, 2, [7, 5, 2, 4]) sample[('M2')] = matrix(QQ['t'], 2, [t^2, 2, 3, 1 - t])

But then I don't know how to proceed to perform the task (T). And I have the feeling that there are much better options.

What should I do?

Thanks.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-07-04 11:20:20 +0100

mwageringel gravatar image

You can use subs on a matrix to substitute variables by values:

sage: sample = {}
sage: sample['M1'] = matrix(QQ, 2, [7, 5, 2, 4])
sage: R.<t> = QQ[]
sage: sample['M2'] = matrix(R, 2, [t^2, 2, 3, 1 - t])
sage: sample['M2'].subs({t: 10})
[100   2]
[  3  -9]
sage: sample['M2'].subs({t: 20})
[400   2]
[  3 -19]
edit flag offensive delete link more

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: 2020-07-03 14:32:53 +0100

Seen: 747 times

Last updated: Jul 04 '20