<< Element arithmetic Element arithmetic gf_are_equal >>

Galois Fields >> Galois Fields > Element arithmetic > gf_add

gf_add

Adds elements of a finite field

Syntax

c = gf_add(F, a, b)

Arguments

F

A field created by gf_create_field.

a, b

Field elements.

  • In GF(p) (n = 1): a matrix of integers in 0 .. p-1, of any size.

  • In GF(p^n), n > 1: a matrix with n columns, one element per row. Each row holds the coefficients of a polynomial in α of degree < n, constant term first.

Coefficients outside 0 .. p-1 are rejected; reduce them first with gf_mod if needed.

c

The result, in the same form as the operands.

Description

gf_add(F, a, b) computes a + b in the field F. Addition is done coefficient by coefficient, modulo p.

Both operands must contain the same number of elements, or one of them must be a single element; a single element is combined with each element of the other operand. The result has the shape of the operand that holds several elements (of a when both have the same number).

Examples

F = gf_create_field(2, 4);
gf_add(F, [0 1 0 0], [1 1 0 0])   // [1 0 0 0]: alpha + alpha^4 = 1

// Several elements of GF(7) plus 6
P = gf_create_field(7, 1);
gf_add(P, [3 4 5], 6)             // [2 3 4]

See also

History

VersionDescription
2.0.0

Refactoring of the function/toolbox. Accepts several elements at once; invalid arguments raise errors.


Report an issue
<< Element arithmetic Element arithmetic gf_are_equal >>