<!-- #################################################################### -->
<!-- ##                                                                ## -->
<!-- ##  z_pi.xml        ResClasses documentation         Stefan Kohl  ## -->
<!-- ##                                                                ## -->
<!-- #################################################################### -->

<Chapter Label="ch:Z_pi">
<Heading>Semilocalizations of the Integers</Heading>

<Ignore Remark="set screen width to 75, for the example tester">
<Example>
<![CDATA[
gap> SizeScreen([75,24]);;
]]>
</Example>
</Ignore>

This package implements residue class unions of the semilocalizations
<M>&ZZ;_{(\pi)}</M> of the ring of integers. It also provides the
underlying &GAP; implementation of these rings themselves.

<!-- #################################################################### -->

<Section Label="sec:DefiningZ_pi">
<Heading>Entering semilocalizations of the integers</Heading>

<ManSection>
  <Func Name="Z_pi" Arg="pi" Label="by set of non-invertible primes"/>
  <Func Name="Z_pi" Arg="p" Label="by non-invertible prime"/>
  <Returns>
    the ring <M>&ZZ;_{(\pi)}</M> or the ring <M>&ZZ;_{(p)}</M>,
    respectively.
  </Returns>
  <Description>
    The returned ring has the property <C>IsZ&uscore;pi</C>. 
    The set <A>pi</A> of non-invertible primes can be retrieved
    by the operation <C>NoninvertiblePrimes</C>.
    <Index Key="IsZ_pi"><C>IsZ&uscore;pi</C></Index>
    <Index Key="NoninvertiblePrimes" Subkey="of a semilocalization of Z">
      <C>NoninvertiblePrimes</C>
    </Index>
<Example>
<![CDATA[
gap> R := Z_pi(2);
Z_( 2 )
gap> S := Z_pi([2,5,7]);
Z_( 2, 5, 7 )
]]>
</Example>
  </Description>
</ManSection>

</Section>

<!-- #################################################################### -->

<Section Label="sec:MethodsForZ_pi">
<Heading>Methods for semilocalizations of the integers</Heading>

<Index Key="StandardAssociate"
       Subkey="of an element of a semilocalization of Z">
  <C>StandardAssociate</C>
</Index>
<Index Key="Gcd" Subkey="of elements of a semilocalization of Z">
  <C>Gcd</C>
</Index>
<Index Key="Lcm" Subkey="of elements of a semilocalization of Z">
  <C>Lcm</C>
</Index>
<Index Key="Factors" Subkey="of an element of a semilocalization of Z">
  <C>Factors</C>
</Index>
<Index Key="IsUnit" Subkey="for an element of a semilocalization of Z">
  <C>IsUnit</C>
</Index>

There are methods for the operations <C>in</C>, <C>Intersection</C>,
<C>IsSubset</C>, <C>StandardAssociate</C>, <C>Gcd</C>, <C>Lcm</C>,
<C>Factors</C> and <C>IsUnit</C> available for semilocalizations of the
integers. For the documentation of these operations, see the &GAP;
reference manual. The standard associate of an element of a ring
<M>&ZZ;_{(\pi)}</M> is defined by the product of the non-invertible
prime factors of its numerator.

<Example>
<![CDATA[
gap> 4/7 in R; 3/2 in R;
true
false
gap> Intersection(R,Z_pi([3,11])); IsSubset(R,S);
Z_( 2, 3, 11 )
true
]]>
</Example>

<Example>
<![CDATA[
gap> StandardAssociate(R,-6/7);
2
gap> Gcd(S,90/3,60/17,120/33);
10
gap> Lcm(S,90/3,60/17,120/33);
40
gap> Factors(R,840);
[ 105, 2, 2, 2 ]
gap> Factors(R,-2/3);
[ -1/3, 2 ]
gap> IsUnit(S,3/11);
true
]]>
</Example>

<Alt Only="HTML">&nbsp;</Alt>

</Section>

<!-- #################################################################### -->

</Chapter>

<!-- #################################################################### -->
