# Question:Using Linsolve for large systems of linear equations mod 2

## Question:Using Linsolve for large systems of linear equations mod 2

Maple

Hi,
I am solving large systems of linear equations (mod 2) which are of this form ,
systems:= {0 = f[[1, 4]]-f[[1, 3]], 0 = f[[1, 5]]-f[[1, 3]], 0 = f[[1, 5]]-f[[1, 4]], 0 = f[[1, 6]]-f[[1, 3]], 0 = f[[1, 6]]-f[[1, 4]], 0 = f[[1, 6]]-f[[1, 5]], 0 = f[[1, 7]]-f[[1, 3]], 0 = f[[1, 7]]-f[[1, 4]], 0 = f[[1, 7]]-f[[1, 5]], 0 = f[[1, 7]]-f[[1, 6]], 0 = f[[2, 4]]-f[[1, 3]], 0 = f[[2, 5]]-f[[1, 3]], 0 = f[[2, 5]]-f[[1, 4]], 0 = f[[2, 6]]-f[[1, 3]], 0 = f[[2, 6]]-f[[1, 4]], 0 = f[[2, 6]]-f[[1, 5]], 0 = f[[2, 6]]-f[[2, 4]], 0 = f[[2, 6]]-f[[2, 5]], 0 = f[[2, 7]]-f[[1, 3]], 0 = f[[2, 7]]-f[[1, 4]], 0 = f[[2, 7]]-f[[1, 5]], 0 = f[[2, 7]]-f[[1, 6]], 0 = f[[2, 7]]-f[[2, 4]], 0 = f[[2, 7]]-f[[2, 5]], 0 = f[[3, 1]]-f[[1, 4]], 0 = f[[3, 1]]-f[[1, 5]], 0 = f[[3, 1]]-f[[1, 6]], 0 = f[[3, 1]]-f[[2, 7]], 0 = f[[3, 5]]-f[[1, 4]], 0 = f[[3, 5]]-f[[1, 5]], 0 = f[[3, 5]]-f[[2, 4]], 0 = f[[3, 5]]-f[[2, 5]], 0 = f[[3, 6]]-f[[1, 3]], 0 = f[[3, 6]]-f[[1, 4]], 0 = f[[3, 6]]-f[[1, 5]], 0 = f[[3, 6]]-f[[1, 6]], 0 = f[[3, 6]]-f[[2, 4]], 0 = f[[3, 6]]-f[[2, 5]], 0 = f[[3, 6]]-f[[2, 6]], 0 = f[[3, 7]]-f[[1, 4]], 0 = f[[3, 7]]-f[[1, 5]], 0 = f[[3, 7]]-f[[1, 6]], 0 = f[[3, 7]]-f[[1, 7]], 0 = f[[3, 7]]-f[[2, 4]], 0 = f[[3, 7]]-f[[2, 5]], 0 = f[[3, 7]]-f[[2, 6]], 0 = f[[3, 7]]-f[[2, 7]], 0 = f[[3, 7]]-f[[3, 6]], 0 = f[[4, 1]]-f[[1, 5]], 0 = f[[4, 1]]-f[[1, 7]], 0 = f[[4, 1]]-f[[2, 7]], 0 = f[[4, 1]]-f[[3, 5]], 0 = f[[4, 1]]-f[[3, 7]], 0 = f[[4, 2]]-f[[2, 6]], 0 = f[[4, 2]]-f[[2, 7]], 0 = f[[4, 6]]-f[[1, 5]], 0 = f[[4, 6]]-f[[1, 6]], 0 = f[[4, 6]]-f[[2, 5]], 0 = f[[4, 6]]-f[[2, 6]], 0 = f[[4, 6]]-f[[3, 5]], 0 = f[[4, 6]]-f[[3, 6]], 0 = f[[4, 7]]-f[[1, 5]], 0 = f[[4, 7]]-f[[1, 6]], 0 = f[[4, 7]]-f[[1, 7]], 0 = f[[4, 7]]-f[[2, 5]], 0 = f[[4, 7]]-f[[2, 6]], 0 = f[[4, 7]]-f[[2, 7]], 0 = f[[4, 7]]-f[[3, 5]], 0 = f[[4, 7]]-f[[3, 6]], 0 = f[[4, 7]]-f[[4, 6]], 0 = f[[5, 1]]-f[[2, 6]], 0 = f[[5, 1]]-f[[2, 7]], 0 = f[[5, 1]]-f[[3, 6]], 0 = f[[5, 1]]-f[[4, 6]], 0 = f[[5, 2]]-f[[2, 7]], 0 = f[[5, 2]]-f[[3, 5]], 0 = f[[5, 2]]-f[[3, 6]], 0 = f[[5, 2]]-f[[3, 7]], 0 = f[[5, 2]]-f[[4, 6]], 0 = f[[5, 2]]-f[[4, 7]], 0 = f[[5, 3]]-f[[4, 7]], 0 = f[[5, 7]]-f[[1, 6]], 0 = f[[5, 7]]-f[[1, 7]], 0 = f[[5, 7]]-f[[2, 6]], 0 = f[[5, 7]]-f[[2, 7]], 0 = f[[5, 7]]-f[[3, 6]], 0 = f[[5, 7]]-f[[3, 7]], 0 = f[[5, 7]]-f[[4, 6]], 0 = f[[5, 7]]-f[[4, 7]], 0 = f[[6, 1]]-f[[1, 7]], 0 = f[[6, 1]]-f[[3, 6]], 0 = f[[6, 1]]-f[[4, 7]], 0 = f[[6, 1]]-f[[5, 7]], 0 = f[[6, 2]]-f[[3, 7]], 0 = f[[6, 2]]-f[[4, 7]], 0 = f[[6, 3]]-f[[4, 6]], 0 = f[[6, 3]]-f[[5, 7]], 0 = f[[6, 4]]-f[[5, 7]], 0 = f[[7, 2]]-f[[3, 7]], 0 = f[[7, 2]]-f[[5, 7]], 1 = f[[3, 1]]-f[[1, 7]], 1 = f[[3, 1]]-f[[2, 4]], 1 = f[[3, 1]]-f[[2, 5]], 1 = f[[3, 1]]-f[[2, 6]], 1 = f[[3, 1]]-f[[3, 6]], 1 = f[[4, 1]]-f[[1, 6]], 1 = f[[4, 1]]-f[[2, 5]], 1 = f[[4, 1]]-f[[2, 6]], 1 = f[[4, 1]]-f[[3, 6]], 1 = f[[4, 2]]-f[[3, 5]], 1 = f[[4, 2]]-f[[3, 6]], 1 = f[[4, 2]]-f[[3, 7]], 1 = f[[5, 1]]-f[[1, 6]], 1 = f[[5, 1]]-f[[1, 7]], 1 = f[[5, 1]]-f[[3, 5]], 1 = f[[5, 1]]-f[[3, 7]], 1 = f[[5, 1]]-f[[4, 7]], 1 = f[[5, 2]]-f[[2, 6]], 1 = f[[5, 3]]-f[[4, 6]], 1 = f[[6, 1]]-f[[2, 7]], 1 = f[[6, 1]]-f[[3, 7]], 1 = f[[6, 1]]-f[[4, 6]], 1 = f[[6, 2]]-f[[3, 6]], 1 = f[[6, 2]]-f[[4, 6]], 1 = f[[6, 2]]-f[[5, 7]], 1 = f[[6, 3]]-f[[3, 7]], 1 = f[[6, 3]]-f[[4, 7]], 1 = f[[6, 4]]-f[[4, 7]], 1 = f[[7, 1]]-f[[3, 7]], 1 = f[[7, 1]]-f[[4, 7]], 1 = f[[7, 1]]-f[[5, 7]], 1 = f[[7, 2]]-f[[4, 7]], 1 = f[[7, 3]]-f[[5, 7]], 1 = f[[7, 4]]-f[[5, 7]]};

