toysolver-0.8.1: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc
Copyright(c) Masahiro Sakai 2012-2016
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010
Extensions
  • ScopedTypeVariables
  • RankNTypes
  • ExplicitForAll

ToySolver.Data.AlgebraicNumber.Root

Description

Manipulating polynomials for corresponding operations for algebraic numbers.

Reference:

Synopsis

Documentation

type Var = Int Source #

rootSimpPoly :: forall k l. (Fractional k, Ord k) => (l -> UPolynomial k) -> UPolynomial l -> UPolynomial k Source #

Given a polynomial P = Σ_i a_i x^i over L/K where each a_i is a root of polynomial f a_i over K, rootSimpPoly f P computes a polynomial Q over K such that roots of P is a subset of roots of Q.

lift2 :: forall k. (Fractional k, Ord k) => (forall a. Num a => a -> a -> a) -> UPolynomial k -> UPolynomial k -> UPolynomial k Source #

findPoly :: forall k. (Fractional k, Ord k) => Polynomial k Var -> [Polynomial k Var] -> UPolynomial k Source #

Given a polynomial P and polynomials {P1,…,Pn} over K, findPoly P [P1..Pn] computes a non-zero polynomial Q such that Q[P] = 0 modulo {P1,…,Pn}.