home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / calculat / rsc310.zip / RSC.DOC next >
Text File  |  1993-06-09  |  38KB  |  971 lines

  1.  
  2.           ***********************************************
  3.       ***********           RSC 3.10             ************
  4.  **************** Resident Scientific Calculator ****************
  5.  ****************                                ****************
  6.  ****************    Copyright 1990,1993         ****************
  7.  **************** Sergey Shmakov & Igor Evsikov  ****************
  8.  ****************                                ****************
  9.       ***********          March 1993            ************
  10.          ***********************************************
  11.  
  12.                             CONTENTS
  13.                             --------
  14.    0. News
  15.       0.1 New possibility
  16.       0.2 Bug fix list
  17.    1. Introduction
  18.    2. RSC Features
  19.    3. Installation
  20.    4. Getting started RSC. Parameters (loading option)
  21.    5. Expressions
  22.    6. Mouse support
  23.    7. Numerical Bases and Notations
  24.    8. Arithmetic operations
  25.    9. Boolean operations
  26.    10.Functions
  27.        10.1 Trigonometric Functions
  28.        10.2 Exponential, Logarithmic and Square root Functions
  29.        10.3 Special functions
  30.        10.4 Hyperbolic and Inverse Hyperbolic Functions
  31.        10.5 Numerical Integration
  32.        10.6 Statistical functions
  33.        10.7 Solving Equations
  34.        10.8 Absolute extrema searching
  35.    11.Constants
  36.    12.Other keys
  37.    13.Edit keys
  38.    14.Error messages
  39.    15.Disclaimer
  40.    16.Registration
  41.    17.Acknowledgments
  42.  
  43. 0. News
  44.    ----
  45.  
  46. 0.1 New possibility
  47.     ---------------
  48. Version 3.1
  49.       1) Mouse support has been added.
  50.       2) The unary minus sign is now treated correctly.
  51.       3) Functions' precision have been added to DOC.
  52.       4) Gaussian quadrature uses now weights and nodes with the
  53.          accuracy of 25 decimal digits.
  54.       5) Precision of the Erf- and Gamma- functions has been
  55.          improved.
  56.       6) Constants' precision has been raised.
  57.       7) Constants "pi" and "e" now displayed by their name.
  58.       8) The termination condition of solve() function
  59.          has been improved.
  60.       9) Absolute extrema searching has added
  61.      10) Known bugs have been fixed.
  62.  
  63.  
  64. 0.2 Bug fix list
  65.     ------------
  66. .________________________________________________________________.
  67. |Expression              |Version              |Comment          |
  68. |------------------------+---------------------+-----------------|
  69. |arctan(X)               |3.00                 |operated properly|
  70. |                        |                     |in radian mode   |
  71. |                        |                     |only             |
  72. |------------------------+---------------------+-----------------|
  73. |for J to K step m (?)   |3.00                 |did not operate  |
  74. `----------------------------------------------------------------'
  75.  
  76. 1. Introduction
  77.    ------------
  78.  
  79. Resident Scientific  Calculator (RSC)  is intended  for scientific
  80. calculations and  can be  used on  any IBM-compatible  PC equipped
  81. with EGA/VGA/CGA  or Hercules  card and  hard disc,  running under
  82. DOS 3.3+.  The program uses about 160 Kb of disc space or  EMS/XMS
  83. (if present)  for swapping.  The resident  part of  the program is
  84. about 6-7Kb.
  85.  
  86. RSC can handle expressions up to 255 symbols in length.Expressions
  87. are written in a form  similar to the customary mathematical  one.
  88. Expressions such as the following can be computed:
  89.  
  90.     cos(Z)+(?+tg(ln(Y)))/exp(sin(pi/10))-integral(1+cos(X))
  91.  
  92.  
  93. 2. RSC Features
  94.    ------------
  95.       - Mouse support
  96.       - Line editor with expressions recall (last 10 expression)
  97.       - Hot key Function prompt
  98.       - Debug: Error position fixed
  99.       - Online help with F1
  100.       - Decimal, Hexadecimal and Binary bases
  101.       - Fixed point, Scientific, Engineering and Sexagesimal *)
  102.       - Radian and Degree modes for trigonometric functions
  103.       - Precision: 7-12 significant digits.
  104.       - Range: √(3.4E-4392 to 1.1E+4392)
  105.       - Trigonometric functions
  106.       - Hyperbolic functions
  107.       - Numerical Integration
  108.       - Solving of equations
  109.       - Absolute extrema searching
  110.       - Arithmetic operations
  111.       - Logical operations
  112.       - Special functions (Gamma, Bessels, Si, Ci, erf)
  113.       - Statistic functions (Average, Standard deviation)
  114.       - Common functions such as exp, ln, sqrt, etc.
  115.       - FOR-NEXT-type loop
  116.       - 10 user defined variables
  117.       - 10 user defined constants
  118.       - Hard Copy
  119.       - Stack for expressions
  120.       - Stack for results (last 100)
  121.       - Variables, Expressions and Results map
  122. -------------------------------------
  123. *)
  124.         (i.e., result in the form hours:minutes:seconds or
  125. degrees:minutes:seconds) notations
  126. -------------------------------------
  127.  
  128. The basic control keys are shown  on the RSC panel, its layout  is
  129. presented below(Upper-ASCII characters are replaced by as  similar
  130. as possible Low-ASCII ones for printing)
  131.  
  132.         .--------------------------- ver 3.10 -.
  133.         |.- BASE -------notation------angmode-.|
  134.         || Result              Error messages ||
  135.         || <-------Expression region--------->||
  136.         |`-[■]-[■]-[■]------------------------'|
  137.         | help-(F1) map-(F2) clr-(F3) clm-(F4) |
  138.         |----- function --- mode --- Display --|
  139.         | sn-S as-^S Sf- $|dec?F5|not-F10 ()lr |
  140.         | cn-O ac-^O Γ - !|hex?F6|*/^+-&|\%.?.:|
  141.         | tg-T at-^T sq- Q|bin?F7|0123456789=b |
  142.         | lg-G 10-^G 1/-^X|rad?F8|ESC,  Unload |
  143.         | ln-L ex-^L cn-^C|deg?F9|paste(R)esult|
  144.         |----- move ---------------------------|
  145.         |<ctrl->,<>,v,^ TAB-lastr, pusH/Pop str|
  146.         `--------------------------------------'
  147. Hold down the <Shift> key to see a second screen of information
  148.  
  149.         .--------------------------- ver 3.10 -.
  150.         |.- BASE -------notation------angmode-.|
  151.         || Result              Error messages ||
  152.         || <-------Expression region--------->||
  153.         |`-[■]-[■]-[■]------------------------'|
  154.         | help-(F1) map-(F2) clr-(F3) clm-(F4) |
  155.         |----- function --- mode --- Display --|
  156.         | sh-S hs-^S ef- $|dec F5|not-F10 ()lr |
  157.         | ch-O hc-^O Si- !|hex F6|*/^+-&|\%.?.:|
  158.         | th-T ht-^T Ci- Q|bin F7|XYZVWKIJKLM=d|
  159.         | Jn-G Yn-^G n!-^X|rad F8|ESC,  Unload |
  160.         | In-L Kn-^L cl-^C|deg F9|paste(R)esult|
  161.         |----- move ---------------------------|
  162.         |<ctrl->,<>,v,^ TAB-lastr, pusH/Pop str|
  163.         `--------------------------------------'
  164.  
  165. Hold down the <Alt> key to see a third screen of information
  166.  
  167.         .--------------------------- ver 3.10 -.
  168.         |.- BASE -------notation------angmode-.|
  169.         || Result              Error messages ||
  170.         || <-------Expression region--------->||
  171.         |`-[■]-[■]-[■]------------------------'|
  172.         | help-(F1) map-(F2) clr-(F3) clm-(F4) |
  173.         |----------- misc Function ------------|
  174.         | Average  -(Alt-A)  For cycle-(ALt-F) |
  175.         | St.Dev.  -(Alt-D)  sEtup    -(Alt-E) |
  176.         | + digit  -(Alt-+)  Popresult-(Alt-P) |
  177.         | - digit  -(Alt--)  savesTack-(Alt-T) |
  178.         | History  -(Alt-H)  viewstaCk-(Alt-C) |
  179.         | set var  -(Alt- X,Y,Z,V,W,I,J,K,M,N) |
  180.         | (c) CopyRight by I.Evsikov&S.Shmakov |
  181.         `--------------------------------------'
  182.  
  183. The position  of the  calculator display  can be  adjusted by  the
  184. <up> and <down> arrow keys or by the <Ctrl><left> and<Ctrl><right>
  185. chords.  Screen modes 132x25, 132x43, 80x43(50) (as, for  example,
  186. with Ultravision installed) are also supported.
  187.  
  188.  
  189. 3. Installation
  190.    ------------
  191.  
  192. The archive RSC310.ZIP contains:
  193.  
  194. RSC.EXE - Version of the calculator
  195. RSC.DOC - This file.
  196. RSC.CFG - default config file (autocreate)
  197. RSC.REG - Registration File.
  198.  
  199. Copy  the  files  RSC.EXE  to  a  directory  defined  in  the PATH
  200. statement  of  your  AUTOEXEC.BAT  file  (like  your  DOS or TOOLS
  201. directory).  For  changing  colors  and/or  hot-key of the RSC use
  202. <Alt><E> keys.
  203.  
  204.  
  205. 4. Getting started RSC
  206.    -------------------
  207.  
  208. To begin RSC, type the following command at the MS-DOS command
  209. prompt:
  210.         >RSC
  211.  
  212. You will see a label:
  213. ┌──────────────────────────────┐
  214. │Resident Scientific Calculator│
  215. │  by S.Shmakov & I.Evsikov.   │
  216. │      UNREGISTERED COPY       │
  217. │To PopUp press < Ctrl-Alt-C >.│
  218. └──────────────────────────────┘
  219. To recall RSC in any programs, editors etc. press the keys <Ctrl>,
  220. <Alt>  and <C> simultaneously.
  221.  
  222.       The full syntax of command line to load RSC is:
  223.  
  224. >RSC [/Spath] [/Fpath] [/Efile] [/Cfile] [/Dfile] [/W] [/N] [-X] [-E]
  225.  
  226.    /Spath ... the swap-file directory. By default, expanded  (EMS)
  227.               or extended (XMS) memory,  or RAM disk are  used (if
  228.               presented). Otherwise, current directory is used.
  229.  
  230.    /Fpath ... path  to RSC.CFG, if  the configuration file  is not
  231.               in the same directory  in which the executable  file
  232.               is situated.
  233.  
  234.    /Efile ... filename  containing   expressions  with  which  to
  235.               initialize the RSC stack.
  236.  
  237.    /Cfile ... filename of a user defined constant file. This  file
  238.               can contain up to 10 of constants, of the form:
  239.                   <constant_name>=<value>.
  240.               For example:
  241.                   Pi=3.1415926535919
  242.                   e=2.7182811828459
  243.  
  244.    /Dfile ... the full path and file name of the HARDCOPY file. To
  245.               print the  output rather  than store  it to  a file,
  246.               use PRN or LPT1.
  247.  
  248.       /W  ... DOS window application under WINDOWS 3.1
  249.  
  250.       /N  ... not resident version
  251.  
  252.       -M  ... do not use mouse, even if it present
  253.  
  254.       -X  ... prevents the use extended memory for swapping,  even
  255.               if extended memory is available.
  256.  
  257.       -E  ... prevents  the  use  expanded  memory  for  swapping,
  258.               even if expanded memory is available
  259.  
  260.       /?  ... mini-help.
  261.  
  262.  
  263. 5. Expressions
  264.    -----------
  265.  
  266. Expressions appear on the bottom  line of the RSC display  and can
  267. be edited/corrected during calculation. You can insert the  result
  268. of the previous calculation  in the current expression  (using "?"
  269. key), as well as  the values of up  to 10 user defined  constants.
  270. Result occurs in the top line of the RSC display.
  271.  
  272. Expressions can  make use  of the  symbols I,J,K;  M,N; V,W,X,Y,Z.
  273. (must  be  upper  case)  as  variables.  To  assign  a  value to a
  274. variable, use key  chord <Alt>-<key> where  "<key>" is one  of the
  275. 10 valid symbols for variables. If you used an undefined  variable
  276. in an expression, you will  be prompted during calculation of  the
  277. expression to define  the variable. The  variable, in their  turn,
  278. can be defined by another expression.
  279.  
  280. The last  10 typed  expression can  be reused  by pressing the key
  281. chord <Alt>-<H>  (or <Alt>-<F8>)  keys. This  brings up  a menu of
  282. (up  to)  the   last  10  expressions   used  (simple   arithmetic
  283. expressions are  not saved);  move the  light bar  to the  desired
  284. expression and  press <Enter>;  the expression  will be  copied to
  285. the  expression  line  of  the  RSC  display.   Besides,  up to 10
  286. expressions can  be saved/restored  to/from the  cyclic expression
  287. stack.   When RSC  is first  loaded, the  expression stack  can be
  288. initialized from  the external  file. As  well, the  stack can  be
  289. whenever saved to a file.  A session can be HARDCOPied (see  below
  290. option /D in command line) to printer or an external file.   After
  291. some  editing,  these  files  can  be  used  as  input for another
  292. session.
  293.  
  294. Examples:
  295.             3-5+4.61
  296.             (5-arcsin(0.4561))^2.1+sqrt(lg(25))+sin(Y/7)
  297.             Ln(2)-solve(3*x^2+2*x-32)
  298.             (?+tg(ln(Y)))/exp(sin(1.5/10))-integral(1+cos(X))
  299.  
  300. 6. Mouse support.
  301.    --------------
  302. RSC  supports   Microsoft-compatible  mouses.  In   the  case    of
  303. another  drivers  usage  cursor  position  can  be set improperly.
  304. Use option -M to ignore mouse even if it is present.
  305.  
  306. To switch  RSC panels  with the  aid of  the mouse  click on  -[■]-
  307. buttons.   Mind  the  mouse  switch  of  the  RSC  panels simulates
  308. pressing  Shift/Alt  keys.   Be  careful  when  using the mouse and
  309. keyboard simultaneously.
  310.  
  311. 7. Numerical Bases and Notations
  312.    -----------------------------
  313.  
  314.       The range of numbers is approximately 3.4E-4932 to 1.1E+4932
  315. with 19-20 significant digits.
  316.  
  317.       For changing of the  base, angular measure and  notation use
  318. follow hot keys:
  319.  
  320.          Key     Switches
  321.           F5 ... switch to decimal format
  322.           F6 ... switch to hexadecimal format
  323.           F7 ... switch to binary format
  324.           F8 ... switch to radians
  325.           F9 ... switch to degrees
  326.          F10 ... switch notation (fixed point, scientific,
  327.                  engineering, sexagesimal)
  328.  
  329.       In the binary and hexadecimal format only integer part of the
  330. numbers is displayed.
  331.  
  332.       Calculator  supports  four  notations:  fixed  point  -  fix,
  333. scientific - sci,  engineering - eng  and sexagesimal -  sxg (i.e.,
  334. result   in    the   form    hours:minutes:seconds   or    degrees:
  335. minutes:seconds). The  current notation  mode is  displayed in  the
  336. center  of  the  RSC  display.  Any  notation can be used for input
  337. independently of the current result  mode. If the input and  result
  338. notation  differ  one  from  another  the conversion to the current
  339. result notation will be made.
  340.  
  341. For example:
  342.              .- dec ---------- fix --------- rad -.
  343.              | 0.66666666667                      |
  344.              | 2/3                                |
  345.              `------------------------------------'
  346. Keystrokes: <2></><3><Enter>
  347.              .- dec ---------- sci --------- rad -.
  348.              | 6.6666666667E-01                   |
  349.              | 2/3                                |
  350.              `------------------------------------'
  351. Keystrokes: <F10>
  352.              .- dec ---------- eng --------- rad -.
  353.              | 666.66666667E-03                   |
  354.              | 2/3                                |
  355.              `------------------------------------'
  356. Keystrokes: <F10>
  357.              .- dec ---------- sxg --------- rad -.
  358.              | 0:40:0                             |
  359.              | 2/3                                |
  360.              `------------------------------------'
  361. Keystrokes: <F10>
  362.  
  363. The  number  of  displayed  digits  is  controlled  by   <Alt><->,
  364. <Alt><+> keys.
  365.  
  366. PS :  The maxvalue  in sxg  notation 2^19.  Binary numbers  larger
  367. than  2^15-1  not  correctly  pasted  because  of the 15 positions
  368. pasted result.
  369.  
  370.  
  371. 8. Arithmetic operations
  372.    ---------------------
  373.  
  374.          Key     Description
  375.            + ... Addition or unary plus
  376.            - ... Subtraction or unary minus
  377.            * ... Multiplication
  378.            / ... Division
  379.            ^ ... Power
  380.            % ... Percentage
  381.            () .. Prioritize an expression
  382.  
  383. Example: (16+20*4)%6.5
  384.              .- dec ---------- fix --------- rad -.
  385.              | 6.24                               |
  386.              | (16+20*4)%6.5                      |
  387.              `------------------------------------'
  388. Keystrokes: (16+20*4)%6.5<Enter>
  389.  
  390.  
  391. 9. Boolean operations
  392.    ------------------
  393.  
  394. For  Boolean  operations,  the  fractional  part of the numbers is
  395. ignored.
  396.  
  397.          Key     Description
  398.            & ... and
  399.            | ... or
  400.            \ ... xor
  401.  
  402. Example: 3+(10 and 7)
  403.              .- dec ---------- fix --------- rad -.
  404.              | 5.0                                |
  405.              | 3+10&7                             |
  406.              `------------------------------------'
  407. Keystrokes: 3+10&7<Enter>
  408.  
  409.  
  410. 10. Functions
  411.     ---------
  412.  
  413. Expressions can  contain trig  functions, 10^X,  exp, A^X,  gamma,
  414. integral,  statistic  functions,  hyperbolic  functions, integral,
  415. Bessel functions  and FOR-NEXT-type  loop.   To save  typing, they
  416. are entered  by the  corresponding shortcut  keys.   Trigonometric
  417. functions can accept arguments  expressed in radians and  degrees;
  418. the angular mode is set by  function keys F8 and F9.   The current
  419. angular mode is displayed in the right corner of the RSC display.
  420.  
  421.  
  422. 10.1 Trigonometric Functions
  423.      -----------------------
  424.  
  425.          Keys    Prompt       Function Name
  426.             S ... sin() ..... Sine of expression (..)
  427.             O ... cos() ..... Cosine of (..)
  428.             T ... tn() ...... Tangent of (..)
  429.        Ctrl-S ... arcsin() .. Arc sine of (..)
  430.        Ctrl-O ... arccos() .. Arc cosine of (..)
  431.        Ctrl-T ... arctn() ... Arc tangent of (..)
  432.  
  433.        The trigonometric functions sin, cos ... have precision 12
  434. digits.
  435.  
  436.  
  437. Example: sin(pi/2) in Radians
  438.              .- dec ---------- sci --------- rad -.
  439.              | 1.0E+0                             |
  440.              | sin(pi/2)                          |
  441.              `------------------------------------'
  442. Keystrokes: <S><Ctrl-P>/2<Ehter>
  443.                o
  444. Example: sin(45 30'15") in Degrees
  445.              .- dec ---------- sci --------- deg--.
  446.              | 7.1330141882E-1                    |
  447.              | sin(45:30:15)                      |
  448.              `------------------------------------'
  449. Keystrokes: <F9><S><Ctrl-P>/2<Ehter>
  450.  
  451.  
  452. 10.2 Exponential, Logarithmic and Square root Functions
  453.      --------------------------------------------------
  454.  
  455.          Keys    Prompt       Function Name
  456.             Q ... sqrt() .... Positive square root of (..)
  457.             G ... lg() ...... Natural (base e) logarithm (..)
  458.             L ... ln() ...... Common (base 10) logarithm (..)
  459.        Ctrl-G ... 10^() ..... Number 10 raised to the (..)th power
  460.        Ctrl-L ... exp() ..... Number e raised to the (..)th power
  461.  
  462.        The functions sqrt, lg ... have precision 12 digits.
  463.  
  464. Example: exp(1.4)+ln(2)
  465.              .- dec ---------- eng --------- rad -.
  466.              | 4.748347147E+00                    |
  467.              | exp(1.4)+ln(2)                     |
  468.              `------------------------------------'
  469. Keystrokes: <Ctrl-L>1.4<Right>+<L>2<Ehter>
  470.  
  471.  
  472. 10.3 Special functions
  473.      -----------------
  474.  
  475.          Keys    Prompt       Function Name
  476.             ! ... Γ() ....... Gamma function of (..)
  477.       Shift-G ... Jn(,) ..... Bessel function J (..th, ..)
  478.       Shift-L ... In(,) ..... Bessel function I (..th, ..)
  479.  Shift-Ctrl-G ... Yn(,) ..... Modify Bessel function Y (..th, of ..)
  480.  Shift-Ctrl-L ... Kn(,) ..... Modify Bessel function K (..th, of ..)
  481.       Shift-F ... erf() ..... Error func associated w/normal distribution
  482.       Shift-D ... Si() ...... Integral Sine of (..)
  483.       Shift-Q ... Ci() ...... Integral Cosine of (..)
  484.  
  485. The function Γ has precision 15 digits (│delta│<1.0E-16).
  486. The functions Bessel have precision 7 digits (│delta│<3.0E-7).
  487. The function erf has absolute error value (│epsilon│<1.0E-9).
  488. The functions Si,Ci have absolute error value (│epsilon│<3.0E-7).
  489.  
  490. Example: 1+J (5.4)
  491.             4  .- dec ---------- sci --------- rad -.
  492.                | 1.3990575914E+0                    |
  493.                | 1+Jn(4,5.5)                        |
  494.                `------------------------------------'
  495. Keystrokes: 1+<Shift-G>4<Right>5.4<Ehter>
  496.  
  497. For  calculating  The  Bessel's  function integral representations
  498. were  used.  The  calculation  algorithms  were  tested  for   all
  499. available Bessel functions in  the region 0 <=  nu <= 100, 0  <= z
  500. <= 100  using "Handbook  of mathematical  functions with formulas,
  501. graphs and  mathematical tables"  Edited by  Milton Abramowitz and
  502. Irene   A.   Stegun,   National   bureau   of   standards  applied
  503. mathematics series 55, Issued  June 1964. The testing  results are
  504. shown in the diagram below.
  505.  
  506.  
  507. ▒ - stands for correct (within 7 significant digits) result,
  508. x - no data,
  509. - - calculation failed.
  510.  
  511.  
  512.        J (z)             Y (z)             I (z)             K (z)
  513.         nu                nu                nu                nu
  514.  nu                nu                nu                nu
  515. 100x▒▒xx▒xxxx▒▒-  100x▒▒xx▒xxxx▒▒▒  100x▒▒xx▒xxxx▒▒▒  100x--xx-xxxx---
  516.  50x▒▒xx▒xxxx▒▒-   50x▒▒xx▒xxxx▒▒▒   50x▒▒xx▒xxxx▒▒▒   50x--xx-xxxx---
  517.  40x▒▒xx▒xxxx▒▒-   40x▒▒xx▒xxxx▒▒▒   40x▒▒xx▒xxxx▒▒▒   40x--xx-xxxx▒--
  518.  30x▒▒xx▒xxxx▒▒-   30x▒▒xx▒xxxx▒▒▒   30x▒▒xx▒xxxx▒▒▒   30x-▒xx▒xxxx▒--
  519.  20x▒▒xx▒xxxx▒▒-   20x▒▒xx▒xxxx▒▒▒   20x▒▒xx▒xxxx▒▒▒   20x▒▒xx▒xxxx▒▒-
  520.  15▒▒▒▒▒▒▒▒▒▒▒▒-   15▒▒▒▒▒▒▒▒▒▒▒▒▒   15▒▒▒▒▒▒▒▒▒▒▒▒▒   15▒▒▒▒▒▒▒▒▒▒▒▒-
  521.  10▒▒▒▒▒▒▒▒▒▒▒▒▒   10▒▒▒▒▒▒▒▒▒▒▒▒▒   10▒▒▒▒▒▒▒▒▒▒▒▒▒   10▒▒▒▒▒▒▒▒▒▒▒▒-
  522.   8▒▒▒▒▒▒▒▒▒▒▒▒▒    8▒▒▒▒▒▒▒▒▒▒▒▒▒    8▒▒▒▒▒▒▒▒▒▒▒▒▒    8▒▒▒▒▒▒▒▒▒▒▒▒-
  523.   6▒▒▒▒▒▒▒▒▒▒▒▒▒    6▒▒▒▒▒▒▒▒▒▒▒▒▒    6▒▒▒▒▒▒▒▒▒▒▒▒▒    6▒▒▒▒▒▒▒▒▒▒▒▒-
  524.   4▒▒▒▒▒▒▒▒▒▒▒▒▒    4▒▒▒▒▒▒▒▒▒▒▒▒▒    4▒▒▒▒▒▒▒▒▒▒▒▒▒    4▒▒▒▒▒▒▒▒▒▒▒▒-
  525.   2▒▒▒▒▒▒▒▒▒▒▒▒▒    2▒▒▒▒▒▒▒▒▒▒▒▒▒    2▒▒▒▒▒▒▒▒▒▒▒▒▒    2▒▒▒▒▒▒▒▒▒▒▒▒-
  526.   1▒▒▒▒▒▒▒▒▒▒▒▒▒    1▒▒▒▒▒▒▒▒▒▒▒▒▒    1▒▒▒▒▒▒▒▒▒▒▒▒▒    1▒▒▒▒▒▒▒▒▒▒▒▒-
  527.   0▒▒▒▒▒▒▒▒▒▒▒▒▒    0-▒▒▒▒▒▒▒▒▒▒▒▒    0▒▒▒▒▒▒▒▒▒▒▒▒▒    0-▒▒▒▒▒▒▒▒▒▒▒-
  528.                1                 1                 1                 1
  529.              150               150               150               150
  530.  Z 0123456789000   Z 0123456789000   Z 0123456789000   Z 0123456789000
  531.  
  532.  
  533. 10.4 Hyperbolic and Inverse Hyperbolic Functions
  534.      -------------------------------------------
  535.  
  536.          Keys    Prompt        Function Name
  537.       Shift-S ... sinh() ..... Hyperbolic sine of (..)
  538.       Shift-O ... cosh() ..... Hyperbolic cosine of (..)
  539.       Shift-T ... tanh() ..... Hyperbolic tangent of (..)
  540.  Shift-Ctrl-S ... asinh() .... Hyperbolic arc sine of (..)
  541.  Shift-Ctrl-O ... acosh() .... Hyperbolic arc cosine of (..)
  542.  Shift-Ctrl-T ... atanh() .... Hyperbolic arc tangent of (..)
  543.  
  544.        The functions sinh, cosh ... have precision 12 digits.
  545.  
  546. Example: sinh(4.6+X) where X=5
  547.              .- dec ---------- sci --------- rad -.
  548.              | 7.3823907489E+3                    |
  549.              | sinh(4.6+X)                        |
  550.              `------------------------------------'
  551. Keystrokes: <Shift-S>4.6+x<Alt-X>5<Ehter>
  552.  
  553. Example: sinh(4.6+X) where X=3
  554.              .- dec ---------- sci --------- rad -.
  555.              | 9.9909769732E+2                    |
  556.              | sinh(4.6+X)                        |
  557.              `------------------------------------'
  558. Keystrokes: <Alt-X>3<Ehter>
  559.  
  560.  
  561. 10.5 Numerical Integration
  562.      ---------------------
  563.  
  564.          Keys    Prompt       Function Name
  565.            $ ... integral() . Numerical Integration of f(X)
  566.  
  567.  
  568. This approximates  the value  for the  definite integral  of f(X),
  569. using 10-point Gaussian formula:
  570.                                 10
  571.                     integral = sum(W * f(X ))
  572.                                i=1  i     i
  573.  where W and X  are the weights and nodes of the Gauss formula.
  574.         i     i
  575. This  procedure   gives  accurate   results  for   the  polynomial
  576. functions up to the 19-th order.
  577.  
  578. Upper  and  lower  limits  of  the  integral are defined throw the
  579. <Alt><U> and <Alt><L>  keys, respectively. If  the limits are  not
  580. defined you will be  prompted to define them.   The variable X  is
  581. used as integration variable but its value in previous  expression
  582. is retained.
  583.  
  584. To  improve  the  accuracy  of  the  integral, press <Enter> again
  585. without changing  the integrand  and limits.  This will  halve the
  586. integration interval and apply of the algorithm to each  interval;
  587. the result is calculated by summation over all subintervals.  Each
  588. time  your  press  <Enter>  the  number  of  the  subintervals  is
  589. doubled.  Changing of  the integrand or/and limits  of integration
  590. will restore the evaluation interval to one.
  591.  
  592. For example, to integrate sin(x)^2 in the limits (0,10):
  593.              .- dec ---------- sci --------- rad -.
  594.              | Previous result                    |
  595.              | integral(sin(X)^2)                 |
  596.              `------------------------------------'
  597. Keystrokes: $sx<Right>^2
  598.  
  599. After pressing <Enter> you will be prompted to enter low integral
  600. limit:
  601.              .- dec ---------- sci --------- rad -.
  602.              | Previous result                    |
  603.              | low=0                              |
  604.              `------------------------------------'
  605. Keystrokes: 0
  606.  
  607. After input <Enter> you will be prompted to enter up integral
  608. limit:
  609.              .- dec ---------- sci --------- rad -.
  610.              | Previous result                    |
  611.              | up=10                              |
  612.              `------------------------------------'
  613. Keystrokes: 10<Enter>
  614.              .- dec ---------- sci --------- rad -.
  615.              | 4.771684898E+0                     |
  616.              | integral(sin(X)^2)                 |
  617.              `------------------------------------'
  618. To improve result simply press <Enter>:
  619.              .- dec ---------- sci --------- rad -.
  620.              | 4.771763687E+0                     |
  621.              | integral(sin(X)^2)                 |
  622.              `------------------------------------'
  623.  
  624.  
  625. 10.6 Statistical functions
  626.      ---------------------
  627.  
  628.          Keys    Prompt        Function Name
  629.         Alt-A ... x .......... Mean value
  630.         Alt-D ... d .......... Standard deviation
  631.        Ctrl-X ... random() ... Random number in [0..N]
  632.  
  633. Random returns r/65536*n, where r is uniform random number in the
  634. interval 0..65535
  635.  
  636. Example: calculation of the mean value and standard deviation of
  637. 1.11, 2.22, 3.33, 4.44:
  638.              .- dec ---------- sci --------- rad -.
  639.              | Previous result                    |
  640.              | x                                  |
  641.              `------------------------------------'
  642. Keystrokes: <Alt><A>
  643.              .- dec ---------- sci --------- rad -.
  644.              | Previous result                    |
  645.              | x=                                 |
  646.              `------------------------------------'
  647. Keystrokes: <Enter>
  648.              .- dec ---------- sci --------- rad -.
  649.              | 1.11                               |
  650.              | x=                                 |
  651.              `------------------------------------'
  652. Keystrokes: 1.11<Enter>
  653.              .- dec ---------- sci --------- rad -.
  654.              | 1.665                              |
  655.              | x=                                 |
  656.              `------------------------------------'
  657. Keystrokes: 2.22<Enter>
  658.              .- dec ---------- sci --------- rad -.
  659.              | 2.22                               |
  660.              | x=                                 |
  661.              `------------------------------------'
  662. Keystrokes: 3.33<Enter>
  663.              .- dec ---------- sci --------- rad -.
  664.              | 2.775                              |
  665.              | x=                                 |
  666.              `------------------------------------'
  667. Keystrokes: 4.44<Enter><Esc>
  668. <Esc> - end of input data
  669.  
  670.              .- dec ---------- sci --------- rad -.
  671.              | 1.433003838E+0                     |
  672.              | s                                  |
  673.              `------------------------------------'
  674. Keystrokes: <Alt><D><Enter>
  675.      _
  676. Both x and s  can be used in a similar way as variables.
  677.             x
  678.                                         _
  679. It should be  noted, however, using  of x in  an expression forces
  680. new procedure  of the  average value  calculation, while  <Alt><D>
  681. simply  inserts  the  corresponding  standard  deviation  in   the
  682. expression.
  683.  
  684.  
  685. 10.7 Solving Equations
  686.      -----------------
  687.          Keys    Prompt        Function Name
  688.  Shift-Ctrl-C ... solve() .... solves an equation of f(X) = 0
  689.  
  690. This returns a solution of the equation.
  691.  
  692. The algorithm used  in this program  for solving equations  is the
  693. bisection method. A solution can be found for continuous  functions
  694. in the range low <= x <= up, only if f(low) <= 0 <= f(up). If  the
  695. equation happens to  have several solutions  the method give  only
  696. one of them. You can  get the rest ones by  step-by-step narrowing
  697. of the search  interval.  The  solving process is  terminated when
  698. abs(f(X)/(f(up)-f(low)) will  be less  then 1.E-11.  If necessary,
  699. one can improve the result by narrowing of the search interval.
  700.  
  701.  
  702. Examples:
  703.  
  704. Keystrokes: 1-<Shift-Ctrl-C><S>x<Right>-0.5
  705.              .- dec ---------- sci --------- rad -.
  706.              | Previous result                    |
  707.              | 1-solve(sin(X)-0.5)                |
  708.              `------------------------------------'
  709. Keystrokes: <Enter>0
  710.              .- dec ---------- sci --------- rad -.
  711.              | Previous result                    |
  712.              | low=0                              |
  713.              `------------------------------------'
  714. Keystrokes: <Enter><Ctrl-P>/2
  715.              .- dec ---------- sci --------- rad -.
  716.              | Previous result                    |
  717.              | up=pi/2                            |
  718.              `------------------------------------'
  719. Keystrokes: <Enter>
  720.              .- dec ---------- sci --------- rad -.
  721.              | 4.7640122342E-1                    |
  722.              | 1-solve(sin(X)-0.5)                |
  723.              `------------------------------------'
  724.  
  725.  
  726.  
  727. As it is implemented one gets frequently the message "Interval Error".
  728. This is because of the fact, that requirements are not met.
  729. The user has to make some effort to meet these requirements.
  730. The adjusting of the interval is a problem, that can be
  731. circumvented. Also the restriction that f(low)*f(up) < 0.
  732. Solving x^x-27=0 is easier done by entering 100 as a wild guess
  733. and then several times .5*(?+27^(1/?)) or this with Alt-F.
  734. Ad hoc, but ? works nice for such simple iterative schemes.
  735. One gets easily the correct solution 3 exactly.
  736. Disregarding for a moment the stopping criterium, the method or
  737. accuracy, paying only attention to the definition.
  738. One could define uniquely the solution of f(x) = 0, where x in (a,b) to
  739. be the smallest x in (a,b), such that f(x) = 0. If there isn't any then
  740. we have an "Interval Error".
  741. Then it is much easier to obtain all solutions of f(x)=0 in some
  742. interval. Also easier to work with, because one needs not to have an up
  743. and low, that has the property f(low)*f(up) < 0.
  744. To do this requires some extra programming. The additional effort to do
  745. it, is something, that is implicit in my proposal below about max().
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752. 10.8 Absolute extrema searching.
  753.      --------------------------
  754.  
  755.          Keys    Prompt        Function Name
  756.  Shift-Ctrl-X ... ???() ...... Absolute extremum searching of (..)
  757.  
  758. ??? is "min" or "max" depending on chosen extremum type. To
  759. switch between "min" or "max" searching press <Alt-1> or <Alt-2>.
  760.  
  761. An algorithm by F. Gremmen (University of Nijmegen, Netherlands)
  762. is used.  A global extremum can be found for continuous functions
  763. in the range low <= x <= up. If function has too many
  764. (approximately >40) extrema in the interval, the risk of
  765. overlooking an extremum is present. In this case you may press
  766. <Enter> again without changing  the function and limits.  This
  767. will  halve the interval and apply of the algorithm to each
  768. interval; the result is selected between absolute extrema of all
  769. subintervals.  Each time  your  press  <Enter> the number of the
  770. subintervals  is doubled.  Changing of  the expression or/and
  771. interval boundaries will restore the search interval to one.
  772.  
  773. For example max(-X^2+2*X+3) will
  774. return 4 if low = 0 and up = 2 and X will be set to 1. It should
  775. return 0 if low = 3 and up = 4 and X should be set to 3.
  776.  
  777. 11. Constants
  778.     ---------
  779.           Key     Description
  780.        Ctrl-C ... activate constant menu
  781.        Ctrl-P ... constant "pi"
  782.        Ctrl-E ... constant "e"
  783.  
  784. By default You can use 10 constant from constant menu. Constant is
  785. inserted in expression at cursor position.
  786.  
  787. ┌───────   Constants   ──────┐
  788. │ 0 me ....... 9.109558E-28  │ - electron mass [g]
  789. │ 1 mp ....... 1.672614E-24  │ - proton mass [g]
  790. │ 2 Euler .... 5.7721566E-01 │ - Euler const
  791. │ 3 GeV*Fm ... 5.0676531698  │ -
  792. │ 4 h/2pi .... 1.0545919E-27 │
  793. │ 5 Compton e. 3.861592E-11  │
  794. │ 6 Compton p. 1.3214409E-13 │
  795. │ 7 Ridberg .. 1.0973731E+05 │
  796. │ 8 Bohr R ... 5.2917715E-09 │
  797. │ 9 Electron R 2.817939E-13  │
  798. │ Your choice :_             │
  799. └─ Exit-Esc ───── CGS ───────┘
  800.  
  801. To redefine constants You must  create a file containing up  to 10
  802. of constant's definitions in the form :
  803.  
  804. <constant_name>=<value>
  805.  
  806. For example:
  807.  
  808. Pi=3.14159265359...
  809. e=2.718281182845...
  810.  
  811.      - load RSC with next param:
  812.  
  813.       >RSC /CFileName
  814.  
  815.       - where FileName is Name of File defined constants.
  816.  
  817.  
  818. 12. Other keys
  819.     ----------
  820.  
  821.          Key     Description
  822.           F1 ... summary Help
  823.           F2 ... show the variable definitions and
  824.                  result stack (the last 100 results are
  825.                  kept on the stack and can be pasted to
  826.                  the calculator window)
  827.           F3 ... clear the RSC display
  828.           F4 ... clear the RSC variables
  829.          ESC ... hide RSC (i.e. return to DOS, Editor,
  830.                  Viewer, ...)
  831.            U ... Unload RSC (No other resident
  832.                  programs must have been installed
  833.                  AFTER RSC)
  834.            R ... paste result to cursor position (15 digits max)
  835.          TAB ... restore the last expression
  836.            H ... pusH expression to the RSC expression
  837.                  stack
  838.            P ... Pop expression from the RSC expression
  839.                  stack
  840.     <Alt><H>
  841. or <Alt><F8> ... activate the history menu
  842.     <Alt><C>
  843. or <Alt><F7> ... activate the stack menu
  844.     <Alt><T> ... save stack of expressions
  845.  
  846.  
  847. 13. Edit keys
  848.     ---------
  849.  
  850.  
  851. All expression editions my be executed with next hot-keys:
  852.  
  853.          Key     Description
  854.       <left> ... move cursor one symbol left
  855.      <right> ... move cursor one symbol right
  856.        <Del> ... delete symbol under the cursor
  857.        <Ins> ... insert/override mode
  858.       <Bksp> ... delete symbol before cursor
  859.     <Ctrl-F> ... move cursor one word right
  860.     <Ctrl-D> ... move cursor one word left
  861.  <Shift-Del> ... delete the word after cursor
  862.  
  863. 14. Error Messages
  864.     --------------
  865.  
  866. The error  messages appear  in the  right side  of top screen line.
  867. The cursor  positions to  the causing  error symbol(s),  which are
  868. blinking. Press any key to remove error message.
  869.  
  870.  
  871. Syntax error ............ Invalid function name or an operation
  872.                           sign omitted
  873.  
  874. Overflow ................ Calculation result > 1.1E+4392
  875.  
  876. Stack overflow .......... Too many nested functions
  877.  
  878. Scale Overflow .......... Expression length is more then 255 chars
  879.  
  880. No possibility .......... No possibility to unload calculator due
  881.                           to another (TSR) program loaded after RSC
  882.  
  883. Argument Error .......... Function is not defined for this
  884.                           argument value
  885.  
  886. Argument Negative ....... Function is not defined for the negative
  887.                           argument value
  888.  
  889. Average undefined ....... Attempt to use the standard deviation
  890.                           without the mean value calculation
  891.  
  892. Division by zero ........ Division by zero
  893.  
  894. Empty ................... Expression stack is empty
  895.  
  896. Too many ")" ............ Too many closing parenthesis
  897.  
  898. Missing "(" ............. Too many opening parenthesis
  899.  
  900. Missing ")" ............. Missing closing parenthesis
  901.  
  902. String stack saved ...... Informative message: expression stack is
  903.                           written to file
  904.  
  905. "," expected ............ Function requires 2 arguments
  906.  
  907. Interval Error .......... sign( f(Low_boundary)) = sign( f(Up_boundary))
  908.  
  909. User break .............. User break during calculations
  910.  
  911. The error and warning messages appear to start RSC:
  912.  
  913. File <FileName> not found ... Warning! Start.
  914. File <ConfigFileName> not correct ... Warning! Start.
  915. Unable to install RSC! ... Break.
  916. RSC is already loaded! ... Break.
  917.  
  918. 15. Disclaimer.
  919.     -----------
  920.  
  921. The Resident  Scientific Calculator  (RSC) is  provided on  an "as
  922. is"  basis  without  warranty  of  any kind, expressed or implied.
  923. The person  using the  software bears  all risk  as to the quality
  924. and performance  of the  software.   The author  will not  be held
  925. liable  for  any  special,  incidental,  consequential,  direct or
  926. indirect  damages   due  to   incorrect  calculations   or   other
  927. malfunctions.
  928.  
  929.  
  930. 16. Registration.
  931.     -------------
  932.  
  933. If you like  this program and  continue to use  is, a registration
  934. fee is  US$10 for  noncommercial use.   When registered,  you will
  935. receive via e-mail conversion  code to remove "UNREGISTERED  COPY"
  936. message,  full  support  and  are  entitled  to  a  free  upgrade.
  937. Registered  users  will  get  1  free  upgrade.  Please  mail Your
  938. registration form (see  RSC.REG) and enclose  CASH (I am  not sure
  939. that I would be able to release check or money order in Russia) to:
  940.  
  941.                           Igor Evsikov
  942.                        LCTA, JINR, (Dubna)
  943.                    PO Box 79, Head Post Office
  944.                           Moscow 101000
  945.                              Russia
  946.  
  947. Please send E-mail message when you mail your registration form !!
  948.  
  949. We  will  try  to  extend  support  to  unregistered  users during
  950. their evaluation period.  However, we reserve  the right to  limit
  951. support for unregistered users if their requests become taxing.
  952.  
  953. ********************* Technical Support *************************
  954. ****  Questions and comments can be sent  to  us via  e-mail ****
  955. ****              evsikov@lcta5.jinr.dubna.su                ****
  956. *****************************************************************
  957.  
  958.  
  959. 17. Acknowledgments.
  960.     ----------------
  961.  
  962. We would like to thank the following people:
  963.  
  964. Prof. Stephen Smith       University of Waterloo (Canada)
  965.       Frans Gremmen       University of Nijmegen (Netherlands)
  966. Dr.   Eugen Cherepanov    Join Institute of Nuclear Research (Russia)
  967. Prof. D. W. O. Heddle     University of London (UK)
  968.       Peter J. McKinney   (USA)
  969.  
  970. for valuable notes on previous RSC versions.
  971.