I have been using msolve as follows; msolve(systems,2);  which returns NULL if there is no solution. This however takes a lot of my computer memory and also take a lot of time since the equations are very many.  I decided to try LinearSolve, but it doesn't give me any solutions even for the ones that I know that the solutions exist. My code was writen as follows:

systems:=as above..

vars := [f[[1, 3]], f[[1, 4]], f[[1, 5]], f[[1, 6]], f[[1, 7]], f[[2, 4]], f[[2, 5]], f[[2, 6]], f[[2, 7]], f[[3, 1]], f[[3, 5]], f[[3, 6]], f[[3, 7]], f[[4, 1]], f[[4, 2]], f[[4, 6]], f[[4, 7]], f[[5, 1]], f[[5, 2]], f[[5, 3]], f[[5, 7]], f[[6, 1]], f[[6, 2]], f[[6, 3]], f[[6, 4]], f[[7, 1]], f[[7, 2]], f[[7, 3]], f[[7, 4]]];

A,b:=GenerateMatrix(systems,var):
LinearSolve(A,b) mod 2;
what I'm I doing wrong? How can I make this fast and in such a way that the solution is computed without taking too much memory?

I also understand that LinearSolve returns the following when there is no solution, "Error, (in LinearAlgebra:-LinearSolve) inconsistent system
", in my case, if there is no solution, I don't want that error to be printed, but I want some variable (call it x) to be printed if a solution is found.

Any help is appreciated.

Vic.

﻿