Ask Your Question
1

Finding integer solutions to systems of polynomial equations

asked 2011-10-07 12:52:03 +0200

Nathan gravatar image

Hi,

I am trying to do something very simple but have been struggling.

Here is a simplified example that I can't get to work. I want to define polynomials with integer coefficients, say f(A,B) = A+B, g(A,B) = aA+bB, where I want to assume that a and b are intgers. I want the solver to give me the values of a and b so that f-g is equal to zero as a polynomial in A and B. So, I want it to give me a== 1, b== 1.

I have tried something like this-

R.< A,B > = ZZ[]

f = A+B

var('a', domain = ZZ)

var('b', domain = ZZ)

g = aA+bB

solve(f-g==0,a,b),

but what it gives me is [a == -((b-1)*B-A)/A, [1]].

How do I define variables a and b which are integers, but unknown integers? No matter what I seem to do, they are put in Symbolic Ring. How do I get the solve command to give me integer solutions to a set of linear equations?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2011-10-07 13:36:59 +0200

kcrisman gravatar image

This isn't an answer, but one thing that could be useful in general with integers is to do

assume(A,'integer')

But solve in general is via Maxima, which will assume you are using "normal" real or complex variables, and this doesn't help (because Maxima explicitly avoids your assumptions in solving, because it is assumed you are using dummy variables in solve commands).

I am not really sure how the domain parameter influences things.

edit flag offensive delete link more

Comments

I have tried using assume(a,'integer) but a still seems to be in the Symbolic Ring. It still gives me an answer for a which is often not an integer for different values of A and B.

Nathan gravatar imageNathan ( 2011-10-07 15:51:56 +0200 )edit

Right, which is why this wasn't an answer, but just some related information you might find useful. 'a' will always be in the symbolic ring unless you change it to a polynomial ring. You would probably have to use integer programming techniques of some kind...

kcrisman gravatar imagekcrisman ( 2011-10-08 22:12:20 +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: 2011-10-07 12:52:03 +0200

Seen: 4,205 times

Last updated: Oct 07 '11