I have a system of linear equations
$$ a+b+c \equiv 31 \pmod{54} $$ $$ 4a+2b+c \equiv 3 \pmod{54} $$ $$ 9a+3b+c \equiv 11 \pmod{54} $$
What should I input (I'm using LinearSolve
)? It doesn't seem to work for composite modulo numbers. I have been unable to get Mathematica to give me all the possible solutions.
Answer
Working with LinearSolve
we encounter some inconsistency of the related option Modulus -> z
if z
is not prime. Nonetheless we could do this
Mod[ LinearSolve[ {{1, 1, 1}, {4, 2, 1}, {9, 3, 1}}, {31, 3, 11}], 54]
{18, 26, 41}
Unfortunately we can get only one solution unlike when working with Solve
. These posts describe another problems or bugs related to Modulus
or Mod
:
Solving/Reducing equations in Z/pZ
Strange behaviour of Reduce for Mod[x,1]
Note that the latter points some bugs present in versions 7
and 8
which have been fixed in version 9
of Mathematica.
Even though LinearSolve
doesn't appear to be an appropriate approach w can use the Modulus
option in another equation-solving functionality like e.g.: Solve
or Reduce
and in some other functions related to algebraic manipulations. This yields a symbolic result:
Solve[{ a + b + c == 31,
4 a + 2 b + c == 3,
9 a + 3 b + c == 11}, {a, b, c}, Modulus -> 54]
{{a -> 18 + 27 C[1], b -> 26 + 27 C[1], c -> 41}}
To get a full list of solutions we should put the result in a table, (changing generated parameters since they are protected to another ones e.g. k
). We can see that we need the table of length two only otherwise we would get may duplicates.
Table[ Mod[{a, b, c} /. %, 54] /. C[1] -> k, {k, 2}]
{{{45, 53, 41}}, {{18, 26, 41}}}
These are all solutions of the related system $\mod 54$:
Apply[{ Mod[#1 + #2 + #3, 54] - 31,
Mod[4 #1 + 2 #2 + #3, 54] - 3,
Mod[9 #1 + 3 #2 + #3, 54] - 11}&, %, {2}]
{{{0, 0, 0}}, {{0, 0, 0}}}
Comments
Post a Comment