Polynomial Multiplication

L1 · Math
polynomial-multiplication · 1 specification · 2 implementations · 1 benchmark
WHAT IT ISCompute the product of two polynomials. The coefficient domain, polynomial ring and representation are fixed by individual specifications, not by the kernel.
ARITHMETICPOLYNOMIALRINGNTTFHE
SIGNATURE
kernel polymul<type T: Numeric, N: u32>(
%a: tensor<N x T>,
%b: tensor<N x T>,
) -> %c: tensor<N x T>
Sizes and element types are left open here. A specification fixes them; an implementation says over which of them it works.
DESCRIPTION

Definition

Polynomial multiplication is the operation of computing the product of two polynomials.

For polynomials a(x)a(x) and b(x)b(x), the result is

c(x)=a(x)b(x)c(x) = a(x)b(x)

with multiplication defined over a particular coefficient domain and polynomial algebra.

Mathematical Domain

The operation may be defined over different coefficient domains and polynomial structures.

Examples include polynomial multiplication over integers, finite fields, modular integer rings, and quotient polynomial rings. Depending on the domain, the resulting polynomial may be retained in full or reduced according to a defining polynomial relation.

The kernel itself does not fix a particular coefficient domain, polynomial degree, modulus, quotient ring, or representation. These are defined by individual specifications.

Parameters Defined by Specifications

A specification narrows the general polynomial multiplication operation into a concrete computational problem by defining the relevant mathematical and interface parameters, such as:

  • coefficient domain
  • polynomial domain or quotient ring
  • polynomial degree or size
  • coefficient modulus or other arithmetic parameters
  • reduction semantics
  • input and output representation
  • additional constraints required by the computation

Applications

Polynomial multiplication is a fundamental operation in many areas of computational mathematics and cryptography, including lattice-based cryptography, fully homomorphic encryption, post-quantum cryptography, coding theory, symbolic computation, and signal-processing-style polynomial arithmetic.

MAINTAINER
FM
fairmathreviews specifications · resolves disputes
USED BY · 0 KERNELS
Kernels above this one. If this kernel is wrong, or slow, they are wrong or slow with it.Nothing depends on this kernel yet.
BUILDS ON · 0 KERNELS
Kernels this one is stated in terms of. Not a call graph — a statement of dependence between problems.Nothing. This kernel sits at the bottom of the graph.
RECENT ACTIVITY
fold-twist-cu measured at N12-L4 on gpu-02 — 0.61 ms, one seed outside tolerancem.velichko
4 h
negacyclic revised to @0.8.12 — tolerance stated as 2^-20 rather than "small"a.kern
2 d
openfhe-baseline disagreed with itself on laptop-03 at N7-L11automatic
3 d
cyclic@0.4.0 published, three points declaredingonyama
11 d