diff --git a/changelog b/changelog index 52e3269..d14449f 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,4 @@ +20080301 tpd src/hyper/bookvol11 add additional hyperdoc page translations 20080229 tpd src/hyper/bookvol11 add additional hyperdoc page translations 20080222 tpd src/Makefile move hyperdoc bitmaps location 20080222 tpd src/hyper/Makefile move hyperdoc bitmaps location diff --git a/src/hyper/bookvol11.pamphlet b/src/hyper/bookvol11.pamphlet index 7afa4e8..f3d863e 100644 --- a/src/hyper/bookvol11.pamphlet +++ b/src/hyper/bookvol11.pamphlet @@ -534,6 +534,7 @@ PAGES=rootpage.xhtml \ dbopfirstdenom.xhtml \ dbopfirstnumer.xhtml \ dbopfractragits.xhtml \ + dbopfractionpart.xhtml \ dbopgamma.xhtml \ dbopgcd.xhtml \ dbophex.xhtml \ @@ -582,6 +583,10 @@ PAGES=rootpage.xhtml \ dbopoddq.xhtml \ dbopoperator.xhtml \ dboporthonormalbasis.xhtml \ + dbopoutputfixed.xhtml \ + dbopoutputfloating.xhtml \ + dbopoutputgeneral.xhtml \ + dbopoutputspacing.xhtml \ dboppadicfraction.xhtml \ dboppartialfraction.xhtml \ dboppartialquotients.xhtml \ @@ -616,6 +621,7 @@ PAGES=rootpage.xhtml \ dboprootof.xhtml \ dboprootsimp.xhtml \ dboprootsof.xhtml \ + dbopround.xhtml \ dboprow.xhtml \ dboprowechelon.xhtml \ dbopsetcolumnbang.xhtml \ @@ -652,6 +658,7 @@ PAGES=rootpage.xhtml \ dboptrace.xhtml \ dboptranspose.xhtml \ dboptrigs.xhtml \ + dboptruncate.xhtml \ dbopvariables.xhtml \ dbopvectorise.xhtml \ dbopvectorspace.xhtml \ @@ -683,6 +690,10 @@ PAGES=rootpage.xhtml \ numquotientfields.xhtml \ nummachinefloats.xhtml \ numfloat.xhtml \ + introtofloat.xhtml \ + conversionfunctions.xhtml \ + outputfunctions.xhtml \ + determinantofhilbert.xhtml \ numcomplexnumbers.xhtml \ numfinitefields.xhtml \ numnumericfunctions.xhtml \ @@ -5907,6 +5918,170 @@ The available test suites are: <> @ +\subsection{conversionfunctions.xhtml} +<>= +<> + + + +<> +
Conversion Functions
+
+You can use conversion (see +Jenks section 9.27.2) +to go back and forth between +Integer, +Fraction(Integer) and +Float, as appropriate. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
  • + +
    +
  • +
+Since you are explicitly asking for a conversion, you must take +responsibility for any loss of exactness. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
+This conversion cannot be performed: use +truncate or +round if that is what you intend. +
    +
  • + +
    +
  • +
+The operations +truncate and +round truncate ... +
    +
  • + +
    +
  • +
+and round to the nearest integral Float +respectively. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
  • + +
    +
  • +
+The operation fractionPart +computes the fractional part of x, that is, x-truncate x. +
    +
  • + +
    +
  • +
+The operation digits allows the user to +set the precision. It returns the previous value it was using. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
  • + +
    +
  • +
+The precision is only limited by the computer memory available. +Calculations at 500 or more digits of precision are not difficult. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
+Reset digits to its default value. +
    +
  • + +
    +
  • +
