# FractionField -- the class of all fraction fields

## Description

Macaulay2 provides for fraction fields of integral domains.

In some cases, normal forms of fractions makes sense, but in general for fraction fieldss of quotient rings, there is no notion of normal form for a fraction. In other words, fractions may be equal without displaying the same numerator and denominator.

Computations over fraction fields, or polynomial rings over fraction fields, especially Gröbner basis computations, are much slower than over prime fields. Still, an attempt is made to speed up these computations as much as possible, and more is planned in the future.

For an overview, see fraction fields and frac.

#### Useful functions for use with fractions and fraction fields include:

• frac -- construct a fraction field
• numerator -- numerator of a fraction
• denominator -- denominator of a fraction
• liftable -- whether lifting to another ring is possible
• lift -- lift to another ring

## Functions and methods returning a fraction field :

• frac -- construct a fraction field

## Methods that use a fraction field :

• "degrees(FractionField)" -- see degrees(Ring) -- degrees of generators
• "describe(FractionField)" -- see describe -- real description
• "dim(FractionField)" -- see dim(Ring) -- compute the Krull dimension
• "frac(FractionField)" -- see frac -- construct a fraction field
• "numgens(FractionField)" -- see numgens(Ring) -- number of generators of a polynomial ring
• "precision(FractionField)" -- see precision

## For the programmer

The object FractionField is a type, with ancestor classes EngineRing < Ring < Type < MutableHashTable < HashTable < Thing.