# ApCoCoA-1:CharP.NLASolve

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

## CharP.GBasisF2

Computing the unique F_2-rational zero of a given polynomial system over F_2.

### Syntax

```CharP.NLASolve(F:LIST):LIST
```

### Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

This function computes the unique zero in F_2^n of a polynomial system over F_2 . It uses NLA-Algorithm to find the unique zero. The NLA-Algorithm generates a sequence of linear systems to solve the given system. The NLA-Algorithm can find the unique zero only. If the given polynomial system has more than one zeros in F_2^n then this function does not find any zero. In this case a massage for non-uniqueness will be displayed to the screen after reaching the maximum degree bound.

• @param F: List of polynomials of given system.

• @param Sparse: Sparsity of given polynomial system. Set Sparse to 0 if the given polynomial system is sparse. Set Sparse to 1 if the given polynomial system is dense.

• @return The unique solution of the given system in F_2^n.

#### Example

```Use Z/(2)[x[1..4]];
F:=[
x[1]x[2] + x[2]x[3] + x[2]x[4] + x[3]x[4] + x[1] + x[3] + 1,
x[1]x[2] + x[1]x[3] + x[1]x[4] + x[3]x[4] + x[2] + x[3] + 1,
x[1]x[2] + x[1]x[3] + x[2]x[3] + x[3]x[4] + x[1] + x[4] + 1,
x[1]x[3] + x[2]x[3] + x[1]x[4] + x[2]x[4] + 1
];

Sparse:=1;
-- Then we compute the solution with
CharP.NLASolve(F,Sparse);

-- And we achieve the following information on the screen together with the solution at the end.
----------------------------------------
Finding Variable: x[4]
The size of Matrix is:
No. of Rows=11
No. of Columns=5
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
The size of Matrix is:
No. of Rows=11
No. of Columns=5
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
The size of Matrix is:
No. of Rows=15
No. of Columns=21
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
The size of Matrix is:
No. of Rows=15
No. of Columns=21
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
x[4] = 1
Finding Variable: x[3]
The size of Matrix is:
No. of Rows=7
No. of Columns=5
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
The size of Matrix is:
No. of Rows=7
No. of Columns=5
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
The size of Matrix is:
No. of Rows=8
No. of Columns=17
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
x[3] = 0
Finding Variable: x[2]
The size of Matrix is:
No. of Rows=4
No. of Columns=4
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
The size of Matrix is:
No. of Rows=4
No. of Columns=4
Appling Gaussian Elimination...
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
Gaussian Elimination Completed.
x[2] = 1
[0, 1, 0, 1]

```

#### Example

```Use Z/(2)[x[1..4]];
F:=[
x[2]x[3] + x[1]x[4] + x[2]x[4] + x[3]x[4] + x[1] + x[2] + x[3] + x[4],
x[2]x[3] + x[2]x[4] + x[3]x[4] + x[2] + x[3] + x[4],
x[1]x[2] + x[2]x[3] + x[2]x[4] + x[3]x[4] + x[1] + x[2],
x[1]x[2] + x[2]x[3] + x[2]x[4] + x[3]x[4] + x[1] + x[2]
];

Sparse:=0;

-- Solution is not unique i.e. [0, 1, 1, 1], [0, 0, 0, 0], and [1, 1, 1, 1] are solutions

-- Then we compute the solution with
CharP.NLASolve(F,Sparse);

-- And we achieve the following information on the screen.
----------------------------------------

```