### 7.5.15 ncfrac_lib

Library:
  ncfrac.lib
Purpose:
  object-oriented interface for olga.lib
Author:
  Johannes Hoffmann, email: johannes.hoffmann at math.rwth-aachen.de

Overview:
  This library introduces a new type: ncfrac.
  This type wraps the data defining a (non-commutative) fraction in an Ore localization of a G-algebra as in olga.lib.
  An element of type ncfrac has five members:
  - polys lnum, lden, rnum, rden
  - ncloc loc

Operations:
  string(ncfrac);
  give a string representation of the data describing the fraction print(ncfrac);
  prints the string representation of the fraction
  status(ncfrac);
  report on the status/validity of the fraction
  test(ncfrac);
  check if the fraction is valid

Infix operations:
  ncfrac == ncfrac;
  compare two fractions
  ncfrac != ncfrac;
  compare two fractions
  ncfrac + ncfrac;
  add two fractions
  ncfrac - ncfrac
  subtract two fractions
  ncfrac * ncfrac
  multiply two fractions
  ncfrac / ncfrac
  divide two fractions
  ncfrac = int/number/poly
  create a fraction with:
  - left and right denominator equal to 1
  - left and right numerator determined by the input - localization data describing the trivial monoidal localization at 1 ncfrac = vector
  create a fraction from a vector v with unspecified localization such that lden,lnum,rnum,rden = v[1],v[2],v[3],v[4]
  (note: without specifying a localization afterwards this results is an invalid fraction)
  ncfrac = list
  create a fraction from a list L as follows: - try to create a fraction from L[1] as above - if L[2] is of type ncloc set the localization of the fraction to L[2]

Procedures:

> 7.5.15.0. hasLeftDenom |  | check if the given fraction has a left representation
> 7.5.15.0. hasRightDenom |  | check if the given fraction has a right representation
> 7.5.15.0. isZeroNcfrac |  | check if the given fraction is equal to zero
> 7.5.15.0. isOneNcfrac |  | check if the given fraction is equal to one
> 7.5.15.0. zeroNcfrac |  | create the fraction equal to zero in the given localization
> 7.5.15.0. oneNcfrac |  | create the fraction equal to one in the given localization
> 7.5.15.0. ensureLeftNcfrac |  | compute a left representation of the given fraction if it does not have one
> 7.5.15.0. ensureRightNcfrac |  | compute a right representation of the given fraction if it does not have one
> 7.5.15.0. negateNcfrac |  | compute the additive inverse of the given fraction
> 7.5.15.0. isInvertibleNcfrac |  | check if the given fraction is invertible (note: see the description of isInvertibleLeftFraction from olga.lib for specific behaviour)
> 7.5.15.0. invertNcfrac |  | compute the multiplicative inverse of the given fraction (note: see the description of invertLeftFraction from olga.lib for specific behaviour)
> 7.5.15.0. testNcfrac |  | execute a series of internal testing procedures
> 7.5.15.0. testNcfracExamples |  | execute the examples of all procedures in this library

User manual for Singular version 4.4.1, 2025, generated by texi2html.