+Numbers of type Float are represented as a record +of two integers, namely, the mantissa and the exponent where the base +of the exponent is binary. That is, the floating point number of the +binary. That is, the floating point number (m,e) represents the number +m*2**e. A consequence of using a binary base is that decimal numbers +can not, in general, be represented exactly. +<> +@ + \subsection{crytopage.xhtml} <>= <> @@ -8649,6 +8824,16 @@ the operations will have extra ones added at some stage. <> @ +\subsection{dbopfractionpart.xhtml} +<>= +<> + + +<> +dbopfractionpart not implemented +<> +@ + \subsection{dbopgamma.xhtml} <>= <> @@ -9101,6 +9286,46 @@ the operations will have extra ones added at some stage. <> @ +\subsection{dbopoutputfixed.xhtml} +<>= +<> + + +<> +dbopoutputfixed not implemented +<> +@ + +\subsection{dbopoutputfloating.xhtml} +<>= +<> + + +<> +dbopoutputfloating not implemented +<> +@ + +\subsection{dbopoutputgeneral.xhtml} +<>= +<> + + +<> +dbopoutputgeneral not implemented +<> +@ + +\subsection{dbopoutputspacing.xhtml} +<>= +<> + + +<> +dbopoutputspacing not implemented +<> +@ + \subsection{dboppadicfraction.xhtml} <>= <> @@ -9481,6 +9706,16 @@ the operations will have extra ones added at some stage. <> @ +\subsection{dbopround.xhtml} +<>= +<> + + +<> +dbopround not implemented +<> +@ + \subsection{dboprow.xhtml} <>= <> @@ -9821,6 +10056,16 @@ the operations will have extra ones added at some stage. <> @ +\subsection{dboptruncate.xhtml} +<>= +<> + + +<> +dboptruncate not implemented +<> +@ + \subsection{dbopvariables.xhtml} <>= <> @@ -9964,6 +10209,106 @@ the operations will have extra ones added at some stage. @ +\subsection{determinantofhilbert.xhtml} +<>= +<> + + + +<> +
Example: Determinant of a Hilbert Matrix
+
+Consider the problem of computing the determinant of a 10 by 10 +Hilbert matrix. The (i,j)-th entry of a Hilbert matrix is given by +1/(i+j+1). + +First do the computation using rational numbers to obtain the exact result. +
    +
  • + +
    +
  • +
+This version of determinant uses +Gaussian elimination. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
+Now use hardware floats. +
    +
  • + +
    +
  • +
+The result given by hardware floats is correct to only four significant +digits of precision. In the jargon of numerical analysis, the Hilbert +matrix is said to be "ill-conditioned". +
    +
  • + +
    +
  • +
+Now repeat the computation at a higher precision using +Float +
    +
  • + +
    +
  • +
  • + +
    +
  • +
  • + +
    +
  • +
+Reset digits to its default value. +
    +
  • + +
    +
  • +
+<> +@ + \subsection{differentiate.xhtml} <>= <> @@ -34425,6 +34770,54 @@ lists of points in the plane. <> @ +\subsection{introtofloat.xhtml} +<>= +<> + + + +<> +
Introduction to Float
+
+Scientific notation is supported for input and output of floating +point numbers. A floating point number is written as a string of +digits containing a decimal point optionally followed by the letter "E", +and then the exponent. We begin by doing some calculations using +arbitrary precision floats. The default precision is twenty decimal +digits. +
    +
  • + +
    +
  • +
+A decimal base for the exponent is assumed, so the number 1.234E2 denotes +1.234*10**2 +
    +
  • + +
    +
  • +
+The normal arithmetic operations are available for floating point numbers. +
    +
  • + +
    +
  • +
+<> +@ + %%J \subsection{jenks.xhtml} <>= @@ -37201,24 +37594,29 @@ see Graphics in section 7, in section 8.1, and DoubleFloat <> @@ -40118,6 +40516,99 @@ X transpose is just a row and X is just a column. <> @ +\subsection{outputfunctions.xhtml} +<>= +<> + + + +<> +
Output Functions
+
+A number of operations exist for specifying how numbers of type +Float are to be displayed. By default, +spaces are inserted every ten digits in the output for readability. +(Not that you cannot include spaces in the input form of a floating +point number, though you can use underscores.) + +Output spacing can be modified with the +outputSpacing operation. This +inserts no spaces and then displays the value of x. +
    +
  • + +
    +
  • +
+Issue this to have the spaces inserted every 5 digits. +
    +
  • + +
    +
  • +
+By default, the system displays floats in either fixed format or +scientific format, depending on the magnitude of the number. +
    +
  • + +
    +
  • +
+A particular format may be requested with the operations +outputFloating and +outputFixed. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
+Additionally, you can ask for n digits to be displayed after the +decimal point. +
    +
  • + +
    +
  • +
  • + +
    +
  • +
+The outputGeneral function resets +the output printing to the default behavior. +
    +
  • + +
    +
  • +
+<> +@ %%P \subsection{pagelist.xhtml}