Preliminary Manual of: TA (TABLE-ANALYSIS version 1.1) and MM (Very Useful Program for Analysing MEAN MOTION Tables) by Benno van Dalen The programs TA (Table Analysis) and MM (Very Useful Program for Analysing Mean-Motion Tables) are designed for entering, editing, printing and analysing astronomical tables in the Ptolemaic tradition. The two programs operate essentially in the same way and have basically the same set of commands. However, MM is limited to mean motion tables, whereas TA can deal with most of the remaining types of Ptolemaic astronomical tables including those for trigonometric functions, spherical astronomy and the planetary models. Both programs offer the possibility to enter tables from manuscripts in a convenient way and to store these tables on disk. The tables can be analysed mathematically and their underlying parameters can be estimated in various ways. In addition, the tables can be recomputed, compared, plotted and printed on the screen or on a printer. TA has some fancy commands that allow the user to compute practically any type of table he may want to compute. A description of the commands in both programs is found below in the sections "GENERAL INFORMATION", "COMMANDS in MM" and "COMMANDS in TA". Most of the commands are self-explanatory; they will explicitly request all information needed to perform them correctly. Some fancier or "invisible" features are explained in this preliminary manual or on the help screens of TA (see below). General information about the input of sexagesimal numbers, filenames, strings, etc. is given in the section "GENERAL INPUT". TA has a context-sensitive help system, which can be invoked at any time by pressing the function key F1. At the TABLE-ANALYSIS> prompt F1 supplies general information about TA and about groups of commands. While performing a particular command, the help system displays various screens with information about that command and about the particular input that is expected. You can switch between these screens by typing the UP and DOWN ARROW keys. By pressing the ESC key you can leave the help system and return to the command you were performing. Pressing F1 twice gives you help on the help system. GENERAL INFORMATION In order to run TA, you need the following files: TA.EXE, TA.HLP, TYPEMENU.DAT and a TurboPascal graphics driver, which has the extension .BGI (for example EGAVGA.BGI for a VGA screen). TA.HLP contains all information that is displayed by the on-line help system invoked by the function key F1. TYPEMENU.DAT contains the complete list of types of tables that TA can handle; this list is displayed page by page whenever you type a question mark at the "Which type of table?" prompt. The graphics driver for your particular screen is necessary for displaying plots of tables or confidence regions for a least squares estimation. All four files should be in the same directory. The configuration file TA.CFG, which need not be present at start-up, will always be read from and written to the current directory. This makes it possible to maintain different configurations in different directories. In the configuration file the colours of the screen specified by means of the command CC (Change Colours) and "history" values for file names, names of external zijes, directories and formulae are saved. In order ro run MM, you only need the executable file MM.EXE. [Remark: the beta version 1.1 of MM includes some graphical displays which, like TA, require a .BGI driver file.] INTERNAL AND EXTERNAL ZIJES Every table entered or computed in TA or MM is a "record" (block of information) which completely describes the table: the range of the arguments, all tabular values, name, type, underlying parameter values, indication whether the table has been saved on disk, etc. Every table that is entered or created in TA or MM is added to the so-called INTERNAL ZIJ. This is a set of tables which is always readily available to the user and on which a large number of commands can be performed. You can obtain a numbered list of the tables present in the internal zij by typing the command LT (List Tables). [Remark: TA has a second command LD (List tables plus Descriptions), which also displays the description included in every table.] CP (Copy) makes identical copies of a range of tables in the internal zij, DT (Delete Tables) deletes a range of tables, MV (MoVe; only available in the program TA) moves a range of tables, and RN (ReNumber) renumbers the internal zij so that no gaps in the numbering remain after some tables have been deleted or moved. DA (Delete All tables) deletes all tables in the internal zij; it will issue a warning if some of the tables have not been saved to disk (see the next paragraph). If you leave TA or MM (using the command Q for Quit), the internal zij will be lost. Therefore you will usually want to save the tables in the internal zij on hard drive or floppy disk using one of the commands ST (Save Tables) or SZ (Save Zij). Both commands request a filename; you may type any legal filename without extension, like A:\ZIJES\BAGHDADI or \C:SHAMIL. ST also requests the range of tables in the internal zij that must be saved; SZ simply writes all tables in the internal zij to disk. The resulting file on disk will be called an EXTERNAL ZIJ. The external zijes of TA all have the extension .ZIJ, those of MM have the extension .MMT. You may use the command LZ (List Zijes) to see which external zijes are present in an arbitrary directory, and DZ (Delete Zij) to delete an external zij. Using the command GT (Get Tables) you can load a range of tables from an external zij into the internal zij, using GZ you can load a complete external zij at once. In TA, you can use MD to Make a new Directory, CD to Change the current Directory, and RZ to Rename a Zij. COMMANDS in MM ENTERING A TABLE FROM A MANUSCRIPT. Use the command IT (Input Table) to enter a table from a manuscript. MM first requests some general information: the name of the table, the type of calendar, and the type of mean motion table. Enter the type of mean motion table carefully; the program needs the indicated approximate mean motion per day to perform all necessary calculations correctly. Next the subtable menu is displayed. The types of subtables of a mean motion table are defined as follows (in each case n denotes the number of values in the subtable): Fractions: arguments are 1/2, 1/3, 1/4, ..., 1/n hours. Hours: arguments are k, 2k, 3k, ..., nk hours (typical examples of k are 1 and 2; nk will often be equal to 24, for some tables to 60). Days: arguments are 1, 2, 3, ..., n days. Months: arguments are Farvardin, Urdibihist, ... for the Persian calendar; Muharram, Safar, ... for the Arabic calendar; etc. Extended years: arguments are 1, 2, 3, ..., n years. Single years: arguments are k, 2k, 3k, ..., nk years (typical examples of k are 10, 20, 30 and 100; for every mean motion table in MM two subtables for single years are available). Collected years: arguments are E, E+k, E+2k, E+3k, ..., E+nk, where E is the so-called epoch of the table (the tabular value for argument E will be referred to as "epoch value"; k will often be equal to the number of values in the subtable for extended years, but could for instance also be equal to 1). After you have chosen one of these types of subtables, MM requires the format of the subtable: the set of arguments and the number of sexagesimal fractional digits. Next it requests the most significant (i.e. usually the last) value in the subtable, from which it calculates a preliminary estimate of the underlying mean motion parameter. Using this estimate MM predicts all remaining values in the subtable. The predicted values are displayed and can be edited in order to make them equal to the values in the manuscript. To this purpose you can use the + and - keys to increase or decrease the predicted value by a single unit, the arrow keys to move the cursor, and the digits 0 to 9 to overwrite predicted digits. Scribal errors can be corrected and the corrections stored along with the manuscript values: if you type C the presently displayed value will be stored separately as the Corrected value. The corrected values will be used for the estimation of the underlying mean motion parameter, the manuscript values can for instance be used for an edition of the table. Systematic differences between the predicted values and those in your manuscript could have various causes: an error in the tabular value that you have supplied, an error in the specification of the subtable concerned (e.g. an incorrect number of tabular values), or an error in the approximate mean motion per day (or, equivalently, in the type of mean motion table). All these possibilities can make it impossible for MM to predict the tabular values correctly. The PGUP key places you back on the top half of the screen and gives the possibility to change the specification of the table or subtable without having to start all over. Use the UP and DOWN ARROW keys to step through the various items of the specification. Use the TAB key or the first letter of a calendar name to change the type of calendar; use the TAB key to change the intercalation; all other items are edited in the way you would expect. Type PGDN to return to the bottom half of the screen; the program gives you the possibility to have some or all of the predicted values recomputed. Incidental differences between predicted values and those in your manuscript could be caused by scribal errors (see above). For certain subtables another possibility is that the type of intercalation is incorrect. For instance, for the Arabic calendar the values for extended years will be different depending on the location of the leap years within each cycle of 30 years; for the Persian calendar the values in the subtable for months will be different depending on the location of the epagomenal days (after the 8th or after the 12th Persian month). If you encounter an incidental difference that might be caused by an incorrect type of intercalation, try pressing ALT-I to change the type of intercalation. Note that the indication of the type of intercalation on the top half of the screen changes simultaneously. After you have entered the last tabular value of the subtable, press RETURN to return to the subtable menu. If you want to discard the subtable, you can type CTRL-C at any time. You may change a table already present in the internal zij using the Modify command MO. The subtable menu will be displayed and you can change subtables in the same way in which you have entered them. The program will warn you if you try to overwrite an existing subtable. To change the general specification of the table (like the name, the type of calendar or the approximate mean motion per day), choose an arbitrary subtable and move to the upper part of the screen by pressing the PGUP key. After making the changes, you can return to the subtable menu by pressing CTRL-C. [Remark: Version 1.1 of MM has a separate entry in the eubtable menu for this purpose.] TABULAR DIFFERENCES, RECOMPUTATION, COMPARISON, PRINT-OUT. The commands DF (tabular DiFferences), RC (ReComputation), CM (CoMpare) and PR (Print) all yield the same type of output: they display 1, 2 or 3 mean motion tables in three adjacent columns on the screen. In the case of DF the 1st column contains the original table and the 2nd its tabular differences. In the case of RC the 1st column displays the original table, the 2nd column the recomputation (displayed to one sexagesimal digit more than the original table) and the 3rd column possible errors expressed in units of the original table. In the case of CM the 1st and 2nd columns contain the tables to be compared, the 3rd column the differences between the two. In the case of PR the columns display various mean motion tables which can be specified by the user. For each of the four above-mentioned commands, use the first letter of the subtable types (F, H, D, M, E, S, C) to switch between subtables. Press ALT-P to send the subtable currently being displayed to the printer. If you have a laser printer, you will have to press the line feed button on the printer to have the last page of output printed. [Remark: This may not work properly. It is preferable to use the command WRite in version 1.1 of MM to write all subtables of a given table to an ASCII file and edit that file with the word-processor of your choice.] The command RC first requests the value of the mean motion parameter and the type of rounding to be utilized in the recomputation. You can enter the mean motion in the base period you prefer: hour, day, month, year, period of extended years. MM will find the intended motion per day (provided you have supplied the correct type of mean motion table or the correct approximate mean motion per day!) and will perform the recomputation accordingly. ESTIMATION OF THE UNDERLYING MEAN MOTION PARAMETER. MM has three methods to estimate the underlying parameter of a mean motion table. All three offer the possibility to send the results of the estimation to the printer. SQ (SQueeze the mean motion parameter) squeezes the parameter from the subtables by dividing the most significant (i.e. usually the last) value of every subtable by the number of days involved. LNE (Least Number of Errors criterion) gives the ranges of parameter values that minimize the number of errors in every subtable. The number of errors is displayed at the beginning of each line; 0 errors corresponds to a correct recomputation. Note that the results can be significantly different depending on the type of rounding that you specify. LS (Least Squares estimation) can be used for subtables that contain many errors; it determines the straight line which fits the tabular values best. All three estimators display estimates for every subtable present. Press an arbitrary key after the estimates for collected, single and extended years have been displayed to see the remaining estimates. Bear in mind that the estimates from subtables for months, days and hours are less significant than the others. COMMANDS in TA At present TA includes the majority of the non-linear types of tables occurring in Ptolemy's Almagest and many mediaeval Islamic astronomical handbooks. A complete list of the types supported with short descriptions and the abbreviations (maximum 4 letters and digits) used to identify them in the program can be found in the file TYPEMENU.DAT, which can be inspected at the DOS level or can be called from within TA by pressing a question mark at the "Which type of table?" prompt. The following groups of functions are included: 1) Trigonometric functions (sine, cosine, tangent, cotangent, versed sine, chord, secans and cosecans). 2) Functions for spherical trigonometry and timekeeping (solar declination, right ascension, equation of daylight, oblique ascension, hour length, length of the longest day). 3) Functions related to the solar model (solar equation for different independent variables, method of declination, solar velocity, true and mean solar position, equation of time for different independent variables). 4) Functions related to the lunar model and the planetary models (equation of center, equation of anomaly, various interpolation functions; latitude; lunar distance; planetary stations). 5) Functions related to parallax and solar and lunar eclipses. Whenever you want to calculate a table of one of the types supported, you will have to specify the values of the underlying parameters. In a number of cases these parameters may be "composed", i.e. they are auxiliary parameters that were computed from two actual parameters of the function concerned. For instance, for some of the planetary equations the underlying eccentricity and radius of the epicycle can be replaced by a single parameter, which is called a "planetary quotient". Instead of calculating the value of a composed parameter yourself, you may press ESC and enter the values of the two underlying parameters separately. Composed parameters are indicated by the sign > after their name. In version 1.1 of TA (July 1994) the interpretation of confidence intervals for composed parameters has not yet been implemented. For so-called "displaced" planetary equation tables [see, for instance H. Salam & E.S. Kennedy, "Solar and Lunar Tables in Early Islamic Astronomy", Journal of the American Oriental Society, pp. 496-497.] the parameters "shift" and "displacement" have been introduced. The shift indicates the shift in argument with respect to the "ordinary" equation; the displacement is the constant added to the equation. For example, the solar equation table displaying values 1 2; 6, 2 1 0; 2, 1 2 2; 8, 2 2 0; 4, 1 3 2;10, 2 instead of 3 0; 6, 2 4 2;12, 2 4 0; 8, 2 5 2;14, 2 5 0;10, 2 has shift -2 (the values were shifted backwards!) and displacement +2;0,0. Displaced tables are stored by TA without their shift and displacement. In version 1.1 (July 1994) some of the operations on displaced tables have not yet been implemented. [Remark: for this reason, it may be more convenient to enter the tables without their shift and displacement in the first place.] Many of the commands in TA make use of a so-called option menu. For example: Print in columns: Yes (Y/N) Print on screen or line printer: Screen (S/L) First argument: 1 Increment: 1 Last argument: 90 You can use the UP and DOWN ARROW keys to step through such a menu and you can change entries in the menu in the way you would expect (cf. the section "GENERAL INPUT" below). ESC restores a default option, CTRL-C aborts the command. Press RETURN after you have set all options as desired to perform the command. ENTERING A TABLE FROM A MANUSCRIPT. The command IT in the program TA is very much like the command IT in MM. Again the user first has to specify the structure of the table to be entered. However, he now chooses between five possible ways of entering a table. Firstly, the tabular values can be predicted on the basis of an estimate of the underlying parameter values calculated from one or more particular tabular values (option C; not possible for all types of tables), or on the basis of the assumption that the tabular values have constant first or second order tabular differences (option D). Secondly, the tabular values can be read from an ASCII file having one of the following formats: A B C D 0;31,25 0.5 0.5236111 0.5236111 0.5 0 31 25 1; 2,50 1.0 1.0472222 1.0472222 1.0 1 2 50 1;34,15 1.5 1.5708333 1.5708333 1.5 1 34 15 2; 5,39 2.0 2.0941667 2.0941667 2.0 2 5 39 2;37, 4 2.5 2.6177778 2.6177778 2.5 2 37 4 etc. etc. etc. etc. (option F), or they can be taken from another table in the internal zij (option T). Finally, the tabular values can be entered by hand (option H). The predicted tabular values can be edited in the same way as in MM: by pressing the + or - key you can increase or decrease a predicted value by a single unit; using the cursor keys and the numerical keys, you can overwrite digits of a predicted value. As in MM, two versions of each tabular value are stored, a manuscript version and a corrected version. While editing the predicted tabular values you can change between the two versions by pressing C or M. You can set a (manuscript or corrected) tabular value to UNDEFINED by pressing the U or * key. This option can be used to indicate an illegible value in the manuscript or to exclude an obviously incorrect value from the estimation of the underlying parameters, which always makes use of the corrected values. Note that you can restore the original predicted value by pressing ESC as long as you have not edited another tabular value. Use the UP and DOWN ARROW, PGUP and PGDN, and CTRL-PGUP and CTRL-PGDN keys to move through the table. Certain types of scribal errors can be corrected by pressing combinations of the ALT key and numerical keys (details can be found on the help screen for editing sexagesimals; press F1 followed by the DOWN ARROW key). Like in MM, items of tables in the internal zij can be changed by means of the command MO. Changing the tabular values by means of this command works precisely as described above for entering them. The command WR is in certain respects the opposite of IT: it writes values from a table in the internal zij to a file on disk in one of the above-mentioned formats A to D. PRINTING, COMPARISON, RECOMPUTATION, RESIDUALS, PLOTTING. The command PR (PRint) displays 1 to 6 tables on the screen or sends them to the printer. Like most commands in TA, PR is straightforward and requests all necessary information in a clear fashion. If you have a header displayed on the screen, press an arbitrary key to continue. If tabular values are displayed on the screen, use the UP and DOWN ARROW, PGUP and PGDN, and CTRL-PGUP and CTRL-PGDN keys to scroll the table. Press ESC to return to the TABLE-ANALYSIS> prompt. In the same way you can inspect the output of the three commands CM (CoMpare), RC (ReCompute) and RS (Residuals). CM compares any two tables and displays differences and difference statistics; RC recomputes a table for particular values of the underlying parameters; RS computes residuals for given values of the underlying parameters, which can then be tested statistically using the command TR (TestResiduals). The command PL draws a plot of a table in the internal zij on the screen. PL won't work if the correct graphics driver file (with extension .BGI) is not present in the directory containg the executable file TA.EXE. When the first plot has appeared on the screen, you can type F1 to specify a second table to be drawn in the same plot. You can type F2 to write the plot to a file in HP LaserJet format. This file can be printed on a HP LaserJet using the DOS command "COPY /b PRN:". ESTIMATION OF UNDERLYING PARAMETER VALUES. TA provides four commands for estimating unknown parameter values in tables of one of the supported types. General information about the application of these estimators and the interpretation of their results can be found on the general help screens of TA (at the TABLE-ANALYSIS> prompt, press F1, 7, 1 and use the UP and DOWN ARROW keys to view all available information). PE (straightforward Parameter Estimation) computes an approximation to a single unknown parameter from a single tabular value, which it chooses in such a way that the accuracy in the estimate is as large as possible. The interval displayed by PE contains all parameter values for which the chosen tabular value is correctly recomputed. Note, however, that more accurate results can be obtained by means of the Least Squares estimation and the Least Number of Errors Criterion. FE (Fourier Estimation) computes an estimate of a translation parameter of a periodic function (e.g. the solar apogee in a table giving the solar equation as a function of the mean or true solar longitude). The tabulated function must be symmetric (f(l+x) = -f(l-x) if l is the translation parameter), but need not be known precisely. FE computes estimates of the Fourier coefficients of the tabulated function and uses these to estimate the translation parameter and to calculate a so-called 95 % confidence interval, which is expected to contain the translation parameter in 19 out of 20 cases. [Remarks: More information about the Fourier estimator and an extensive example of its use can be found in Benno van Dalen, "Ancient and Mediaeval Astronomical Tables: mathematical structure and parameter values" (doctoral thesis), Utrecht 1993, Sections 2.3 and 2.6.3; or in Benno van Dalen, "A Table for the True Solar Longitude in the Jami` Zij", in: Ad Radices - Festband zum 50jaehrigen Bestehen des Instituts fuer Geschichte der Naturwis- senschaften Frankfurt am Main, Stuttgart 1994, pp. 163-181.] LS (Least Squares estimation) determines the values of the underlying parameters in such a way that the sum of the squares of the errors in the table is minimized. LS displays marginal 95 % confidence intervals for all parameters estimated. If there is more than one unknown parameter (and the correct graphics driver file with extension .BGI is present in the directory that contains the file TA.EXE), you can plot the joint 95 % confidence region for every pair of unknown parameters. For certain functions, in particular the equation of daylight, the confidence region gives significantly more information about the unknown parameter values than the marginal confidence intervals. [Remark: An extensive description of the application of the least squares estimator to a table for the equation of time and of the interpretation of the results of the estimation can be found in: Benno van Dalen, "Al-Khwarizmi's Astronomical Tables Revisited: Analysis of the Equation of Time", in: From Baghdad to Barcelona Studies in the Islamic Exact Sciences in Honour of Prof. Juan Vernet, Barcelona 1996.] LNE (Least Number of Errors criterion) determines the values of a single unknown parameter for which a recomputation of the table under consideration contains the least possible number of errors. LNE displays the numbers of errors for various intervals of parameter values at the beginning of each line. Note that PE and LNE can only be used for tables having a single unknown parameter. FE can also be applied to tables of which the underlying function is not precisely known. Information about the remaining "statistical commands" can be found on the help screens of TA. These commands include SD for calculating the Standard Deviation of a set of tabular values; CR for calculating the CorRelation coefficient of two sets of tabular values; TR for Testing the Residuals of a table for the properties required to apply the above-mentioned estimators; and MC (Monte Carlo analysis) for testing the validity of the 95 %confidence intervals determined from the estimations. CALCULATION OF TABLES You can use the command CL (CaLculate) to compute tables of the above-mentioned standard types. A table can be extended according to the symmetry relation(s) it is supposed to satisfy by means of the command SE (Symmetry Extend); the Symmetry can be Checked using the command SC. The command SP (SPecial functions) allows you to calculate tables from other tables of certain types, e.g. the normed right ascension from a right ascension table, or the underlying right ascension and equation of daylight from a table for the oblique ascension. DF computes a table of finite order tabular differences for an arbitrary table in the internal zij. The commands IP (InterPolation), II (Inverse Interpolation) and TC (TableCalculator) make it possible to calculate exotic types of functions and to simulate almost every possible method of computation that might have been used by ancient or mediaeval astronomers. IP allows you to perform linear or parabolic interpolation in an arbitrary table in the internal zij. Thus you may, for instance, compute a sine table with values for every 5 minutes of the argument, of which only the values for integer numbers of degrees were calculated exactly. By taking the arguments of the interpolation from another table, you can simulate the use of interpolation in an intermediate stage of a calculation, for example in the determination of the tangent of previously calculated solar declination values (which is needed for computing the equation of daylight). II allows you to perform linear or parabolic inverse interpolation in any table in the internal zij and works just like IP. By means of this command you can for instance simulate the use of inverse interpolation in a sine table to compute arcsines. TC allows you to specify a formula according to which you wish to calculate a table. The formula can include arithmetic operators, trigonometric functions and rounding or truncation at intermediate stages of the calculation. In particular, you can use the binary operators * / + -, the unary operators abs sin cos tan asin acos atan sqr sqrt, the semibinary operators ro (modern rounding) tr (truncation) sh (shift) rev (reverse), sexagesimal numbers (23;35 or 998;12,13), table indicators (T1 or T12), and so-called specifiers. The syntax of the semibinary operators is operator(expression|integer), where the expression denotes a table. In the case of the semibinary operators ro and tr, the integer argument is the sexagesimal frac- tional digit after which the rounding must be performed. In the case of sh it is the constant by which all arguments of the table determined by the expression must be increased. For rev the integer argument is the argument of the table in which all arguments must be mirrored. For instance, rev(T1|45) is the table T for which T(45-x) = T1(45+x) for every x=-45,-44,...,+45. The syntax of a specifier is [] or [0;15|0;15|90] or [T1]. The specifier does two things. Firstly it determines the range of arguments of the new table: [] stands for the default range 1, 2, 3, ..., 90; [0;15|0;15|90] specifies the range 0;15, 0;30, 0;45, ..., 90; [T1] duplicates the range of table 1. Secondly, when the formula is evaluated the specifier is replaced by the value of the argument in the first two cases and by a tabular value of table 1 in the third case. If the specifier is placed after a colon at the end of the formula, it only specifies the range of arguments of the table to be calculated. Examples: tr(sin([0;15|0;15|90])|3)/tr(cos([])|3) (1) 5+sh(atan(2;30*sin([])/(60+2;30*cos([])))|5) (2) T1/rev([T1]|45) (3) T1:[T2] (4) (1) computes a tangent table for arguments 0;15, 0;30, 0;45, ..., 90, where the intermediate sine and cosine are truncated to three sexagesimal fractional digits. (2) yields a solar equation table of the displayed type (see above) having arguments 1, 2, 3, ..., 90, shift 5 and displacement 5 (this table could also be computed directly using the command CL). Assuming that table 1 in the internal zij is a sine table, (3) yields the tangent table which could be computed from it. (4), finally, produces a table with the tabular values of table 1 for the range of arguments of table 2. GENERAL INPUT The help utility of TA, which was described above, can be invoked by pressing F1 at any time. MM does not have an advanced help utility, but supplies a command H or ? at the MEAN-MOTION> prompt for displaying the list of all available commands. To return to the prompt, type ESC or CTRL-C to abort the command you are currently performing. TA and MM will usually indicate what kind of input is expected, e.g. Delete which range of tables? Delete or Not? (D/N) Which number of sexagesimal fractional digits or unit (0-5, U)? Print which number of tables? (1 to 6) Write to which file? ............................... Illegal input will not be accepted at all, or will lead to error messages indicating why the input was not correct. Single key input (like D, N, U and 0 to 6 in the above examples) will be accepted as soon as a key is pressed. As for the number of sexagesimal fractional digits, if all tabular values of a particular table are multiples of 0;0,4, it is advisable not to specify the number of digits as 2, but to press U and than enter 0;0,4 as the unit of the table. This will for instance make it easier to edit predicted values by means of the command IT. Multiple key input (like a range of tables, a sexagesimal number or a filename) must be concluded by RETURN. A range of tables has the form a-b, where a and b are numbers or void (the range - covers all tables in the internal zij). Sexagesimal numbers can be entered in their usual form, for instance 23;30,17 or 2s22;39 (for 82;39). While entering a string (e.g. the name or description of a table) you can use the CTRL-RIGHT and CTRL-LEFT ARROW keys to move the cursor one word at a time and CTRL-T to delete a word. In TA, ALT-0 is a short-cut for the degree sign). When you enter the name of a table, the UP ARROW key yields the previously edited name. This could be convenient when you enter many tables with similar names or with complicated references to a manuscript. When you enter file names, directories or formulae (in the command TC), the UP and DOWN ARROW keys allow you to edit the five or ten previously entered strings. In TA, if it is not clear what input is expected or allowed, type F1 to obtain specific help. ADDRESS I would much appreciate any comments or suggestions you might have concerning either the programs TA and MM or this manual. My address is: Benno van Dalen Institut fuer Geschichte der Naturwissenschaften P.O. Box 111932 (FB 13) 60054 Frankfurt am Main GERMANY