The cl-buchberger Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-buchberger Reference Manual

This is the cl-buchberger Reference Manual, version 0.0.4, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 13:27:00 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

cl-buchberger
=============
Juan M. Bello Rivas 
June 2009

image::images/cl-buchberger.png[Screenshot]

Overview
--------

cl-buchberger is a Common Lisp implementation of Buchberger's
algorithm for the computation of Gröbner bases.

Currently this package can compute Gröbner bases of ideals in
multivariate polynomial rings over the rationals.

Availability
------------

Download the latest version of this package from
http://github.com/jmbr/cl-buchberger/tarball/master

Portability
-----------

The code has been tested under

1. ABCL 0.16.0-dev
2. CLISP 2.47
3. ECL 9.6.1
4. SBCL 1.0.29

License
-------

cl-buchberger is released under the GNU GPLv2.

Usage
-----

Loading the package
~~~~~~~~~~~~~~~~~~~

You need ASDF installed in your system.  To load cl-buchberger,
write:

------------------------------------------------------
  CL-USER> (asdf:operate 'asdf:load-op :cl-buchberger)
  NIL
  CL-USER> (use-package :cl-buchberger)
  T
------------------------------------------------------

Defining a polynomial ring
~~~~~~~~~~~~~~~~~~~~~~~~~~

There's a default ring which is the ring of polynomials on X, Y, Z
over the rationals.  To define custom polynomial rings use:

---------------------------------------------------------
  CL-USER> (make-instance 'polynomial-ring :variables
                          (list 'x 'y 'z 'u 'w 'r 's 't))
  #
---------------------------------------------------------

To change the default ring just bind \*RING\* to whatever you want:

---------------------------------------------------------------------
  CL-USER> (defparameter *ring*
             (make-instance 'polynomial-ring :variables (list 'x 'y))
             "QQ[X, Y]")
  *RING*
  CL-USER> *ring*
  #
---------------------------------------------------------------------

Defining polynomials
~~~~~~~~~~~~~~~~~~~~

Polynomials are defined using a list of terms where each term is a
list with the coefficient as its first term and where the remaining
elements are variable exponents.  For example: (1 1 2 3) would
correspond to the term $$`xy^2z^3`$$

Thus, to create a polynomial write:

-------------------------------------------------------------------
  CL-USER> (defparameter *l* (make-polynomial '((1 3 0) (-2 1 1))))
  *L*
  CL-USER> *l*
  #
  CL-USER> (defparameter *m* (make-polynomial '((3 4 1) (1 2 0))))
  *M*
  CL-USER> *m*
  #
-------------------------------------------------------------------

Polynomial arithmetic
~~~~~~~~~~~~~~~~~~~~~

Use the generic functions RING+, RING-, RING*, and RING/ for the usual
arithmetic operations.

The function RING/ is the multivariate polynomial division algorithm
and takes a polynomial and a sequence of divisors to produce a
sequence of quotients and a remainder.

To set the default monomial ordering, bind \*MONOMIAL-ORDERING\* to the
relevant function (which defaults to LEX>).  For example:

--------------------------------------------------------
  CL-USER> (defparameter *monomial-ordering* #'grevlex>)
  *MONOMIAL-ORDERING*
--------------------------------------------------------

Also, you can use the macro WITH-MONOMIAL-ORDERING to define the
current monomial ordering as in:

-------------------------------------------
  CL-USER> (with-monomial-ordering #'grlex>
             (ring/ *m* *l*))
  #(#)
  #
-------------------------------------------

Computing Gröbner bases
~~~~~~~~~~~~~~~~~~~~~~~

The functions GROEBNER and REDUCED-GROEBNER compute Gröbner bases and
reduced Gröbner bases respectively.  Both of them take a sequence of
polynomials as parameter.  An alternative is to construct a polynomial
ideal and obtain its reduced Gröbner basis using the BASIS generic
function.

For example:

--------------------------------------------------------------------------------
  CL-USER> (defparameter *katsura-3*
             (make-ideal (list (make-polynomial '((1 1 0 0) (2 0 1 0) (2 0 0 1) (-1 0 0 0)))
                               (make-polynomial '((1 2 0 0) (-1 1 0 0) (2 0 2 0) (2 0 0 2)))
                               (make-polynomial '((2 1 1 0) (2 0 1 1) (-1 0 1 0)))))
             "Katsura-3 over QQ[x, y, z] (default ring)")
  *KATSURA-3*
  CL-USER> *katsura-3*
  # :GENERATORS #(#
                                            #
                                            #)>
  CL-USER> (basis *katsura-3*)
  #(#
    #
    #)
--------------------------------------------------------------------------------

Bug reports
-----------

There's a bug tracker available at http://github.com/jmbr/cl-buchberger/issues


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-buchberger

Author

Juan M. Bello Rivas <jmbr@superadditive.com>

License

GNU GPLv2

Description

cl-buchberger: A Common Lisp implementation of Buchberger’s algorithm.

Version

0.0.4

Source

cl-buchberger.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cl-buchberger.asd

Location

cl-buchberger.asd

Systems

cl-buchberger (system)

Packages

com.superadditive.cl-buchberger-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cl-buchberger/package.lisp

Parent

cl-buchberger (system)

Location

package.lisp

Packages

com.superadditive.cl-buchberger


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cl-buchberger/vector.lisp

Dependency

package.lisp (file)

Parent

cl-buchberger (system)

Location

vector.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cl-buchberger/ring.lisp

Dependency

vector.lisp (file)

Parent

cl-buchberger (system)

Location

ring.lisp

Internal Definitions

ring (class)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 cl-buchberger/ring-element.lisp

Dependency

ring.lisp (file)

Parent

cl-buchberger (system)

Location

ring-element.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 cl-buchberger/term.lisp

Dependency

ring-element.lisp (file)

Parent

cl-buchberger (system)

Location

term.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 cl-buchberger/monomial-orderings.lisp

Dependency

term.lisp (file)

Parent

cl-buchberger (system)

Location

monomial-orderings.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 cl-buchberger/polynomial-ring.lisp

Dependency

monomial-orderings.lisp (file)

Parent

cl-buchberger (system)

Location

polynomial-ring.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.9 cl-buchberger/polynomial.lisp

Dependency

polynomial-ring.lisp (file)

Parent

cl-buchberger (system)

Location

polynomial.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.10 cl-buchberger/arithmetic.lisp

Dependency

polynomial.lisp (file)

Parent

cl-buchberger (system)

Location

arithmetic.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.11 cl-buchberger/groebner.lisp

Dependency

arithmetic.lisp (file)

Parent

cl-buchberger (system)

Location

groebner.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.12 cl-buchberger/ideal.lisp

Dependency

groebner.lisp (file)

Parent

cl-buchberger (system)

Location

ideal.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 com.superadditive.cl-buchberger-system

Source

cl-buchberger.asd

Use List

Previous: , Up: Packages   [Contents][Index]

4.2 com.superadditive.cl-buchberger

Source

package.lisp (file)

Nickname

cl-buchberger

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *monomial-ordering*

Specifies the ordering of monomials in a polynomial

Package

com.superadditive.cl-buchberger

Source

monomial-orderings.lisp (file)

Special Variable: *ring*

Default polynomial ring

Package

com.superadditive.cl-buchberger

Source

polynomial-ring.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: doterms (VAR POLY &optional RESULTFORM) &body BODY
Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Macro: with-monomial-ordering ORDERING &body BODY
Package

com.superadditive.cl-buchberger

Source

monomial-orderings.lisp (file)

Macro: with-polynomial-ring RING &body BODY
Package

com.superadditive.cl-buchberger

Source

polynomial-ring.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: degree M

Returns the total degree of a monomial

Package

com.superadditive.cl-buchberger

Source

monomial-orderings.lisp (file)

Function: grevlex> M1 M2

Graded Reverse Lex Order

Package

com.superadditive.cl-buchberger

Source

monomial-orderings.lisp (file)

Function: grlex> M1 M2

Graded Lex Order

Package

com.superadditive.cl-buchberger

Source

monomial-orderings.lisp (file)

Function: groebner POLYNOMIALS

Returns a Groebner basis for the ideal generated by the specified array of polynomials.

Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: lex> M1 M2

Lexicographic Order

Package

com.superadditive.cl-buchberger

Source

monomial-orderings.lisp (file)

Function: make-ideal GENERATORS

Create a new ideal generated by the elements contained in the ‘generators’ list.

Package

com.superadditive.cl-buchberger

Source

ideal.lisp (file)

Function: make-polynomial TERM-LIST &key RING
Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Function: mapterm FUNCTION POLYNOMIAL

Apply FUNCTION to successive terms of POLYNOMIAL. Return list of FUNCTION return values.

Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Function: reduce-gb G

Returns a reduced Groebner basis.

Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: reduced-groebner F

Computes and reduces a Groebner basis of the ideal generated by F.

Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: s-poly F G

Returns the S-polynomial of f and g

Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: basis IDEAL

Returns an array of generators for ‘ideal’.

Package

com.superadditive.cl-buchberger

Source

ideal.lisp (file)

Methods
Method: basis (IDEAL ideal)
Generic Function: lc POLY

Returns the leading coefficient of a polynomial

Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Methods
Method: lc (POLY polynomial)
Generic Function: lm POLY

Returns the leading monomial of a polynomial. That is, the leading term with 1 as coefficient

Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Methods
Method: lm (POLY polynomial)
Generic Function: lt POLY

Returns the leading term of a polynomial.

Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Methods
Method: lt (POLY polynomial)
Generic Function: member-p ELEMENT IDEAL
Package

com.superadditive.cl-buchberger

Source

ideal.lisp (file)

Methods
Method: member-p (ELEMENT ring-element) (IDEAL ideal)
Generic Function: multideg POLY

Returns the multidegree of a polynomial

Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Methods
Method: multideg (POLY polynomial)
Generic Function: ring* ELEMENT &rest MORE-ELEMENTS
Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring* (POLY polynomial) &rest MORE-POLYNOMIALS
Source

arithmetic.lisp (file)

Generic Function: ring+ ELEMENT &rest MORE-ELEMENTS
Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring+ (POLY polynomial) &rest MORE-POLYNOMIALS
Source

arithmetic.lisp (file)

Generic Function: ring- ELEMENT &rest MORE-ELEMENTS
Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring- (POLY polynomial) &rest MORE-POLYNOMIALS
Source

arithmetic.lisp (file)

Generic Function: ring-equal-p E1 E2

Returns t if e1 equals e2, nil otherwise

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring-equal-p (T1 term) (T2 term)
Source

term.lisp (file)

Generic Function: ring-identity-p ELEMENT

Returns t if element is the multiplicative identity, nil otherwise

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Generic Function: ring-lcm E1 E2

Returns the LCM of e1 and e2

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring-lcm (R1 rational) (R2 rational)

LCM over the rationals.

Source

arithmetic.lisp (file)

Method: ring-lcm (T1 term) (T2 term)

Returns LCM(t1, t2)

Source

arithmetic.lisp (file)

Generic Function: ring-zero-p ELEMENT

Returns t if element is zero, nil otherwise

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring-zero-p (POLY polynomial)
Source

polynomial.lisp (file)

Method: ring-zero-p (TM term)
Source

term.lisp (file)

Generic Function: ring/ ELEMENT &rest MORE-ELEMENTS
Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring/ (POLY polynomial) &rest MORE-POLYNOMIALS
Source

arithmetic.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Classes

Class: polynomial ()
Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Direct superclasses

ring-element (class)

Direct methods
Direct slots
Slot: base-ring
Initargs

:ring

Initform

(error "you must specify a base ring")

Readers

base-ring (generic function)

Writers

(setf base-ring) (generic function)

Slot: terms
Type

hash-table

Initargs

:terms

Initform

(make-hash-table :test (function equalp))

Readers

terms (generic function)

Writers

(setf terms) (generic function)

Class: polynomial-ring ()
Package

com.superadditive.cl-buchberger

Source

polynomial-ring.lisp (file)

Direct superclasses

ring (class)

Direct methods
Direct slots
Slot: variables
Initargs

:variables

Initform

(error "you must specify at least one variable")

Readers

variables (generic function)

Slot: base-field
Initargs

:base-field

Initform

(quote rational)

Readers

base-field (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Functions

Function: criterion G B I J FI FJ

Returns t if S_{ij} has to be considered

Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: make-index-set S
Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: normal-form F G
Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: pair-member L M B
Package

com.superadditive.cl-buchberger

Source

groebner.lisp (file)

Function: terms->list POLY
Package

com.superadditive.cl-buchberger

Source

polynomial.lisp (file)

Function: vector+ V1 V2

Returns the sum of the two vectors V1 and V2.

Package

com.superadditive.cl-buchberger

Source

vector.lisp (file)

Function: vector- V1 V2

Returns the difference of the two vectors V1 and V2.

Package

com.superadditive.cl-buchberger

Source

vector.lisp (file)

Function: vector-zero-p V

Returns T if every compoment in V is zero.

Package

com.superadditive.cl-buchberger

Source

vector.lisp (file)

Function: vector= V1 V2

Returns T if both vectors V1 and V2 have the same components, NIL otherwise.

Package

com.superadditive.cl-buchberger

Source

vector.lisp (file)

Function: vector> V1 V2

Returns T if every component in V1 is greater than the corresponding component in V2, NIL otherwise.

Package

com.superadditive.cl-buchberger

Source

vector.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Generic functions

Generic Function: add E1 E2

Adds ring elements

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: add (P1 polynomial) (P2 polynomial)

Returns the sum of two polynomials

Source

arithmetic.lisp (file)

Method: add (POLY polynomial) (TM term)

Returns the polynomial with the added term

Source

arithmetic.lisp (file)

Generic Function: base-field OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: base-field (POLYNOMIAL-RING polynomial-ring)

automatically generated reader method

Source

polynomial-ring.lisp (file)

Generic Function: base-ring OBJECT
Generic Function: (setf base-ring) NEW-VALUE OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: base-ring (POLYNOMIAL polynomial)

automatically generated reader method

Source

polynomial.lisp (file)

Method: (setf base-ring) NEW-VALUE (POLYNOMIAL polynomial)

automatically generated writer method

Source

polynomial.lisp (file)

Generic Function: coefficient OBJECT
Generic Function: (setf coefficient) NEW-VALUE OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: coefficient (TERM term)

automatically generated reader method

Source

term.lisp (file)

Method: (setf coefficient) NEW-VALUE (TERM term)

automatically generated writer method

Source

term.lisp (file)

Generic Function: div E1 E2

Divides ring elements

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: div (T1 term) (T2 term)

Returns the quotient of two terms

Source

arithmetic.lisp (file)

Generic Function: divides-p E1 E2

Returns t if e1 divides e2 in the base ring

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: divides-p (T1 term) (P polynomial)
Source

arithmetic.lisp (file)

Method: divides-p (T1 term) (T2 term)
Source

arithmetic.lisp (file)

Generic Function: divmod ELEMENT DIVISORS

Returns quotient(s) and remainder if we are working in an Euclidean ring.

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: divmod (F polynomial) FS

Divides F by the polynomials in the sequence FS and returns the quotients (as an array) and a remainder.

Source

arithmetic.lisp (file)

Generic Function: element->string ELEMENT &key RING LEADING-TERM &allow-other-keys

Returns a human-readable string representation of an element

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: element->string (POLY polynomial) &key
Source

polynomial.lisp (file)

Method: element->string (TM term) &key RING LEADING-TERM
Source

term.lisp (file)

Generic Function: generators OBJECT
Generic Function: (setf generators) NEW-VALUE OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: generators (IDEAL ideal)

automatically generated reader method

Source

ideal.lisp (file)

Method: (setf generators) NEW-VALUE (IDEAL ideal)

automatically generated writer method

Source

ideal.lisp (file)

Generic Function: monomial OBJECT
Generic Function: (setf monomial) NEW-VALUE OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: monomial (TERM term)

automatically generated reader method

Source

term.lisp (file)

Method: (setf monomial) NEW-VALUE (TERM term)

automatically generated writer method

Source

term.lisp (file)

Generic Function: mul E1 E2

Multiplies ring elements

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: mul (P1 polynomial) (P2 polynomial)

Returns the product of two polynomials

Source

arithmetic.lisp (file)

Method: mul (POLY polynomial) (TM term)

Returns the product of a polynomial by a term

Source

arithmetic.lisp (file)

Method: mul (T1 term) (T2 term)

Multiplies two terms storing the result in the first term.

Source

arithmetic.lisp (file)

Method: mul (T1 term) (NUM number)
Source

arithmetic.lisp (file)

Method: mul (POLY polynomial) (NUM number)
Source

arithmetic.lisp (file)

Generic Function: operands CONDITION
Package

com.superadditive.cl-buchberger

Methods
Method: operands (CONDITION ring-division-by-zero)
Source

ring-element.lisp (file)

Generic Function: ring OBJECT
Generic Function: (setf ring) NEW-VALUE OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: ring (IDEAL ideal)

automatically generated reader method

Source

ideal.lisp (file)

Method: (setf ring) NEW-VALUE (IDEAL ideal)

automatically generated writer method

Source

ideal.lisp (file)

Generic Function: ring-copy ELEMENT

Returns a deep copy of an element

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring-copy (POLY polynomial)

Returns a (deep) copy of the given polynomial

Source

polynomial.lisp (file)

Generic Function: ring-mod ELEMENT &rest MORE-ELEMENTS
Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: ring-mod F &rest FS
Source

arithmetic.lisp (file)

Generic Function: sub E1 E2

Subtracts ring elements

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Methods
Method: sub (P1 polynomial) (P2 polynomial)

Returns the result of subtracting two polynomials.

Source

arithmetic.lisp (file)

Method: sub (POLY polynomial) (TM term)

Returns the result of subtracting the term from the polynomial

Source

arithmetic.lisp (file)

Generic Function: terms OBJECT
Generic Function: (setf terms) NEW-VALUE OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: terms (POLYNOMIAL polynomial)

automatically generated reader method

Source

polynomial.lisp (file)

Method: (setf terms) NEW-VALUE (POLYNOMIAL polynomial)

automatically generated writer method

Source

polynomial.lisp (file)

Generic Function: variables OBJECT
Package

com.superadditive.cl-buchberger

Methods
Method: variables (POLYNOMIAL-RING polynomial-ring)

automatically generated reader method

Source

polynomial-ring.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Conditions

Condition: ring-division-by-zero ()
Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Direct superclasses

error (condition)

Direct methods

operands (method)

Direct slots
Slot: operands
Initargs

:operands

Readers

operands (generic function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Classes

Class: ideal ()
Package

com.superadditive.cl-buchberger

Source

ideal.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: ring
Initargs

:ring

Initform

(error "you must specify a ring for the polynomial ideal.")

Readers

ring (generic function)

Writers

(setf ring) (generic function)

Slot: generators
Initargs

:generators

Initform

(error "you must give a set of generators for the ideal.")

Readers

generators (generic function)

Writers

(setf generators) (generic function)

Class: ring ()

Base class for rings.

Package

com.superadditive.cl-buchberger

Source

ring.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

polynomial-ring (class)

Class: ring-element ()

Base class for ring elements.

Package

com.superadditive.cl-buchberger

Source

ring-element.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods

member-p (method)

Direct slots
Slot: base-ring
Class: term ()
Package

com.superadditive.cl-buchberger

Source

term.lisp (file)

Direct superclasses

ring-element (class)

Direct methods
Direct slots
Slot: coefficient
Initargs

:coefficient

Initform

0

Readers

coefficient (generic function)

Writers

(setf coefficient) (generic function)

Slot: monomial
Type

vector

Initargs

:monomial

Readers

monomial (generic function)

Writers

(setf monomial) (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-buchberger.asd: The cl-buchberger<dot>asd file
cl-buchberger/arithmetic.lisp: The cl-buchberger/arithmetic<dot>lisp file
cl-buchberger/groebner.lisp: The cl-buchberger/groebner<dot>lisp file
cl-buchberger/ideal.lisp: The cl-buchberger/ideal<dot>lisp file
cl-buchberger/monomial-orderings.lisp: The cl-buchberger/monomial-orderings<dot>lisp file
cl-buchberger/package.lisp: The cl-buchberger/package<dot>lisp file
cl-buchberger/polynomial-ring.lisp: The cl-buchberger/polynomial-ring<dot>lisp file
cl-buchberger/polynomial.lisp: The cl-buchberger/polynomial<dot>lisp file
cl-buchberger/ring-element.lisp: The cl-buchberger/ring-element<dot>lisp file
cl-buchberger/ring.lisp: The cl-buchberger/ring<dot>lisp file
cl-buchberger/term.lisp: The cl-buchberger/term<dot>lisp file
cl-buchberger/vector.lisp: The cl-buchberger/vector<dot>lisp file

F
File, Lisp, cl-buchberger.asd: The cl-buchberger<dot>asd file
File, Lisp, cl-buchberger/arithmetic.lisp: The cl-buchberger/arithmetic<dot>lisp file
File, Lisp, cl-buchberger/groebner.lisp: The cl-buchberger/groebner<dot>lisp file
File, Lisp, cl-buchberger/ideal.lisp: The cl-buchberger/ideal<dot>lisp file
File, Lisp, cl-buchberger/monomial-orderings.lisp: The cl-buchberger/monomial-orderings<dot>lisp file
File, Lisp, cl-buchberger/package.lisp: The cl-buchberger/package<dot>lisp file
File, Lisp, cl-buchberger/polynomial-ring.lisp: The cl-buchberger/polynomial-ring<dot>lisp file
File, Lisp, cl-buchberger/polynomial.lisp: The cl-buchberger/polynomial<dot>lisp file
File, Lisp, cl-buchberger/ring-element.lisp: The cl-buchberger/ring-element<dot>lisp file
File, Lisp, cl-buchberger/ring.lisp: The cl-buchberger/ring<dot>lisp file
File, Lisp, cl-buchberger/term.lisp: The cl-buchberger/term<dot>lisp file
File, Lisp, cl-buchberger/vector.lisp: The cl-buchberger/vector<dot>lisp file

L
Lisp File, cl-buchberger.asd: The cl-buchberger<dot>asd file
Lisp File, cl-buchberger/arithmetic.lisp: The cl-buchberger/arithmetic<dot>lisp file
Lisp File, cl-buchberger/groebner.lisp: The cl-buchberger/groebner<dot>lisp file
Lisp File, cl-buchberger/ideal.lisp: The cl-buchberger/ideal<dot>lisp file
Lisp File, cl-buchberger/monomial-orderings.lisp: The cl-buchberger/monomial-orderings<dot>lisp file
Lisp File, cl-buchberger/package.lisp: The cl-buchberger/package<dot>lisp file
Lisp File, cl-buchberger/polynomial-ring.lisp: The cl-buchberger/polynomial-ring<dot>lisp file
Lisp File, cl-buchberger/polynomial.lisp: The cl-buchberger/polynomial<dot>lisp file
Lisp File, cl-buchberger/ring-element.lisp: The cl-buchberger/ring-element<dot>lisp file
Lisp File, cl-buchberger/ring.lisp: The cl-buchberger/ring<dot>lisp file
Lisp File, cl-buchberger/term.lisp: The cl-buchberger/term<dot>lisp file
Lisp File, cl-buchberger/vector.lisp: The cl-buchberger/vector<dot>lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   L   M   N   O   P   R   S   T   V   W  
Index Entry  Section

(
(setf base-ring): Internal generic functions
(setf base-ring): Internal generic functions
(setf coefficient): Internal generic functions
(setf coefficient): Internal generic functions
(setf generators): Internal generic functions
(setf generators): Internal generic functions
(setf monomial): Internal generic functions
(setf monomial): Internal generic functions
(setf ring): Internal generic functions
(setf ring): Internal generic functions
(setf terms): Internal generic functions
(setf terms): Internal generic functions

A
add: Internal generic functions
add: Internal generic functions
add: Internal generic functions

B
base-field: Internal generic functions
base-field: Internal generic functions
base-ring: Internal generic functions
base-ring: Internal generic functions
basis: Exported generic functions
basis: Exported generic functions

C
coefficient: Internal generic functions
coefficient: Internal generic functions
criterion: Internal functions

D
degree: Exported functions
div: Internal generic functions
div: Internal generic functions
divides-p: Internal generic functions
divides-p: Internal generic functions
divides-p: Internal generic functions
divmod: Internal generic functions
divmod: Internal generic functions
doterms: Exported macros

E
element->string: Internal generic functions
element->string: Internal generic functions
element->string: Internal generic functions

F
Function, criterion: Internal functions
Function, degree: Exported functions
Function, grevlex>: Exported functions
Function, grlex>: Exported functions
Function, groebner: Exported functions
Function, lex>: Exported functions
Function, make-ideal: Exported functions
Function, make-index-set: Internal functions
Function, make-polynomial: Exported functions
Function, mapterm: Exported functions
Function, normal-form: Internal functions
Function, pair-member: Internal functions
Function, reduce-gb: Exported functions
Function, reduced-groebner: Exported functions
Function, s-poly: Exported functions
Function, terms->list: Internal functions
Function, vector+: Internal functions
Function, vector-: Internal functions
Function, vector-zero-p: Internal functions
Function, vector=: Internal functions
Function, vector>: Internal functions

G
generators: Internal generic functions
generators: Internal generic functions
Generic Function, (setf base-ring): Internal generic functions
Generic Function, (setf coefficient): Internal generic functions
Generic Function, (setf generators): Internal generic functions
Generic Function, (setf monomial): Internal generic functions
Generic Function, (setf ring): Internal generic functions
Generic Function, (setf terms): Internal generic functions
Generic Function, add: Internal generic functions
Generic Function, base-field: Internal generic functions
Generic Function, base-ring: Internal generic functions
Generic Function, basis: Exported generic functions
Generic Function, coefficient: Internal generic functions
Generic Function, div: Internal generic functions
Generic Function, divides-p: Internal generic functions
Generic Function, divmod: Internal generic functions
Generic Function, element->string: Internal generic functions
Generic Function, generators: Internal generic functions
Generic Function, lc: Exported generic functions
Generic Function, lm: Exported generic functions
Generic Function, lt: Exported generic functions
Generic Function, member-p: Exported generic functions
Generic Function, monomial: Internal generic functions
Generic Function, mul: Internal generic functions
Generic Function, multideg: Exported generic functions
Generic Function, operands: Internal generic functions
Generic Function, ring: Internal generic functions
Generic Function, ring*: Exported generic functions
Generic Function, ring+: Exported generic functions
Generic Function, ring-: Exported generic functions
Generic Function, ring-copy: Internal generic functions
Generic Function, ring-equal-p: Exported generic functions
Generic Function, ring-identity-p: Exported generic functions
Generic Function, ring-lcm: Exported generic functions
Generic Function, ring-mod: Internal generic functions
Generic Function, ring-zero-p: Exported generic functions
Generic Function, ring/: Exported generic functions
Generic Function, sub: Internal generic functions
Generic Function, terms: Internal generic functions
Generic Function, variables: Internal generic functions
grevlex>: Exported functions
grlex>: Exported functions
groebner: Exported functions

L
lc: Exported generic functions
lc: Exported generic functions
lex>: Exported functions
lm: Exported generic functions
lm: Exported generic functions
lt: Exported generic functions
lt: Exported generic functions

M
Macro, doterms: Exported macros
Macro, with-monomial-ordering: Exported macros
Macro, with-polynomial-ring: Exported macros
make-ideal: Exported functions
make-index-set: Internal functions
make-polynomial: Exported functions
mapterm: Exported functions
member-p: Exported generic functions
member-p: Exported generic functions
Method, (setf base-ring): Internal generic functions
Method, (setf coefficient): Internal generic functions
Method, (setf generators): Internal generic functions
Method, (setf monomial): Internal generic functions
Method, (setf ring): Internal generic functions
Method, (setf terms): Internal generic functions
Method, add: Internal generic functions
Method, add: Internal generic functions
Method, base-field: Internal generic functions
Method, base-ring: Internal generic functions
Method, basis: Exported generic functions
Method, coefficient: Internal generic functions
Method, div: Internal generic functions
Method, divides-p: Internal generic functions
Method, divides-p: Internal generic functions
Method, divmod: Internal generic functions
Method, element->string: Internal generic functions
Method, element->string: Internal generic functions
Method, generators: Internal generic functions
Method, lc: Exported generic functions
Method, lm: Exported generic functions
Method, lt: Exported generic functions
Method, member-p: Exported generic functions
Method, monomial: Internal generic functions
Method, mul: Internal generic functions
Method, mul: Internal generic functions
Method, mul: Internal generic functions
Method, mul: Internal generic functions
Method, mul: Internal generic functions
Method, multideg: Exported generic functions
Method, operands: Internal generic functions
Method, ring: Internal generic functions
Method, ring*: Exported generic functions
Method, ring+: Exported generic functions
Method, ring-: Exported generic functions
Method, ring-copy: Internal generic functions
Method, ring-equal-p: Exported generic functions
Method, ring-lcm: Exported generic functions
Method, ring-lcm: Exported generic functions
Method, ring-mod: Internal generic functions
Method, ring-zero-p: Exported generic functions
Method, ring-zero-p: Exported generic functions
Method, ring/: Exported generic functions
Method, sub: Internal generic functions
Method, sub: Internal generic functions
Method, terms: Internal generic functions
Method, variables: Internal generic functions
monomial: Internal generic functions
monomial: Internal generic functions
mul: Internal generic functions
mul: Internal generic functions
mul: Internal generic functions
mul: Internal generic functions
mul: Internal generic functions
mul: Internal generic functions
multideg: Exported generic functions
multideg: Exported generic functions

N
normal-form: Internal functions

O
operands: Internal generic functions
operands: Internal generic functions

P
pair-member: Internal functions

R
reduce-gb: Exported functions
reduced-groebner: Exported functions
ring: Internal generic functions
ring: Internal generic functions
ring*: Exported generic functions
ring*: Exported generic functions
ring+: Exported generic functions
ring+: Exported generic functions
ring-: Exported generic functions
ring-: Exported generic functions
ring-copy: Internal generic functions
ring-copy: Internal generic functions
ring-equal-p: Exported generic functions
ring-equal-p: Exported generic functions
ring-identity-p: Exported generic functions
ring-lcm: Exported generic functions
ring-lcm: Exported generic functions
ring-lcm: Exported generic functions
ring-mod: Internal generic functions
ring-mod: Internal generic functions
ring-zero-p: Exported generic functions
ring-zero-p: Exported generic functions
ring-zero-p: Exported generic functions
ring/: Exported generic functions
ring/: Exported generic functions

S
s-poly: Exported functions
sub: Internal generic functions
sub: Internal generic functions
sub: Internal generic functions

T
terms: Internal generic functions
terms: Internal generic functions
terms->list: Internal functions

V
variables: Internal generic functions
variables: Internal generic functions
vector+: Internal functions
vector-: Internal functions
vector-zero-p: Internal functions
vector=: Internal functions
vector>: Internal functions

W
with-monomial-ordering: Exported macros
with-polynomial-ring: Exported macros

Jump to:   (  
A   B   C   D   E   F   G   L   M   N   O   P   R   S   T   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
B   C   G   M   O   R   S   T   V  
Index Entry  Section

*
*monomial-ordering*: Exported special variables
*ring*: Exported special variables

B
base-field: Exported classes
base-ring: Exported classes
base-ring: Internal classes

C
coefficient: Internal classes

G
generators: Internal classes

M
monomial: Internal classes

O
operands: Internal conditions

R
ring: Internal classes

S
Slot, base-field: Exported classes
Slot, base-ring: Exported classes
Slot, base-ring: Internal classes
Slot, coefficient: Internal classes
Slot, generators: Internal classes
Slot, monomial: Internal classes
Slot, operands: Internal conditions
Slot, ring: Internal classes
Slot, terms: Exported classes
Slot, variables: Exported classes
Special Variable, *monomial-ordering*: Exported special variables
Special Variable, *ring*: Exported special variables

T
terms: Exported classes

V
variables: Exported classes

Jump to:   *  
B   C   G   M   O   R   S   T   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   I   P   R   S   T  
Index Entry  Section

C
cl-buchberger: The cl-buchberger system
Class, ideal: Internal classes
Class, polynomial: Exported classes
Class, polynomial-ring: Exported classes
Class, ring: Internal classes
Class, ring-element: Internal classes
Class, term: Internal classes
com.superadditive.cl-buchberger: The com<dot>superadditive<dot>cl-buchberger package
com.superadditive.cl-buchberger-system: The com<dot>superadditive<dot>cl-buchberger-system package
Condition, ring-division-by-zero: Internal conditions

I
ideal: Internal classes

P
Package, com.superadditive.cl-buchberger: The com<dot>superadditive<dot>cl-buchberger package
Package, com.superadditive.cl-buchberger-system: The com<dot>superadditive<dot>cl-buchberger-system package
polynomial: Exported classes
polynomial-ring: Exported classes

R
ring: Internal classes
ring-division-by-zero: Internal conditions
ring-element: Internal classes

S
System, cl-buchberger: The cl-buchberger system

T
term: Internal classes

Jump to:   C   I   P   R   S   T