aboutsummaryrefslogtreecommitdiff
path: root/src/hyper/pages/FRAC.ht
diff options
context:
space:
mode:
Diffstat (limited to 'src/hyper/pages/FRAC.ht')
-rw-r--r--src/hyper/pages/FRAC.ht106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/hyper/pages/FRAC.ht b/src/hyper/pages/FRAC.ht
new file mode 100644
index 00000000..eec3322f
--- /dev/null
+++ b/src/hyper/pages/FRAC.ht
@@ -0,0 +1,106 @@
+% Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+% !! DO NOT MODIFY THIS FILE BY HAND !! Created by ht.awk.
+\newcommand{\FractionXmpTitle}{Fraction}
+\newcommand{\FractionXmpNumber}{9.28}
+%
+% =====================================================================
+\begin{page}{FractionXmpPage}{9.28 Fraction}
+% =====================================================================
+\beginscroll
+%
+
+The \spadtype{Fraction} domain implements quotients.
+%-% \HDindex{fraction}{FractionXmpPage}{9.28}{Fraction}
+The elements must belong to a domain of category \spadtype{IntegralDomain}:
+multiplication must be commutative and the product of two non-zero
+elements must not be zero.
+This allows you to make fractions of most things you would think of,
+but don't expect to create a fraction of two matrices!
+The abbreviation for \spadtype{Fraction} is \spadtype{FRAC}.
+
+\xtc{
+Use \spadopFrom{/}{Fraction} to create a fraction.
+}{
+\spadpaste{a := 11/12 \bound{a}}
+}
+\xtc{
+}{
+\spadpaste{b := 23/24 \bound{b}}
+}
+\xtc{
+The standard arithmetic operations are available.
+}{
+\spadpaste{3 - a*b**2 + a + b/a \free{a}\free{b}}
+}
+\xtc{
+Extract the numerator and denominator by using
+%-% \HDindex{numerator}{FractionXmpPage}{9.28}{Fraction}
+\spadfunFrom{numer}{Fraction} and \spadfunFrom{denom}{Fraction},
+%-% \HDindex{denominator}{FractionXmpPage}{9.28}{Fraction}
+respectively.
+}{
+\spadpaste{numer(a) \free{a}}
+}
+\xtc{
+}{
+\spadpaste{denom(b) \free{b}}
+}
+Operations like \spadfunFrom{max}{Fraction}, \spadfunFrom{min}{Fraction},
+\spadfunFrom{negative?}{Fraction}, \spadfunFrom{positive?}{Fraction} and
+\spadfunFrom{zero?}{Fraction} are all available if they are provided for
+the numerators and denominators.
+See \downlink{`Integer'}{IntegerXmpPage}\ignore{Integer} for examples.
+
+Don't expect a useful answer from \spadfunFrom{factor}{Fraction},
+\spadfunFrom{gcd}{Fraction} or \spadfunFrom{lcm}{Fraction} if you apply
+them to fractions.
+\xtc{
+}{
+\spadpaste{r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1) \bound{r}}
+}
+\xtc{
+Since all non-zero fractions are invertible, these operations have trivial
+definitions.
+}{
+\spadpaste{factor(r) \free{r}}
+}
+\xtc{
+Use \spadfunFrom{map}{Fraction} to apply \spadfunFrom{factor}{Fraction} to
+the numerator and denominator, which is probably what you mean.
+}{
+\spadpaste{map(factor,r) \free{r}}
+}
+
+\xtc{
+Other forms of fractions are available.
+%-% \HDindex{fraction!continued}{FractionXmpPage}{9.28}{Fraction}
+Use \spadfun{continuedFraction} to create a continued fraction.
+%-% \HDindex{continued fraction}{FractionXmpPage}{9.28}{Fraction}
+}{
+\spadpaste{continuedFraction(7/12)}
+}
+\xtc{
+Use \spadfun{partialFraction} to create a partial fraction.
+%-% \HDindex{fraction!partial}{FractionXmpPage}{9.28}{Fraction}
+See \downlink{`ContinuedFraction'}{ContinuedFractionXmpPage}\ignore{ContinuedFraction} and \downlink{`PartialFraction'}{PartialFractionXmpPage}\ignore{PartialFraction} for
+additional information and examples.
+%-% \HDindex{partial fraction}{FractionXmpPage}{9.28}{Fraction}
+}{
+\spadpaste{partialFraction(7,12)}
+}
+
+\xtc{
+Use conversion to create alternative views of fractions with objects
+moved in and out of the numerator and denominator.
+}{
+\spadpaste{g := 2/3 + 4/5*\%i \bound{g}}
+}
+\xtc{
+Conversion is discussed in detail in \downlink{``\ugTypesConvertTitle''}{ugTypesConvertPage} in Section \ugTypesConvertNumber\ignore{ugTypesConvert}.
+}{
+\spadpaste{g :: FRAC COMPLEX INT \free{g}}
+}
+\endscroll
+\autobuttons
+\end{page}
+%