Package dk.jonaslindstrom.ruffini.common.algorithms
package dk.jonaslindstrom.ruffini.common.algorithms
-
ClassDescriptionBarrett reduction is a fast method for computing x mod m for large x and m.Compute the Legendre symbol of a number a modulo a prime p.BitLength<E>Compute the bit length of an element in a ring assuming access to a bit shift operation.Compute the solution to a system of congruences using the Chinese Remainder Theorem.Compute the Discrete Fourier Transform over a ring.DotProduct<E>Compute the dot product of two vectors over a ring.Implementation of the Euclidean algorithm for computing the greatest common divisor of two elements in a Euclidean domain.This function computes the canonical embedding of the integers into any ring by mapping an integer n to the identity element added to itself n times.Compute the Inverse Discrete Fourier Transform over a ring, assuming that n has an inverse over the ring.Compute the Jacobi symbol of a number a modulo an odd number n.Multiply<E>Compute e a for and integer e and an element from an additive group, a.Power<E>Compute ae for a
BigInteger
e.Product<E>Compute the product of a list of elements over a monoid.Projection<V,S, F extends Field<S>> Compute the projection of a vector v onto another vector u in the given vector space.QuadraticEquation<E,F extends Field<E>> Solve a quadratic equation of the form ax^2 + bx + c = 0 over a field of characteristic != 2.Sum<E>Compute the sum of a list of elements over an additive group.