Ask Your Question
1

solving a matrix equation modulo m

asked 2013-12-22 07:12:57 +0200

tedmos gravatar image

Hello,

I am quite new to sage an have troubles with the following problem:

I'm given a matrix 'A' and a vector 'b' and a positiv interger 'm' (m does not have to be prime). 'A' is a matrix with more rows than collums, so it is not quadratic. I would like to find the solution 'x' of the equation: A*x = b (mod m).

I have tried to manage it with e.g.:

A.solve_right(Integers(m),p),

but this works only if m is prime. I also was able to solve my problem if I explicitly insert the equations like this:

gp('matsolvemod([1,2;1,3],6,[1,0]~,1)')

But I need something, where I just have to specify 'A' and 'b' (and of course m). Can somebody help me?

best regards

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2013-12-22 08:28:33 +0200

tmonteil gravatar image

updated 2013-12-22 08:34:06 +0200

You should directly work on the $\mathbb{Z}/m\mathbb{Z}$ module as follows:

sage: R = IntegerModRing(15)
sage: M = Matrix(R, [[1,2],[1,4],[2,4]])
sage: b = vector(R, [3,5,6])
sage: M.solve_right(b)
(1, 1)
edit flag offensive delete link more

Comments

Hello and thanks for the answer. If I try your example above I get the following error: TypeError: base ring must be an integral domain I get this error if and only if m is not prime (in this case m=15 is not prime). I tried your example with the free sage provided online at [sagemath](http://www.sagemath.org/) and there it works fine. So could it be, that my version is not up to date, although I downloaded it last week?

tedmos gravatar imagetedmos ( 2013-12-22 09:17:33 +0200 )edit

I was using Sage 5.12, what is the result of the `version()` function ?

tmonteil gravatar imagetmonteil ( 2013-12-22 10:15:21 +0200 )edit

This is my version: 'Sage Version 5.8, Release Date: 2013-03-15'

tedmos gravatar imagetedmos ( 2013-12-22 11:48:04 +0200 )edit

It also works on the latest 6.0, so perhaps should you upgrade.

tmonteil gravatar imagetmonteil ( 2013-12-22 11:52:38 +0200 )edit

Ok thank you, with 6.0 everything works fine now!

tedmos gravatar imagetedmos ( 2013-12-22 15:41:45 +0200 )edit

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: 2013-12-22 07:12:57 +0200

Seen: 6,120 times

Last updated: Dec 22 '13