Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Overview of the IntegerRelations Package
Calling Sequence
IntegerRelations[command](arguments)
command(arguments)
Description
The IntegerRelations package contains two routines, LLL, and PSLQ, which are used to solve specific computational problems. LLL is the Lenstra, Lenstra, Lovasz lattice basis reduction. PSLQ is Bailey and Ferguson's partial sum of least squares algorithm. The LinearDependency routine is a user-level routine for applying PSLQ or LLL to solve the integer relation problem, defined as follows.
Given decimal approximations for real or complex numbers , find an integer relation between them, that is, find integers such that is small, if such exist.
The ~identify~ Command and the `IntegerRelations` Package
The identify command uses the LLL and PSLQ routines to identify exact constants from decimal numbers, for example, given outputs
The process is described as follows. Consider . The identify command first tests if is close to a small rational constant. Next identify tests if is close to an algebraic number. To do this, identify first tests if is a root of a quadratic polynomial. It computes . PSLQ outputs an integer relation with small integer coefficients satisfying , which is small. From this relation you have the minimal polynomial for , namely . The identify command then solves for to obtain from which it determines that . The algorithms in the identify routine can find other relations, for example:
with(IntegerRelations);
Digits := 20;
x := 0.31783724519578224473;
PSLQ([1,x,x^2,x^3,x^4]);
solve(y^4-10*y^2+1, y);
identify(x);
Each command in the IntegerRelations package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
As the underlying implementation of the IntegerRelations package is a module, it is also possible to use the form IntegerRelations:-command to access a command from the package. For more information, see Module Members.
List of IntegerRelations Package Commands
The following is a list of available commands.
LinearDependency
LLL
PSLQ
To display the help page for a particular IntegerRelations command, see Getting Help with a Command in a Package.
See Also
help, identify, module, PolynomialTools[MinimalPolynomial], UsingPackages, with
Download Help Document