<< gf_is_zero Aritmética de elementos gf_power >>

Campos de Galois >> Campos de Galois > Aritmética de elementos > gf_multiply

gf_multiply

Multiplica elementos de un campo finito

Secuencia de llamado

c = gf_multiply(F, a, b)

Parámetros

F

Un campo creado con gf_create_field.

a, b

Elementos del campo.

  • En GF(p) (n = 1): una matriz de enteros en 0 .. p-1, de cualquier tamaño.

  • En GF(p^n), n > 1: una matriz de n columnas, un elemento por fila. Cada fila contiene los coeficientes de un polinomio en α de grado < n, empezando por el término constante.

Los coeficientes fuera de 0 .. p-1 se rechazan; si es necesario, redúzcalos antes con gf_mod.

c

El resultado, en la misma forma que los operandos.

Descripción

gf_multiply(F, a, b) calcula a × b en el campo F. Para n > 1 los operandos se multiplican como polinomios en α y el producto se reduce módulo el polinomio primitivo del campo. En notación exponencial, α^i × α^j = α^((i + j) mod (p^n - 1)).

Ambos operandos deben contener el mismo número de elementos, o uno de ellos debe ser un único elemento; un único elemento se combina con cada elemento del otro operando. El resultado tiene la forma del operando que contiene varios elementos (la de a cuando ambos tienen el mismo número).

Ejemplos

F = gf_create_field(2, 4);
a = [0 1 0 0];                    // alpha
b = [1 1 0 0];                    // 1 + alpha = alpha^4
c = gf_multiply(F, a, b)          // [0 1 1 0]
gf_to_exponential(F, c)           // 5

// alpha por alpha^0, alpha^1, alpha^2
gf_multiply(F, F(4)(2:4, :), a)

P = gf_create_field(7, 1);
gf_multiply(P, [3 4 5], 6)        // [4 3 2]

Ver también

Historial

VersionDescription
2.0.0

Refactorización de la función/toolbox. Acepta varios elementos a la vez; los argumentos no válidos generan errores.


Report an issue
<< gf_is_zero Aritmética de elementos gf_power >>