TK SOLVER REFERENCE CARD (Abridged) ======================================== Copyright (c) 1986 Universal Technical Systems, Inc. NOTE: Items marked with (*) are available in TK Solver Plus but not in FREETK. --------------------------------------------------------------------- FUNCTION KEYS F1 HELP F2 CANCEL ENTRY F3 LOAD FILE F4 SAVE FILE F5 EDIT F6 ONE WINDOW (*) F7 PLOT (*) F8 TABLE F9 SOLVE (*) F10 LIST SOLVE --------------------------------------------------------------------- KEY TO SYMBOLS [xyz] Key with xyz designation [LEFT] Left Arrow key [RIGHT] Right Arrow key [UP] Up Arrow key [DOWN] Down Arrow key [BACKSP] Backspace key [TAB] Tab key [Enter] Enter key --------------------------------------------------------------------- COMMANDS Navigation Commands [UP] Moves cursor up [DOWN] Moves cursor down [LEFT] Moves cursor left [RIGHT] Moves cursor right [TAB] Moves cursor to leftmost field [Shift][TAB] Moves cursor to rightmost field [Home] Moves cursor to top of sheet [End] Moves cursor to end of sheet [PgUp] Scrolls cursor up N-2 lines Displays preceding page in the Help index [PgDn] Scrolls cursor down N-2 lines Displays next page in the Help index Note: N is the number of lines in the current window (*) : The Goto command moves cursor to specified row and column (e.g., :5s to go to 5th row of Status field). = The Select command displays the specified sheet in current window: 1 V Variable (*) L List R Rule (*) P Plot (*) F Function (*) T Table U Unit (*) N Numeric Format (*) G Global > The Dive command: Brings up a relevant subsheet in the current window Brings up a subdirectory in Disk Index < The Return command: Brings back original sheet or subsheet Brings back the parent directory in Disk Index ; The Switch command moves cursor between windows Special Keys [Ins] Inserts one row at current cursor position [Ctrl-Break] Cancels current command or entry Single-key commands ! The Action command Variable & Rule Sheets: Solves model (same as F9) (*) List Subsheet & List Function Subsheet: Fills in list values between first and last values (*) Plot Sheet & Plot Subsheet: Displays plot (*) Table Sheet & Table Subsheet: Produces table Ctrl-E The Edit command calls the in-field editor (same as F5) ? The Help command brings up on-line Help (same as F1) Slash Commands /W Window command 1 Unsplits the screen, displaying the current sheet in a single window (same as F6) Other options split the screen, upper window retaining current sheet and lower window displaying: V Variable Sheet (*) L List Sheet R Rule Sheet (*) P Plot Sheet (*) F Function Sheet (*) T Table Sheet U Unit Sheet (*) N Numeric Format Sheet (*) G Global Sheet /B Blank command blanks specified range of fields in one column /C Copy command copies specified range of fields to specified destination /D Delete command deletes specified range of rows /I Insert command inserts blank rows at current row /M Move command moves specified range of rows to specified destination 2 (*) /L List command acts on associated lists L List Solve B Block Solve P Put Element G Get Element /S Storage command L Loads file with entire model or parts of model, appending contents onto current model (if any) S Saves entire model V Saves Variable Sheet and Variable Subsheets (*) saves specified range of rows when called from Variable Sheet U Saves Unit Sheet (*) saves specified range of unit conversions when called from Unit Sheet (*) F Saves Function Sheet, Function Subsheets and related List Subsheets; saves specified range of Function Subsheets and related List Subsheets if called from Function Sheet (*) N Saves the Numeric Format Sheet and Numeric Format Subsheets; saves specified range of numeric formats if called from Numeric Format Sheet (*) P Saves the Plot Sheet and Plot Subsheets; saves specified range of plots if called from Plot Sheet (*) T Saves the Table Sheet and Table Subsheets; saves specified range of tables if called from Table Sheet (*) C Saves configuration file under TK.CFG (*) # DIF storage: saves and loads files in DIF format (*) A ASCII storage: saves and loads data in ASCII format (*) W WKS storage: saves and loads files in Lotus 1-2-3 (R) format Note: #, A and W offer specific options: S Saves data from List Subsheets; saves speci- fied range of lists if called from List Sheet L Loads data into lists /P Print command prints specified range of rows from a sheet /E eXamine command V opens the Prompt/Error line for specifying a variable whose value will be displayed E opens the Prompt/Error line for typing in an expression to be evaluated C copies the contents of a field under the cursor to the Prompt/Error line (to be edited into an expression and evaluated) /R Reset command resets specified portions of TK (must be confirmed) V Resets variable values S Resets current sheet A Resets all sheets 3 /Q Quit command quits TK (must be confirmed) --------------------------------------------------------------------- THE IN-FIELD EDITOR is entered at the current cursor position - by pressing F5 - automatically when attempted entry is found in error [Right] Moves cursor right for one space [Left] Moves cursor left for one space [TAB] Moves cursor right to the next right tab position [Shift][TAB] Moves cursor left to the next left tab position [UP], [PgUp] or [Home] Moves cue to beginning of line [Down], [PgDn] or [End] Moves cue to end of line [Del] Deletes a character to right of cue [BACKSP] Deletes character to left of cue F2 Exits editor, restores previous field contents [ENTER] Enters the edited field contents, exits editor ENTERING INFORMATION To enter information into a field, type it in and press [Enter] or a navigation key (i.e. [UP], [DOWN], [RIGHT], [Home], [PgUp] etc). The navigation keys move the cursor following a successful entry. If the entry is invalid for the current field, the in-field editor will be invoked. The cue moves to the suspected problem spot and an error message appears in the Prompt/Error line. Entries must conform to the following TK syntax conventions: TK Names Variable names, list names and function names: - can be up to 200 characters long - can consist of letters (including international letters, ASCII values 128-154 and 160-165; Greek letters, ASCII values 224-238), digits, and special characters @ # $ % _ - cannot begin with a digit or contain blanks - are case-sensitive, i.e. RESULT, Result, and result are all different names (except that names of built-in functions or special words, such as IF or THEN, are not case-sensitive) - must be unique within a Name field of a sheet Examples: VAR x days_week x$a c2@lib Numeric values or constants: numbers with an absolute value between 1E-307 and 1E308, or 0 Examples: +2.3 .7 -83 1E7 3. 14159 -5.3E-2 Symbolic values or constants: any TK name preceded by an apostrophe Examples: 'abc 'CATS 'dogs 'a_z 4 Expressions: numeric constants, symbolic constants, variable names, function references, list elements, arithmetic expressions, relational expressions, logical expressions and complex numbers. Examples: 1987 'pet profit sin(x) (*)'a[3] A > B NOT(bad) (z,jz) Arithmetic expressions an arithmetic expression can be any expression preceded by unary + or -, or two expressions linked by an arithmetic operator (+ - * / ^). The constituent expressions (operands) must evaluate into numeric values. arithmetic operators are (in order of precedence): Exponentiation ^ Unary plus and minus + - Multiplication and Division * / Addition and Subtraction + - Examples: -5 t^2 sin(x)/x 4^2^3 (evaluates into 65536) Note: Operations at the same precedence level are performed from left to right except for series of exponentiations, which are performed from right to left (see example). The order of operations may be controlled by parentheses. Relational expressions a relational expression has a numerical value 1 (true) or 0 (false), and has the form two expressions linked by a relational operator. relational operators are: Equal = Greater Than > Greater Than or Equal >= or => Less Than < Less Than or Equal <= or =< Not Equal <> or >< Examples: A >= B alpha = 90 animal <> 'dog Note: Relational operators have lower order of precedence than arithmetic operators; e.g. 5+6<4*3, (5+6<4)*3 and 5+(6<4)*3 evaluates respectively to 1, 0 and 5 Logical expressions a logical expression can be a relational expression, a Boolean function, or any other expression that evaluates into 1 (true) or 0 (false) Examples: revenue>cost AND(big,fat) abs(sgn(x)) Complex expressions a complex expression can be a pair of numeric expressions representing a complex number, an arithmetic operation on complex numbers, or a function that evaluates into a pair of numeric values. Examples: (3,4) (R,w*L-1/w*C) (a,b)*(c,d) POWER((e,f),n) Note: (x,y) is TK representation of the complex number x + i*y , where i is square root of -1 5 Rules: Unconditional rules have the form expression = expression Examples: area = pi()*R^2 a + b = c*d x^2 + y^2 = z^2 flag = b^2 > 4*a*c (p,q)+(u,v) = rcis(R,phi) Conditional rules have the forms IF logical expression THEN unconditional rule (*) IF logical expr. THEN uncond. rule ELSE uncond. rule Examples: if shape='square then area=side^2 else area=pi()*r^2 x = a = b (same as: if a=b then x=1 else x=0) (*) List Elements: Reference to a list element may have the form: listname[expression] Examples: 'list_a[34] x[num] (when e.g. x='abc and num=6) Note: ELEMENT function may be used for referencing a list element in a rule or in the right hand side of a statement; PLACE function must be used for directing a value into a list element from a rule, and it may be used for the same purpose in the left hand side of a statement. (*) Statements: Unconditional statements include assignment statements, branching statements, call statements and return statements. Conditional Statements are of the form IF-THEN-ELSE Loop Constructs are of the form FOR-TO-STEP-NEXT Examples: a:=a+1 GOTO first_line CALL DELETE('x) IF x=y THEN CALL Sum(a,b,c) FOR i:=1 TO length('R) RP:=RP+1/'R[i] NEXT i Character strings: Any combination of characters available from the keyboard (including blanks) or most of the 254 IBM characters that can be be entered by holding down Alt key and typing appropriate ASCII value on the numeric keypad. Question marks, if needed, must be typed as Ctrl-Q, because typing ? invokes on-line Help. Units: Unit names must be character strings. Comments: Comments must be character strings. (*) Numeric Formats: Numeric Format names must be character strings. The "no name" or blank Numeric Format field implies the default format setting. Some fields accept only one of a set of options and do not require [Enter]. The options are listed with the sheet descriptions. 6 Some fields are used only to display results. --------------------------------------------------------------------- THE SOLVERS TK uses two solving techniques, the Direct Solver and the Iterative Solver. The Direct Solver: Solving one equation with the Direct Solver is possible if the following conditions are met: 1. The unknown variable appears only once 2. The unknown variable is not an argument of a non-invertible function Examples: sin(x*y) = z^2 can be resolved for either x, y or z sin(x*y) = x + z can be resolved for y or z but not for x y * abs(x) = mod(z,2) can be resolved for y, but not for x or z Solving a set of equations with the Direct Solver: The Direct Solver solves a set of n equations for n unknowns if the above conditions are satisfied for each of them and it can solve one equation after another. The solution process is facilitated by the fact that the Direct Solver automatically substitutes newly evaluated variable in all remaining equations. The Iterative Solver If the above conditions are not fulfilled, you have to assign a guess value to one or more unknown variables. The guesses temporarily play the role of input values so that the Direct Solver can proceed. These additional inputs make some equations overdefined (i.e. they generate errors internally). The Iterative Solver manipulates the guess values until the error terms fall below the Comparison Tolerance. --------------------------------------------------------------------- DISK INDEX The Disk Index lists all files that have an extension appropriate to the chosen storage command option, and belong to the specified directory or subdirectory . To Access the Disk Index: * Press F3 to load a file, F4 to save a file, or type /S and any option character. (If you select option /S#, /SW or /SA, you must type an extra character to specify Save or Load.) * At this point you may type a drive designator and/or a path specification and/or wildcards, or none of these. * Press [Enter] to display the Disk Index. --------------------------------------------------------------------- 7 UNIT CONVERSIONS To convert values between units of measurement, the conversions must be defined on the Unit Sheet. Conversions may be chained, e.g., if conversions are defined between meters and feet, and between meters and centimeters, then TK will perform conversions between feet and centimeters. --------------------------------------------------------------------- (*) NUMERIC FORMATS The Numeric Format Sheet allows you to define the appearance of your numeric values. You can define many different numeric formats and assign different formats to different variables and/or lists. --------------------------------------------------------------------- FUNCTIONS Two main categories of functions in TK are: Built-in functions (*) User-defined functions There are three classes of user-defined functions: Rule functions (i.e. "back-solvable submodels") Procedure functions (i.e. sequential programs) List functions (i.e. function represented by two lists of values.) Four kinds of mappings are available in list functions: Table lookup Step mapping Linear interpolation Cubic interpolation There are two ways of invoking a function: referring to the function in an expressions, e.g. a + b = log(x)/c where the function reference plays the role of an expression calling the function, e.g. call linsolve(a,b;x) where the function call stands as a rule (in the Rule Sheet or in a Rule Function Subsheet) or a statement (in a Procedure Function Subsheet). Although specified throughout this reference card in uppercase, built-in function names are not case sensitive. For example, COS(x) = Cos(x) = cos(x). SUMMARY OF TK BUILT-IN FUNCTIONS Mathematical Constants PI() ... 3.141592653589793 pi (ratio of circumference to diameter) E() ... 2.718281828459045 e (base of natural logarithms) 8 Trigonometric and Inverse Trigonometric Functions With Arguments/Function Values in Radians SIN(x) Sine of x ASIN(x) Arc sine of x COS(x) Cosine of x ACOS(x) Arc cosine of x TAN(x) Tangent of x ATAN(x) 2-quadrant arc tangent of x ATAN2(y,x) 4-quadrant arc tangent of y/x With Arguments/Function Values in Degrees SIND(x) Sine of x ASIND(x) Arc sine of x COSD(x) Cosine of x ACOSD(x) Arc cosine of x TAND(x) Tangent of x ATAND(x) 2-quadrant arc tangent of x ATAN2D(y,x) 4-quadrant arc tangent of y/x Exponential and Logarithmic Functions EXP(x) Number e, 2.718281828459045, raised to the xth power LN(x) Natural (base e) logarithm of x LOG(x) Common (base 10) logarithm of x Hyperbolic and Inverse Hyperbolic Functions SINH(x) Hyperbolic sine of x ASINH(x) Hyperbolic arc sine of x COSH(x) Hyperbolic cosine of x ACOSH(x) Hyperbolic arc cosine of x TANH(x) Hyperbolic tangent of x ATANH(x) Hyperbolic arc tangent of x Other Invertible Mathematical Functions SQRT(x) Positive square root of x ROOT(x,n) Root function, nth root of x ERF(x) Error function (associated with normal distribution curve) GAMMA(x) Gamma function, x-1 factorial for integer x>0 Non-Invertible Mathematical Functions SGN(x) Sign (-1, +1 or 0) of x ABS(x) Absolute value of x INT(x) Integer part of x (*) INTEGER(x) Same as INT ROUND(x) Nearest integer to x (even rounding) ROUND(x,y) Value of x even-rounded to the nearest multiple of y 9 CEILING(x) Smallest integer value greater than or equal to the value of x FLOOR(x) Largest integer value less than or equal to the value of x MOD(x,y) Remainder of x/y (*) MODULUS(x,y) Same as MOD DIVIDE(x,y) Returns two values: int(x/y) and mod(x,y) STEP(x,y) Returns 1 if x >= y 0 if x < y Complex Functions POWER((x,y),n) Calculates the complex number equal to the complex number (x,y) raised to the nth power RCIS(x,y) Calculates a complex number in rectangular form equivalent to the complex number in polar form where x is the radius and y is the angle in radians RCISD(x,y) same as RCIS except y is in degrees Boolean Functions NOT(x) Boolean NOT AND(x1,x2,x3,...) Boolean AND OR(x1,x2,x3,...) Boolean OR EQV(x,y) 1 (true) if x and y are the same (both 0 or both 1), otherwise 0 (false) IMPLY(x,y) 0 (false) if x is 1 (true) and x is 0 (false), otherwise 1 (true) List and Multi-Argument Functions MAX(x1,x2,x3,...) maximum value among the arguments MIN(x1,x2,x3,...) minimum value among the arguments SUM(x1,x2,x3,...) sum of the arguments (*) COUNT(listname) number of non-blank elements in list (*) LENGTH(listname) number of elements in list including blanks (i.e. length of the list) NPV(r,x1,x2,x3,...) net present value of a series x1,x2,x3,... of cashflow values at the interest rate r (*) DOT(listname,x1,x2,x3,...) dot product of the list elements with the series of arguments POLY(x,x1,x2,x3,...) value of the polynomial at x with x1,x2,x3,... coefficients starting with the highest order (*) CHECK(listname) 1 if list listname exists 0 if it does not exist (*) LISTCOPY(x,y) copies elements of list x into list y (*) LISTCOPY(x,y,i) copies list x starting from ith element to list y 10 (*) LISTCOPY(x,y,i,j) copies ith through jth elements of list x to list y (*) LISTCOPY(x,y,i,j,k) copies ith through jth elements of list x to list y, starting at the kth element of list y (*) MEMBER(x,x1,x2,x3,...) 1 if value of x is among x1,x2,x3,..., otherwise 0 (*) BLANK(listname) blanks specified list (*) BLANK(listname,i) blanks the ith element in specified list (*) DELETE(listname) deletes a list from the List Sheet NOTE: Arguments x1,x2,x3,... may be replaced by a listname in full TK Solver supporting the list feature. TK-Specific Functions (*) ELEMENT - same as ELT (*) ELT() returns the element number of current instance during list solving or block solving (*) ELT(listname,n) returns the value of the nth element of the list (*) ELT(listname,n,expr) returns the value of the nth element of the list, or, if blank, the expression expr (*) PLACE(listname,n) places a value into the nth element of the list listname (*) APPLY(functname,x1,x2,x3 ...) returns the value of the specified function with given arguments; Example: if fun='SIND then APPLY(fun,90) returns 1 VALUE(varname) returns the value of the specified variable Example: if key='phi and phi=15 then VALUE(key) returns 15 Status Functions, short form GIVEN(varname) returns 1 or 0 if the specified variable is or is not assigned an input value EVLTD(varname) returns 1 if the specified variable was evaluated during current run of the Direct Solver KNOWN(varname) returns 1 if the specified variable is assigned an input value or was evaluated during current run of the Direct Solver EXAMPLE: IF KNOWN('phi) THEN L=phi*rho (i.e. L=phi*rho rule applies if the variable phi is known) 11 Status Functions, long form: GIVEN(varname1,varname2,...,expr1,expr2) returns expr1 if all the specified variables are assigned input values; else, it returns expr2 KNOWN(varname1,varname2,...,expr1,expr2) returns expr1 if all the specified variables are given or evaluated; else, it returns expr2 EVLTD(varname1,varname2,...,expr1,expr2) returns expr1 if all the specified variables were evaluated during current run of the Direct Solver; else it returns expr2 EXAMPLES: 1. Rate = GIVEN('Rate,Rate,10) (i.e. if Rate is assigned an input value, the rule represents trivial identity Rate=Rate; else the rule assigns a default value Rate=10) 2. L = KNOWN('phi,phi*rho,0/0) (if phi is known, the rule beco- mes L=phi*ro; if phi is not known, the rule is ignored) in the previous paragraph) 3. if GIVEN('phi,'alpha,'beta,1,0) then L= phi*R (i.e. the rule applies only if all 'phi,'alpha,'beta are given) --------------------------------------------------------------------- SHEETS VARIABLE SHEET Selected by pressing =V Status accepts: I puts value into Input field O puts value into Output field (*) L associates or dissociates a list with variable G sets or unsets value as guess for iteration B blanks value and unsets guess (if set) displays: > indicates error condition (move cursor over the mark to see more information on the Status Line L indicates a list association G indicates a guess status Input input value Name variable name Output output value Unit first entry in blank field sets both calculation unit display unit; subsequent entries change only display unit Comment comments and reminders; not used for solution VARIABLE SUBSHEET accessed from the Variable Sheet by the Dive command > , gives 12 more detailed information about a particular variable. Status reflects the Status field on the Variable Sheet. First Guess value to use as first guess for automatic iteration (*) Associated List name of the list of values associated with the variable Input Value and Output Value these fields show the same values as in the Variable Sheet (*) Numeric Format controls the appearance of an input, output or guess value displayed on the Variable Sheet or the Variable Subsheet Display Unit unit name entered or displayed here is the same as the one in the Unit field of the Variable Sheet; any entry or change made in either location is reflected in the other Calculation Unit unit used in calculations Comment the same as in the Variable Sheet RULE SHEET Selected by pressing =R Status accepts: C cancels and uncancels the rule displays: C indicates the rule out of operation * unsatisfied, indicates unsolved equation > indicates error (move cursor over the mark to see more information in the Status line) blank the equation was solved during the last run of the solvers Rule unconditional or conditional rule and/or comment (comment must be preceded by a quotation mark and is ignored by the solvers) UNIT SHEET Selected by pressing =U Contains definitions of conversions between units of measurement. From unit converted from To unit converted to Multiply By conversion factor Add Offset a value to be added in order to align scales (e.g. 32 in converting from Celsius to Fahrenheit); blank for zero offset 13 (*) GLOBAL SHEET Selected by pressing =G Contains global settings and program defaults Field Options Default Display Intermediate Values Y N Y Stop on List Error Y N N Use Automatic Iteration Y N Y Comparison Tolerance any real number >= 0 .000001 Typical Value any real number >= 0 1 Maximum Iteration Count any integer 1 < n < 10,000 10 Global Numeric Format any defined Numeric Format name (BLANK) Append Variable Names Y N Y Use Page Breaks Y N Y Number Pages Y N Y Form Length any integer 6 < n < 1000 66 Printed Page Length any integer 6 < n < 1000 60 Printed Page Width any integer 6 < n < 200 80 Left Margin any integer 6 < n < 200 0 Printer Device or Filename any valid filename or device name LPT1 Printer Setup String any valid setup string (BLANK) Use Color Y N Y Slow Redisplay Y N Y Solid Line Headings Y N Y Bottom Prompt Line Y N Y Note: All the defaults are fixed in FREETK. The last four parameters may be set up in the optional FREETG.CFG file. (*) LIST SHEET Selected by pressing =L Contains a summary of all lists Note: Detailed information about the List Sheet is omitted here as irrelevant to FREETK. (*) LIST SUBSHEET Accessed by diving (>) from the List Sheet, Variable Subsheet, List Function Subsheet, Plot Subsheet or Interactive Table. Holds the values of the list elements and specific information about the lists. Note: Detailed information about the List Subsheet is omitted here as irrelevant to FREETK. 14 (*) FUNCTION SHEET Selected by pressing =F Contains a summary of all functions defined by the user. Note: Detailed information about the Function Sheet is omitted here as irrelevant to FREETK. (*) LIST FUNCTION SUBSHEET Accessed by diving (>) from the Function Sheet or from any place of reference (rule, statement) to a particular function. Contains the lists with the function and argument values, and serves for setting the function Mapping Options: T Table mapping S Step mapping L Linear interpolation C Cubic interpolation Note: Detailed information about the List Function Subsheet is omitted here as irrelevant to FREETK. (*) RULE FUNCTION SUBSHEET Accessed by diving (>) from the Function Sheet or from any place of reference (rule, statement) to a particular function. Contains the slate of Parameter, Argument and Result variables, and the rules constituting the body of the function. Note: Detailed information about the Rule Function Subsheet is omitted as irrelevant to FREETK. (*) PROCEDURE FUNCTION SUBSHEET Accessed by diving (>) from the Function Sheet or from any place of reference (rule, statement) to a particular function. Contains the slate of Parameter, Input and Output variables, and the statements constituting the body of the function. Note: Detailed information about the Procedure Function Subsheet is omitted as irrelevant to FREETK. (*) PLOT SHEET Selected by pressing =P 15 Contains names and titles of all plots (multiple plot definitions are allowed in a model). (*) PLOT SUBSHEET Accessed by diving (>) from the Plot Sheet. Serves for specifying the lists to be plotted and for setting up options. The Plot Type options are Line chart, Bar chart and Pie chart. The Display Mode options are CGA, Hercules and EGA mode. Note: Detailed information about the Plot Subsheet is omitted here as irrelevant to FREETK. (*) TABLE SHEET Selected by pressing =T Contains names and titles of all tables (multiple table definitions are allowed in a model). (*) TABLE SUBSHEET Accessed by diving (>) from the Table Sheet Serves for specifying the lists to be tabulated and for setting up options. The options are Interactive Table and Output Table. Note: Detailed information about the Plot Subsheet is omitted here as irrelevant to FREETK. (*) NUMERIC FORMAT SHEET Selected by pressing =N Contains the names of numeric formats used to control individually the appearance of variable and list values, displayed or printed. Note: Detailed information about the Numeric Format Sheet is omitted as irrelevant to FREETK. (*) NUMERIC FORMAT SUBSHEET Accessed by diving (>) from the Numeric Format Sheet or from the Numeric Format field in the Variable Sheet, Variable Subsheet, List Sheet, List Subsheet or Table Subsheet. Note: FREETK uses the default numeric format. The following information gives the default settings and shows the scope 16 of numeric formatting capability in TK Solver Plus. Numeric Notation S Scientific notation D Decimal notation E Either scientific or decimal notation (default); in this case TK choses for every value displayed a notation giving the maximum number of significant digits within the field Significant Digits can be any integer between 1 and 20 (default is 15 and TK's arithmetic limit is 16); when the field holding a numeric value is covered by the cursor, the value in full precision shows up on the screen in the 1st or Status line Decimal Places can be any integer between 1 and 200; the default is blank, which means displaying as many digits to the right of the decimal point as will fit the width of the field and the Significant Digits setting Padding fills the spaces from the last significant digit through the number of decimal places specified in the Decimal Places field. The padding character options are Zero, Blanks or None (default) Decimal Point Symbol any character which is neither a digit nor a letter can be specified; default is period Digit Grouping Symbol separates numeric values into three-digit groupings to the left of the decimal point; default is a blank field, which disables digit grouping Zero Representation a zero value can be represented by one or more characters which may include letters, blank spaces and digits; default is 0 +/- Notation - - only (default) + + and - ( negative values enclosed in () Prefix is one or more characters, such as a dollar sign, which are displayed before each numeric value; default is no prefix Suffix is one or more characters, such as a percent sign, which are displayed following each numeric value; default is no suffix Justification options of Left (default), Right and Centered determine whether values will be displayed aligned to the left side, to the right side or in the center of a field Left Margin Width is the number of blank spaces in the left margin of the field; may be any integer from 0 (default) to 200; a prefix and/or a sign may appear in the margin Right Margin Width is the number of blank spaces in the right margin of the field; may be any integer from 0 (default) to 200; a suffix may appear in the margin 17