home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / teach.zip / INDEX.ATF next >
Text File  |  1997-09-11  |  67KB  |  821 lines

  1. XNÉIO 0 1                                                                      °
  2. XNÉCT 0 9.999999999999999E²14                                                  °
  3. XCÉFC 1 6 .,*0_²                                                               °
  4. XNÉRL 0 16807                                                                  °
  5. XCÉPR 1 1                                                                      °
  6. XCÉLX 1 2 lx                                                                   °
  7. *(1997 8 31 12 27 18 452)                                                      °
  8.  FADD ÉFX 'V ADD W;B' 'Σ Add row W to index, insert behind V=index[;1]'        °
  9.   '╕(0⌠ÉNC ''V'')/L0 ╪ index╜index,[1]W ╪ ╕0'                                  °
  10. X 'L0:B╜Φ4,²1+index[;1]∞V+1' 'index╜(B╞index),[1]W,[1](2╞╞B)╟index'            °
  11. XNB 1 3 0 0 0                                                                  °
  12. *(1997 9 8 13 33 16 384)                                                       °
  13.  FCODES ÉFX 'CODES' 'Σ Codes used in column 3 of array index'                  °
  14.   '''Array index has 4 columns. The first column has integers giving'''        °
  15.   '''the workspace number. For TEACHn the value would be n. The second''       °
  16.  '                                                                             °
  17.   '''column may have an integer (for function TEACHn the value is n),'''       °
  18.   '''or the name of a function if other than TEACHn.'',r'                      °
  19.   '''Column 3 contains the APL2 symbol discussed in lesson of col. 1'''        °
  20.   '''and in function of col. 2. Letter codes indicate the following'''         °
  21.   '''subjects:'',r' '''   CODE       CONTENTS'',r'                             °
  22.   '''    A         General APL2 subject'''                                     °
  23.   '''    G         Ground rules and general non-APL subjects'''                °
  24.   '''    H         Historic notes'''                                           °
  25.   '''    S         System commands'''                                          °
  26.   '''    U         User defined functions or expressions'',r'                  °
  27. X '''Column 4 contains name of APL primitives or subject matter'''             °
  28. *(1997 9 9 12 43 9 396)                                                        °
  29.  FCONTENTS ÉFX 'CONTENTS;T;A;B' 'Σ Table of contents'                          °
  30.   '''Functions marked with * are available in all subsequent lessons'',r       °
  31.  ' 'æ╜''Enter the lesson numbers (from 0 through 22): '' ╪ T╜É'                °
  32.   'T╜(TεA╜0,∞22)/T ╪ ╕(0=µT)/0'                                                °
  33.   'B╜L0,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16,L17,L18,L       °
  34.  19,L20,L21,L22' 'L:╕(A=╞T)/B'                                                 °
  35.   'L0:''LESSON 0           Installing APL2 and using the Session Manager       °
  36.  ''' '''          TEACH1   Installing APL2OS2'''                               °
  37.   '''          TEACH2   Defining new libraries'''                              °
  38.   '''          TEACH3   Associated Windows'''                                  °
  39.   '''          TEACH4   SESSION EDITOR'''                                      °
  40.   '''          TEACH5   Opening an APL2 object'''                              °
  41.   '''          TEACH6   Signals pull down menu'''                              °
  42.   '''          TEACH7   Options pull down menu'''                              °
  43.   '''          TEACH8   Keyboards'''                                           °
  44.   '''          TEACH9   Setting up fonts'''                                    °
  45.   '''          TEACH10  The color palette'''                                   °
  46.   '''          TEACH11  Changing colors of the fields'''                       °
  47.   '''          TEACH12  Setting up F-keys'''                                   °
  48.   '''          TEACH13  The Windows and Help pull down menus''' '╕LX'          °
  49.   'L1:''LESSON 1          Simple arithmetic expressions'''                     °
  50.   '''          TEACH1  Explain keyboard, initialize lesson'''                  °
  51.   '''          TEACH2  Immediate execution mode'''                             °
  52.   '''          TEACH3  Describe APL2 data types'''                             °
  53.   '''          TEACH4  Simple arithmetic'''                                    °
  54.   '''          TEACH5  Discuss negative numbers'''                             °
  55.   '''          TEACH6  Introduction to character manipulation'''               °
  56.   '''          TEACH7  Explain the assignement arrow'''                        °
  57.   '''          TEACH8  Introduce SHAPE and RESHAPE'''                          °
  58.   '''          TEACH9  Describe INDEX GENERATOR and INDEX OF'''                °
  59.   '''          GAUSS    A historical footnote on the early life of Gauss       °
  60.  '''                                                                           °
  61.   '''          TEACHER  To explain this tutorial to those planning to te       °
  62.  ach APL2''' '╕LX'                                                             °
  63.   'L2:''LESSON 2          Reduction, errors and parentheses'''                 °
  64.   '''          TEACH1  Introduction to lesson 2'''                             °
  65.   '''          TEACH2  Introduce the reduction operator'''                     °
  66.   '''          TEACH3  Zeros and nulls'''                                      °
  67.   '''          TEACH4  IBM function DISPLAY'''                                 °
  68.   '''          TEACH5  Error messages'''                                       °
  69.   '''          TEACH6  Average of a vector of numbers'''                       °
  70.   '''          TEACH7  Summary''' '''          TEACH8  Roll and deal'''        °
  71.   '''      RECIPROCAL  Avoiding error message with ÷ when vector contain       °
  72.  s zeros'''                                                                    °
  73.   '''          RULES   Explain purpose in having RULES in this tutorial'       °
  74.  '' '''          RULE n  Additional comments on Rule n''' '╕LX'                °
  75.   'L3:''LESSON 3  Primitive math functions'''                                  °
  76.   '''          TEACH1  Concept of WORKSPACE'''                                 °
  77.   '''          TEACH2  The power function'''                                   °
  78.   '''          TEACH3  Maximum, minimum, floor, ceiling'''                     °
  79.   '''          TEACH4  Algorithm'''                                            °
  80.   '''          TEACH5  Simple direct definition'''                             °
  81.   '''          TEACH6  Conditional direct definition'''                        °
  82.   '''       ALGORITHM  Origin of word'''                                       °
  83.   '''         DECIMAL  Origin of decimal point'''                              °
  84.   '''          DIRECT  Recent developments in APL theory by Ken Iverson'       °
  85.  '' '''            GAME  Application of direct definition''' '╕LX'             °
  86.   'L4:''LESSON 4          More APL2 primitives and APL2 syntax'''              °
  87.   '''          TEACH1  Catenation and quotes'''                                °
  88.   '''          TEACH2  Compression'''                                          °
  89.   '''          TEACH3  Replication'''                                          °
  90.   '''          TEACH4  N-wise reduction'''                                     °
  91.   '''          TEACH5  Logical primitives'''                                   °
  92.   '''          TEACH6  Indexing'''                                             °
  93.   '''          TEACH7  Arabic numerals to roman'''                             °
  94.   '''        ARABIC    Evolution of Arabic numerals''' '╕LX'                   °
  95.   'L5:''LESSON 5          Comments; Algebra in APL2'''                         °
  96.   '''          TEACH1  Review of lesson 4'''                                   °
  97.   '''          TEACH2  Comments, the lamp symbol'''                            °
  98.   '''          TEACH3  Absolute value and residue'''                           °
  99.   '''          TEACH4  Encode'''                                               °
  100.   '''          TEACH5  Decode and dual functions'''                            °
  101.   '''          TEACH6  Decode''' '''          TEACH7  Scan operator'''         °
  102.   '''    CONVENTION    Algebraic symbolism'''                                  °
  103.   '''          DUAL    Concept of dual in math and APL2'''                     °
  104.   '''          MORE    Evaluation of polynomials in APL2'''                    °
  105.   '''        MODULO    Congruence and quadratic residue''' '╕LX'               °
  106.   'L6:''LESSON 6          Rank and rank 2 objects'''                           °
  107.   '''          TEACH1  Ravel, dimension and rank'''                            °
  108.   '''          TEACH2  Scalar functions'''                                     °
  109.   '''          TEACH3  Empty arrays'''                                         °
  110.   '''          TEACH4  Bracket indexing of arrays'''                           °
  111.   '''          TEACH5  Reduction of arrays'''                                  °
  112.   '''          TEACH6  Scan of arrays'''                                       °
  113.   '''          RANK    Rank and dimension contrasted'''                        °
  114.   '''        TABLES    Historic origin of tables''' '╕LX'                      °
  115.   'L7:''LESSON 7          Nested arrays'''                                     °
  116.   '''          TEACH1  Introduction to nesting'''                              °
  117.   '''          TEACH2  Strand notation'''                                      °
  118.   '''          TEACH3  Rank and Depth'''                                       °
  119.   '''          TEACH4  More on Depth'''                                        °
  120.   '''          TEACH5  Enclose with Axis'''                                    °
  121.   '''          TEACH6  Disclose of nested arrays'''                            °
  122.   '''          TEACH7  Dyadic Enclose or Partition''' '╕LX'                    °
  123.   'L8:''LESSON 8          Processing nested arrays'''                          °
  124.   '''          TEACH1  Processing nested data structures'''                    °
  125.   '''          TEACH2  First, Drop, and Take with axis'''                      °
  126.   '''          TEACH3  Pick and the Prototype'''                               °
  127.   '''          TEACH4  The Each operator'''                                    °
  128.   '''          TEACH5  Enlist and Ravel'''                                     °
  129.   '''          TEACH6  Catenation'''                                           °
  130.   '''          TEACH7  Reverse, Rotate, and Transpose''' '╕LX'                 °
  131.   'L9:''LESSON9           Principles of APL2 and sorting'''                    °
  132.   '''          TEACH1  Theory of APL2; Binding rules'''                        °
  133.   '''          TEACH2  Binding rules in some expressions; references'''        °
  134.   '''          TEACH3  New primitives; grade up and grade down'''              °
  135.   '''          TEACH4  Dyadic grade'''                                         °
  136.   '''          TEACH5  System Functions and Variables'''                       °
  137.   '''          TEACH6  System Commands''' '╕LX'                                °
  138.   'L10:''LESSON 10         Working with arrays'''                              °
  139.   '''          TEACH1  The APL2 Inner Product'''                               °
  140.   '''          TEACH2  Inner product with vectors and arrays'''                °
  141.   '''          TEACH3  Vectors and marices'''                                  °
  142.   '''          TEACH4  The inner product process'''                            °
  143.   ''' *        BIND    Summary of binding rules'''                             °
  144.   '''        LINEAR    History of linear algebra'''                            °
  145.   '''         MATRIX   Examples from matrix algebra''' '╕LX'                   °
  146.   'L11:''LESSON 11         User defined functions'''                           °
  147.   '''          TEACH1  Introduction to defined functions'''                    °
  148.   '''          TEACH2  Quad Fix'''                                             °
  149.   '''          TEACH3  Branching and labels'''                                 °
  150.   '''          TEACH4  Del mode'''                                             °
  151.   '''          TEACH5  Programming style'''                                    °
  152.   '''          TEACH6  Modifying a defined function'''                         °
  153.   '''          TEACH7  Headers'''                                              °
  154.   '''          TEACH8  Local variables''' '╕LX'                                °
  155.   'L12:LESSON 12 The outer product and user defined operators ''               °
  156.                 ' '''          TEACH1  Outer product operator'''               °
  157.   '''          TEACH2  User defined operator'''                                °
  158.   '''          TEACH3  Operator extensions on monadic functions'''             °
  159.   '''          TEACH4  Dyadic defined operator with two functions'''           °
  160.   '''          TEACH5  Locke functions''' '╕LX'                                °
  161.   'L13:''LESSON 13         User input'''                                       °
  162.   '''          TEACH1  Quad and Quote Quad input'''                            °
  163.   '''          TEACH2  Quad utility'''                                         °
  164.   '''          TEACH3  Format, Execute and the ''''doif'''' utility'''         °
  165.   '''          TEACH4  Re-design GETNO'''                                      °
  166.   '''          TEACH5  The game of Blackjack'''                                °
  167.   '''          TEACH6  Using function ''''doif'''' in function BLACKJACK       °
  168.  ''' '''          TEACH7  Another version of Blackjack''' '╕LX'                °
  169.   'L14:''LESSON14          Controlling the execution of APL2 expressions       °
  170.  ''' '''          TEACH1  Execute Alternate'''                                 °
  171.   '''          TEACH2  Execute Controlled'''                                   °
  172.   '''          TEACH3  Event Type'''                                           °
  173.   '''          TEACH4  Error Messages'''                                       °
  174.   '''          TEACH5  Using ÉEC to extend the syntax of APL2'''               °
  175.   '''          TEACH6  Define EVAL; to evaluate conditional expressions'       °
  176.  '' '╕LX'                                                                      °
  177.   'L15:''LESSON15          Structural primitives and data structures'''        °
  178.   '''          TEACH1  Find; usage of workspace IDIOMS'''                      °
  179.   '''          TEACH2  Dyadic primitive MATCH'''                               °
  180.   '''          TEACH3  Dyadic primitive WITHOUT'''                             °
  181.   '''          TEACH4  Using data structures; the Push Down Stack'''           °
  182.   '''          TEACH5  Rule selection'''                                       °
  183.   '''          TEACH6  FRAMES as data structures''' '╕LX'                      °
  184.   'L16:''LESSON16          System Commands, utilities and conventions'''       °
  185.   '''          TEACH1  Discuss System Commands'''                              °
  186.   '''          TEACH2  Index origin'''                                         °
  187.   '''          TEACH3  Discuss role of global variables'''                     °
  188.   '''          TEACH4  Using conventions'''                                    °
  189.   '''          TEACH5  Describe utility function ''''do'''''''                 °
  190.   '''          TEACH6  Utility functions ''''show'''' and ''''showfn''''       °
  191.  '''                                                                           °
  192.   '''          TEACH7  System functions and System variables                   °
  193.                 ' '''        COMMANDS  Summary of System Commands'''           °
  194.   '╕LX' 'L17:''LESSON17          Making APL2 more efficient'''                 °
  195.   '''          TEACH1  There are many ways to solve problems in APL2'''        °
  196.   '''          TEACH2  Testing function TIME'''                                °
  197.   '''          TEACH3  Examples of computation time'''                         °
  198.   '''          TEACH4  Strategies for efficient problem solving'''             °
  199.   '''          TEACH5  Dyadic format; format by specification'''               °
  200.   '''          TEACH6  Format by example'''                                    °
  201.   '''      ALGORITHMS  A classification table of algorithms'''                 °
  202.   '''        N TIME E  Measuring evaluation time of APL2 expression'''         °
  203.   '╕LX' 'L18:''LESSON18          Developing a new defined function'''          °
  204.   '''          TEACH1  Testing and documenting new APL2 functions'''           °
  205.   '''          TEACH2  Utilities useful in function documentation'''           °
  206.   '''          TEACH3  Describe process of defining function CtoN'''           °
  207.   '''          TEACH4  Another approach to CtoN'''                             °
  208.   '''          TEACH5  Describing the algorithm in a blueprint function'       °
  209.  '' '''          TEACH6  Adding test cases to blueprint function'''            °
  210.   '╕LX' 'L19:''LESSON19          Logarithms and the Pascal triangle'''         °
  211.   '''          TEACH1  APL2 and mathematics'''                                 °
  212.   '''          TEACH2  Compound interest'''                                    °
  213.   '''          TEACH3  Invention of logarithms'''                              °
  214.   '''          TEACH4  The log function'''                                     °
  215.   '''          TEACH5  Pascal triangle'''                                      °
  216.   '''          TEACH6  Factorial, Gamma and binomial''' '╕LX'                  °
  217.   'L20:''LESSON20          Some concepts from calculus and trigonometry'       °
  218.  '' '''          TEACH1  Review power function and logarithm'''                °
  219.   '''          TEACH2  Convergence, derivatives and integrals of infinit       °
  220.  e series''' '''          TEACH3  Circle functions'''                          °
  221.   '''          TEACH4  Triangle functions'''                                   °
  222.   '''          TEACH5  More trig functions''' '╕LX'                            °
  223.   'L21:''LESSON21          Matrix algebra'''                                   °
  224.   '''          TEACH1  Geometrical interpretation of matrices'''               °
  225.   '''          TEACH2  Rotation matrix, scaling and inversion'''               °
  226.   '''          TEACH3  Dot product'''                                          °
  227.   '''          TEACH4  The inverse of a matrix'''                              °
  228.   '''          TEACH5  Solving linear equations'''                             °
  229.   '''          TEACH6  Properties of the inverse'''                            °
  230.   '''          TEACH7  Domino with vectors''' '╕LX'                            °
  231.   'L22:''LESSON22          Fitting equations to data'''                        °
  232.   '''          TEACH1  Solving linear equations with dyadic domino'''          °
  233.   '''          TEACH2  Least squares'''                                        °
  234.   '''          TEACH3  Fitting curves'''                                       °
  235.   '''          TEACH4  Fitting trigonomrtric functions'''                      °
  236.   '''          TEACH5  Function minimization'''                                °
  237. X 'LX:T╜1╟T ╪ endd ╪ ╕(0<µT)/L'                                                °
  238. *(1997 7 13 12 30 30 436)                                                      °
  239.  FDISPLAY ÉFX 'D╜S DISPLAY A;ÉIO;R;C;HL;HC;HT;HB;VL;VB;V;W;N;B'                °
  240.   'Σ DISPLAY A GENERAL ARRAY IN PICTORIAL FORM'                                °
  241.   'Σ  NORMAL CALL IS MONADIC.  DYADIC CALL USED ONLY IN'                       °
  242.   'Σ    RECURSION TO SPECIFY DISPLAY RANK, SHAPE, AND DEPTH.' 'ÉIO╜0'          °
  243.   '»(0=ÉNC ''S'')/''S╜µA''' 'R╜╞µ,S                   Σ PSEUDO RANK.'          °
  244.   'C╜''┐┌└┘''                 Σ UR, UL, LL, AND LR CORNERS.'                   °
  245.   'HL╜''─''                   Σ HORIZONTAL LINE.'                              °
  246.   'HC╜HL,''Θ╕'',HL,''~+ε''      Σ HORIZONTAL BORDERS.'                         °
  247.   'HT╜HC[(0<R)⌡1+0<╞²1╞,S]' 'ΣW╜,0╧■╞0µΓ(1⌐µA)╞A'                              °
  248.   'HB╜HC[3+3╛(''2⌡~A╧«A'' ÉEA ''1+╞ε0⌡(1⌐⌡/µA)╞,A'')+3⌡1<µµS]'                 °
  249.   'VL╜''│''                   Σ VERTICAL LINE.'                                °
  250.   'VB╜VL,''Φ╟''               Σ VERTICAL BORDER.'                              °
  251.   'V╜VB[(1<R)⌡1+0<²1╞²1╟,S]'                                                   °
  252.   '»(0εµA)/''A╜(1⌐µA)µΓ╞A''   Σ SHOW PROTOTYPE OF EMPTIES.'                    °
  253.   '╕(1<╧A)/GEN' '╕(2<µµA)/D3'                                                  °
  254.   'D╜«A                     Σ SIMPLE ARRAYS.' 'W╜1╞µD╜(²2╞1 1,µD)µD'           °
  255.   'N╜²1+1╟µD' '╕(0=µµA)/SS'                                                    °
  256.   'D╜(C[1],V,((W-1)µVL),C[2]),((HT,NµHL),[0]D,[0]HB,NµHL),C[0],(WµVL),C[       °
  257.  3]' '╕0' 'SS:HB╜((0 '' '')=╞0µΓA)/'' -'''                                     °
  258.   'D╜'' '',('' '',[0]D,[0]HB,Nµ'' ''),'' ''' '╕0'                              °
  259.   'GEN:D╜«DISPLAY■A          Σ ENCLOSED ...' 'N╜Dδ.⌠'' '''                     °
  260.   'D╜(Nδ~1ΦN)≡D' 'D╜(δ≡~''  ''╤D)/D' 'D╜((1,µS)µS)DISPLAY D'                   °
  261.   '╕(2≥µ,S)╟D3E,0' 'D3:D╜0 ²1╟0 1╟«ΓA         Σ MULT-DIMENSIONAL ...'          °
  262.   'W╜1╞µD' 'N╜²1+1╟µD'                                                         °
  263.   'D╜(C[1],V,((W-1)µVL),C[2]),((HT,NµHL),[0]D,[0]HB,NµHL),C[0],(WµVL),C[       °
  264.  3]' 'D3E:N╜²2+µ,S'                                                            °
  265. X 'V╜C[Nµ1],[0]VB[1+0<²2╟,S],[0](((²3+╞µD),N)µVL),[0]C[Nµ2]' 'D╜V,D'           °
  266. *(1997 8 26 12 58 20 564)                                                      °
  267.  FFIND ÉFX 'U╜V FIND W;B;T' 'Σ Find W in col 3 or col 4 of index'              °
  268.   'W╜upper W ╪ ╕((1=µ,W),^/''R ''=2╞W)/L1,L2'                                  °
  269.   'U╜(T╜index[;4]find W)≡index' '╕L3' 'L1:U╜(T╜W=╞■index[;3])≡index'           °
  270.   '╕L3' 'L2:U╜1 RULE»1╟W ╪ ╕0' 'L3:U[;1]╜(Γ''TEACH''),■«■U[;1]'                °
  271.   'B╜0=εµ■µ■U[;2] ╪ B╜B/∞µB ╪ U[B;2]╜(Γ''TEACH''),■«■U[B;2]'                   °
  272.   'U╜(T/∞µT),U ╪ U╜''ROW'' ''WORKSPACE'' ''FUNCTION'' ''CONTENTS'',[1]U[       °
  273. X;1 2 3 5]' '╕(2=ÉNC ''V'')/0' 'U╜0 1╟U'                                       °
  274. *(1997 9 9 12 18 31 384)                                                       °
  275.  FGET ÉFX 'U╜GET W'                                                            °
  276.   'Σ List all subjects described in workspace W[1] and function W[2]'          °
  277. X 'U╜(index[;1]=╞W)≡index ╪ ╕(0=µW╜1╟W)/0' 'U╜(δ/U[;2]°.╧W)≡U'                 °
  278. *(1997 9 8 13 39 44 520)                                                       °
  279.  FRULES ÉFX 'RULES;L;R;T' 'Σ List requested rules'                             °
  280. X '''Enter the rule numbers to be displayed''' '1 rule É'                      °
  281. XCd 0 ½                                                                        °
  282. *(1997 7 13 12 30 34 452)                                                      °
  283.  Fdo ÉFX 'do;T;E' 'Σ Expression driver' 'E╜''''' 'æ╜''      ''' 'T╜æ'          °
  284.   '╕(^/'' ''=T)/0'                                                             °
  285.   '╕(('':''εT)doif ''B╜evaldd (+/^\'''' ''''=T)╟T'')/2'                        °
  286.   '''E╜ÉEM'' ÉEA T' '╕(0=µ,E)/2'                                               °
  287.   '''This is not a valid APL2 expression''' 'æ╜''*''' '╕(''?''⌠╞1╟æ)/2'        °
  288. X 'E' '╕2'                                                                     °
  289. *(1997 7 13 12 30 35 456)                                                      °
  290.  Fdoif ÉFX 'U╢╜V╢ doif W╢;t╢' 'Σ Rule' '╕(^/~U╢╜V╢)/0'                         °
  291. X '''t╢╜V╢ doif■ W╢'' ÉEA ''»V╢/W╢'''                                          °
  292. *(1997 9 9 12 44 57 592)                                                       °
  293. XFendd ÉFX 'endd' 'Σ end of special feature' '20µ''²''' 'do'                   °
  294. *(1997 7 13 12 30 35 456)                                                      °
  295.  Ffind ÉFX 'U╜V find W' 'Σ Return boolean vector of matching patterns'         °
  296. X '╕((1<╧V)doif ''U╜V find■ ΓW'')/0' 'U╜δ/^/(²1+∞µW)ΘV°.=W'                    °
  297. *(1997 8 22 13 15 17 368)                                                      °
  298.  Fget ÉFX 'u╜v get w' 'Σ List all items of w with v in first µv columns'       °
  299. X 'u╜(v^.╧φw[;∞µv])≡w'                                                         °
  300. *(1997 7 28 13 33 8 424)                                                       °
  301.  Fglobals ÉFX 'globals' 'Σ Initialize useful global variables'                 °
  302.   'uc╜''ABCDEFGHIJKLMNOPQRSTUVWXYZ'''                                          °
  303.   'lc╜''abcdefghijklmnopqrstuvwxyz''' 'dig╜''1234567890'''                     °
  304. X 'r╜ÉAV[13+ÉIO]' 'q╜'''''''''                                                 °
  305.  Aindex╜374 4µ(0)(1)('G')('INSTALLING APL2OS2')(0)(1)('G')('APL2OS2 ICON       °
  306.  S')(0)(1)('G')('APL2OS2 COMMAND FILE')(0)(2)('G')('DEFINING APL2 LIBRAR       °
  307.  IES')(0)(2)('G')('APL2 INVOCATION')(0)(2)('G')('APL2 ENVIRONMENT VARIAB       °
  308.  LES')(0)(3)('G')('SESSION MANAGER')(0)(3)('G')('SESSION LOG')(0)(4)('G'       °
  309.  )('SESSION EDITOR')(0)(4)('G')('MOVE MARK FIND DELETE TEXT')(0)(5)('G')       °
  310.  ('APL2 KEYBOARD')(0)(8)('G')('CUSTOMIZING APL2 KEYBOARD')(0)(9)('G')('S       °
  311.  ELECTING FONTS')(0)(10)('G')('CHANGING COLORS')(0)(11)('G')('CHANGING C       °
  312.  OLORS OF APL2 FIELDS')(0)(12)('G')('SETTING F-KEYS')(0)(13)('G')('SCROL       °
  313.  LING OPTIONS')(1)(2)('A')('APL2 EXPRESSIONS')(1)(2)('A')('IMMEDIATE EXE       °
  314.  CUTION')(1)(3)('A')('NUMBERS, CHARACTERS, SCALARS')(1)(4)('A')('VECTORS       °
  315.  ')(1)(4)('A')('APL2 PRIMITIVE FUNCTIONS')(1)(4)('A')('APL2 SYMBOLS')(1)       °
  316.  (4)('A')('USER DEFINED FUNCTIONS')(1)(4)('-')('NEGATION (MINUS)')(1)(5)       °
  317.  ('²')('HIGH MINUS')(1)(5)('A')('MONADIC, DYADIC FUNCTIONS')(1)(6)('=')(       °
  318.  'EQUAL')(1)(6)('⌠')('NOT EQUAL')(1)(6)('ε')('MEMBERSHIP FUNCTION')(1)(6       °
  319.  )('A')('RELATIONAL FUNCTIONS')(1)(7)('╜')('ASSIGNEMENT ARROW')(1)(7)('G       °
  320.  ')('RE-EXECUTION')(1)(7)('A')('VARIABLE SPECIFICATION')(1)(8)('µ')('SHA       °
  321.  PE')(1)(8)('µ')('RESHAPE')(1)(8)('A')('ARRAYS')(1)(9)('∞')('INDEX GENER       °
  322.  ATOR')(1)(9)('∞')('INDEX OF')(1)('GAUSS')('H')('AN ANECDOTE ABOUT GAUSS       °
  323.  ')(1)('KEYBOARD')('G')('SELECT KEYBOARD')(1)('KEYBOARD')('G')('FIND APL       °
  324.  2 SYMBOL KEYS')(1)('TEACHER')('G')('TUTORIAL EXPLANATION')(1)('TEACHER'       °
  325.  )('G')('MAIL, E-MAIL ADDRESS')(1)(2)('+')('PLUS')(1)(2)('-')('MINUS')(1       °
  326.  )(2)('⌡')('TIMES')(1)(2)('÷')('DIVIDE')(2)(1)('A')('EVALUATING VECTORS'       °
  327.  )(2)(2)('A')('REDUCTION OPERATOR')(2)(3)('A')('ZERO AND NULL')(2)(3)('A       °
  328.  ')('RANK')(2)(3)('A')('IDIOM')(2)(4)('U')('DISPLAY FUNCTION')(2)(4)('G'       °
  329.  )('KEYBOARD')(2)(5)('S')('ERROR MESSAGES')(2)(5)('S')('INTERRUPTS')(2)(       °
  330.  6)('A')('APL2 ALGORITHMS, AVERAGE')(2)(6)('A')('PARENTHESES')(2)(7)('A'       °
  331.  )('ZERO DIVIDE')(2)(7)('⌡')('SIGNUM')(2)(7)('÷')('RECIPROCAL')(2)(7)('+       °
  332.  ')('COMPLEX CONJUGATE')(2)(8)('?')('ROLL, DEAL')(2)('COMPLEX')('H')('PY       °
  333.  THAGORAS')(2)('COMPLEX')('A')('COMPLEX NUMBERS')(2)('COMPLEX')('A')('IM       °
  334.  AGINARY COMPONENT')(2)('RECIPROCAL')('U')('AVOIDING ZERO DIVIDE INTERRU       °
  335.  PT')(2)('COMPLEX')('J')('COMPLEX NUMBER NOTATION')(3)(1)('(')('PARENTHE       °
  336.  SES')(3)(1)(')')('PARENTHESES')(3)(1)('''')('QUOTE')(3)(1)('²')('HIGH M       °
  337.  INUS')(3)(1)('A')('WORKSPACE')(3)(2)('*')('POWER FUNCTION')(3)(3)('⌐')(       °
  338.  'MAXIMUM')(3)(3)('╛')('MINIMUM')(3)(3)('⌐')('CEILING')(3)(3)('╛')('FLOO       °
  339.  R')(3)(3)('=')('EQUAL')(3)(3)('⌠')('NOT EQUAL')(3)(3)('<')('LESS THAN')       °
  340.  (3)(3)('>')('GREATER THAN')(3)(3)('≤')('LESS THAN OR EQUAL')(3)(3)('≥')       °
  341.  ('GREATER THAN OR EQUAL')(3)(4)('A')('USER DEFINED FUNCTION')(3)(4)('A'       °
  342.  )('ALGORITHM')(3)(5)('U')('DIRECT DEFINITION')(3)(6)('U')('CONDITIONAL        °
  343.  DIRECT DEFINITION')(3)(7)('U')('AVERAGE, RANGE, MIDRANGE')(3)('ALGORITH       °
  344.  M')('H')('ORIGIN OF THE WORD ALGORITHM')(3)('COMPLEX 1')('A')('CUBE ROO       °
  345.  TS OF NEGATIVE NUMBERS')(3)('COMPLEX 2')('⌐')('CEILING OF COMPLEX NUMBE       °
  346.  RS')(3)('COMPLEX 2')('╛')('FLOOR OF COMPLEX NUMBERS')(3)('DECIMAL')('H'       °
  347.  )('ORIGIN OF DECIMAL NOTATION')(3)('DIRECT')('H')('RECENT DEVELOPMENTS        °
  348.  IN APL THEORY, KEN IVERSON')(3)('GAME')('U')('A GAME TO GUESS A NUMBER'       °
  349.  )(3)('DIRECT')('H')('TACIT PROGRAMMING')(3)('DIRECT')('H')('DIRECT DEFI       °
  350.  NITION')(3)('POWER')('*')('EXPONENTIAL POWER FUNCTION (MONADIC)')(3)('P       °
  351.  OWER')('*')('POWER OF COMPLEX NUMBERS')(3)('POWER')('*')('EULER FORMULA       °
  352.  ')(3)('DECIMAL')('.')('DECIMAL POINT')(4)(1)(',')('CATENATION, RAVEL')(       °
  353.  4)(2)('/')('COMPRESSION')(4)(3)('/')('REPLICATION')(4)(4)('/')('N-WISE        °
  354.  REDUCTION')(4)(5)('~')('NOT')(4)(5)('δ')('OR')(4)(5)('^')('AND')(4)(5)(       °
  355.  'τ')('NOR')(4)(5)('σ')('NAND')(4)(6)('╙')('INDEXING FUNCTION')(4)(6)('[       °
  356.  ')('BRACKET INDEXING')(4)(6)(']')('BRACKET INDEXING')(4)(7)('╜')('VECTO       °
  357.  R SPECIFICATION')(4)(7)('╜')('SELECTIVE SPECIFICATION')(4)(8)('U')('CON       °
  358.  VERTING ROMAN NUMERALS TO ARABIC')(4)('ARABIC')('H')('ORIGIN OF ARABIC        °
  359.  NOTATION')(5)(2)('Σ')('LAMP, COMMENTS')(5)(2)('U')('RUNNING AVERAGE')(5       °
  360.  )(3)('|')('ABSOLUTE VALUE')(5)(3)('|')('RESIDUE')(5)(4)('ÿ')('ENCODE')(       °
  361.  5)(5)('¥')('DECODE')(5)(6)('U')('CONVERTING ROMAN NUMERALS TO ARABIC')(       °
  362.  5)(7)('\')('THE SCAN OPERATOR')(5)('COMPLEX')('G')('ABSOLUTE VALUE OF C       °
  363.  OMPLEX NUMBERS')(5)('CONVENTION')('H')('EVOLUTION OF ALGEBRAIC NOTATION       °
  364.  ')(5)('DUAL')('G')('THE CONCEPT OF A DUAL')(5)('DUAL')('U')('HALF ADJUS       °
  365.  T ALGORITHM')(5)('MODULO')('G')('MODULO ARITHMETIC')(5)('MODULO')('G')(       °
  366.  'LAW OF QUADRATIC RECIPROCITY, K GAUSS')(5)('RESIDUE')('|')('RESIDUE OF       °
  367.   NON-INTEGER AND NEGATIVE NUMBERS')(6)(1)('A')('APL ARRAYS')(6)(1)('A')       °
  368.  ('RANK 0 ARRAYS')(6)(2)('A')('ARRAYS AND SCALAR FUNCTIONS')(6)(3)('A')(       °
  369.  'EMPTY ARRAYS')(6)(3)('U')('THE DISPLAY FUNCTION')(6)(4)('A')('ARRAYS A       °
  370.  ND NON SCALAR PRIMITIVE FUNCTIONS')(6)(4)('[')('BRACKET INDEXING')(6)(4       °
  371.  )(']')('BRACKET INDEXING')(6)(5)('/')('ARRAYS AND REDUCTION OPERATOR')(       °
  372.  6)(6)('\')('ARRAYS AND SCAN OPERATOR')(6)('TABLES')('H')('INVENTION AND       °
  373.   USAGE OF TABLES')(6)('RANK')('G')('DISTINCTION BETWEEN APL AND MARHEMA       °
  374.  TICAL RANK')(6)('RANK')('G')('GEOMETRICAL INTERPRETATION OF APL ARRAYS'       °
  375.  )(6)('RANK')('G')('BASIS')(6)('RANK')('G')('LINEAR ALGEBRA')(6)(5)('≡')       °
  376.  ('REDUCTION ALONG FIRST AXIS')(7)(1)('A')('NESTED ARRAYS AND DEPTH')(7)       °
  377.  (1)('╧')('DEPTH')(7)(1)('Γ')('ENCLOSE')(7)(2)(' ')('BLANK IN APL SYNTAX       °
  378.  ')(7)(2)('A')('STRAND NOTATION')(7)(3)('A')('RANK AND DEPTH')(7)(3)('A'       °
  379.  )('NESTED VECTORS')(7)(3)('A')('INDEXING OF NESTED VECTORS')(7)(3)('π')       °
  380.  ('PICK FUNCTION')(7)(3)('π')('ACCESS VECTOR')(7)(4)('π')('USING PICK ON       °
  381.   NESTED ARRAYS')(7)(5)('Γ')('ENCLOSE WITH AXIS')(7)(5)('φ')('TRANSPOSE'       °
  382.  )(7)(6)('A')('RANK TRANSFORMATIONS')(7)(6)('A')('FILL ELEMENT')(7)(6)('       °
  383.  A')('EQUIVALENT (HOMOGENEOUS) FORMS')(7)(7)('Γ')('PARTITION FUNCTION')(       °
  384.  8)(1)('╞')('TAKE')(8)(1)('╟')('DROP')(8)(1)('A')('FILL ELEMENTS AND PRO       °
  385.  TOTYPES')(8)(2)('╞')('TAKE WITH AXIS')(8)(2)('╟')('DROP WITH AXIS')(8)(       °
  386.  2)('A')('DEPTH AFTER TAKE OR DROP')(8)(3)('╞')('FIRST')(8)(4)('■')('EAC       °
  387.  H')(8)(4)('ε')('ENLIST')(8)(5)('A')('RAVEL, CATENATE AND ENLIST ON NEST       °
  388.  ED ARRAYS')(8)(6)(',')('CATENATION OF ARRAYS')(8)(6)('A')('LAMINATION')       °
  389.  (8)(7)('Φ')('REVERSE AND ROTATE')(8)(7)('Θ')('REVERSE AND ROTATE')(8)(7       °
  390.  )('φ')('TRANSPOSE')(9)(1)('A')('BINDING RULES')(9)(1)('A')('CHANGES FRO       °
  391.  M APL TO APL2')(9)(2)('A')('APPLYING BINDING RULES TO APL2 EXPRESSIONS'       °
  392.  )(9)(3)('√')('GRADE UP ON NUMERIC ARRAYS')(9)(3)('ⁿ')('GRADE DOWN ON NU       °
  393.  MERIC ARRAYS')(9)(4)('√')('GRADE UP ON CHARACTER ARRAYS')(9)(4)('ⁿ')('G       °
  394.  RADE DOWN ON CHARACTER ARRAYS')(9)(4)('S')('ATOMIC VECTOR')(9)(4)('S')(       °
  395.  'QUAD AS DEFINING SYSTEM FUNCTIONS AND VARIABLES')(9)(5)('S')('TERMINAL       °
  396.   CONTROL CHARACTERS')(9)(5)('S')('NEW LINE CHARACTER')(9)(5)('S')('ATOM       °
  397.  IC FUNCTION')(9)(5)('A')('ZERO INDEX ORIGIN OF ATOMIC FUNCTION')(9)(6)(       °
  398.  ')')('SYSTEM COMMANDS: LIB LOAD OFF WSID')(9)('BIND')('A')('BINDING RUL       °
  399.  ES')(10)(1)('A')('INNER PRODUCT')(10)(1)('.')('DOT PRODUCT')(10)(1)('A'       °
  400.  )('ARRAY PRODUCT')(10)(2)('A')('USING ARRAY PRODUCT ON CHARACTER AND NU       °
  401.  MERIC ARRAYS')(10)(3)('A')('ARRAYS AND MATRIX ALGEBRA')(10)(3)('G')('ID       °
  402.  ENTITY MATRIX')(10)(3)('U')('FUNCTION UNIT')(10)(3)('G')('NON COMMUTATI       °
  403.  VE PRODUCT')(10)(4)('G')('MATRIX MULTIPLICATION')(10)(4)('A')('BINDING        °
  404.  RULE 3')(10)('LINEAR')('H')('DEVELOPMENT OF ALGEBRAIC CONCEPTS')(10)('M       °
  405.  ATRIX')('U')('EXAMPLES FROM MATRIX ALGEBRA')(11)(1)('A')('USER DEFINED        °
  406.  FUNCTIONS')(11)(1)('╖')('DEL EDITOR')(11)(1)('S')('QUAD FIX')(11)(1)('A       °
  407.  ')('APL EDITOR')(11)(2)('A')('HEADER')(11)(2)('A')('CANONICAL REPRESENT       °
  408.  ATION')(11)(3)('U')('CONVERTING ROMAN NUMERALS TO ARABIC')(11)(3)('╕')(       °
  409.  'RIGHT POINTING ARROW BRANCH')(11)(3)('╕')('BRANCH TO ZERO = EXIT FUNCT       °
  410.  ION')(11)(3)('A')('LABELS IN USER DEFINED FUNCTIONS')(11)(3)('S')('NAME       °
  411.   CLASSIFICATION')(11)(3)('A')('EXPUNGING (ERASING) APL2 OBJECTS')(11)(3       °
  412.  )('╪')('DIAMOND SEPARATOR')(11)(4)('╖')('USING THE DEL EDITOR')(11)(4)(       °
  413.  'U')('MOVING AVERAGE')(11)(5)('G')('PROGRAMMING STYLES')(11)(5)('G')('U       °
  414.  TILITY FUNCTIONS')(11)(5)('G')('SUBROUTINES')(11)(5)('G')('EDGE EFFECTS       °
  415.  , DEFAULTS AND ABORTS')(11)(6)('A')('MODIFYING A USER DEFINED FUNCTION'       °
  416.  )(11)(6)('A')('FUNCTION DEFINITION MODE')(11)(6)('A')('AMBIVALENT FUNCT       °
  417.  ION')(11)(6)('A')('LISTING A USER DEFINED FUNCTION')(11)(7)('A')('SESSI       °
  418.  ON MANAGER EDITOR')(11)(8)('A')('USER DEFINED FUNCTION HEADERS')(11)(9)       °
  419.  ('A')('LOCAL AND GLOBAL NAMES')(11)(9)('A')('REPEAT LABELS IN HEADERS')       °
  420.  (11)(2)('S')('CHARACTER REPRESENTATION')(11)(8)('S')('ATTRIBUTES')(12)(       °
  421.  1)('.')('OUTER PRODUCT')(12)(1)('U')('PRIME NUMBERS')(12)(2)('A')('HEAD       °
  422.  ERS OF USER DEFINED OPERATORS')(12)(2)('A')('EXTENSION OF REDUCTION TO        °
  423.  NESTED ARRAYS')(12)(3)('U')('APPLY OPERATOR TO EACH LEAF AT DEPTH V')(        °
  424.  12)(3)('U')('ROY SYKES')(12)(3)('U')('DELAYED BINDING')(12)(3)('U')('RA       °
  425.  Y POLIVKA')(12)(3)('U')('CONVERTING TO AND FROM HEXADECIMAL NOTATION')(       °
  426.  12)(4)('U')('BINDING RULES AND DEFINING NEW OPERATORS')(12)(5)('·')('LO       °
  427.  CKED FUNCTIONS')(12)(5)('A')('USING QUAD FX TO LOCK FUNCTIONS')(13)(1)(       °
  428.  'É')('QUAD; NUMERIC INPUT')(13)(1)('æ')('QUAD; CHARACTER INPUT')(13)(1)       °
  429.  ('S')('PROMPT REPLACEMENT')(13)(1)('æ')('ENTERING TEXT ON SAME LINE AS        °
  430.  PROMPT')(13)(2)('U')('GETNO: PROMPT, THEN OBTAIN NUMERIC DATA')(13)(3)(       °
  431.  '»')('EXECUTE PRIMITIVE')(13)(3)('«')('MONADIC FORMAT')(13)(3)('U')('"d       °
  432.  oif" FUNCTION')(13)(4)('S')('RANDOM LINK')(13)(4)('S')('TIME STAMP')(13       °
  433.  )(5)('A')('CARD GAMES; SHUFFLING A DECK')(13)(5)('U')('SHOW: DISPLAY CA       °
  434.  RDS')(13)(5)('U')('DEAL: DEAL FROM A SHUFFLED CARD DECK')(13)(5)('U')('       °
  435.  THE GAME OF BLACKJACK')(13)(5)('U')('EVAL: EVALUATE A BLACKJACK HAND')(       °
  436.  13)(5)('U')('ISIN: EVALUATE A BLACKJACK HAND')(13)(6)('G')('PROGRAMMING       °
  437.   STYLES')(13)(6)('G')('BLACKJACK AS A PRODUCTION SYSTEM')(13)(7)('G')('       °
  438.  BLACKJACK AS A RULE BASED SYSTEM')(14)(1)('S')('THE EXECUTE ALTERNATE S       °
  439.  YSTEM FUNCTION')(14)(1)('S')('NAME ASSOCIATION')(14)(1)('S')('SHARED VA       °
  440.  RIABLES')(14)(2)('S')('THE EXECUTE CONTROLLED SYSTEM FUNCTION')(14)(3)(       °
  441.  'S')('THE EVENT TYPE SYSTEM VARIABLE')(14)(3)('A')('ERRORS: DEFAULT, RE       °
  442.  SOURCE, SYNTAX, VALUE')(14)(3)('A')('ERRORS: IMPLICIT ARGUMENT, EXPLICI       °
  443.  T ARGUMENT')(14)(4)('A')('ERROR MESSAGES: AXIS, DOMAIN, LENGTH, VALUE')       °
  444.  (14)(5)('U')('NEW: USING EXECUTE CONTROLLED TO EXTEND SYNTAX OF APL2')(       °
  445.  14)(6)('U')('EVAL: EVALUATE NON-APL2 EXPRESSIONS')(14)(4)('S')('EVENT M       °
  446.  ESSAGE')(15)(1)('G')('KNOWLEDGE BASE')(15)(1)('╤')('FIND')(15)(1)('U')(       °
  447.  'IBM WORKSPACE IDIOMS')(15)(2)('╧')('MATCH')(15)(2)('A')('COMPARING TWO       °
  448.   APL2 ARRAYS')(15)(3)('~')('WITHOUT')(15)(4)('G')('USING DATA STRUCTURE       °
  449.  S')(15)(4)('U')('PUSH: PLACE APL2 ARRAY ON PUSH DOWN STACK')(15)(4)('U'       °
  450.  )('POP: REMOVE APL2 ARRAY FROM PUSH DOWN STACK')(15)(5)('U')('A MORE GE       °
  451.  NERAL INFERENCE ENGINE')(15)(6)('G')('HIERARCHICAL NETWORKS; FRAMES')(        °
  452.  16)(1)('S')('SYSTEM COMMANDS')(16)(1)('S')('LOAD, IN, PIN, OFF, WSID, C       °
  453.  OPY, PCOPY, LIB')(16)(1)('S')('SAVE, OUT, ERASE, DROP, CLEAR, VARS, FNS       °
  454.  , OPS')(16)(1)('S')('NMS, SI, SINL, SIS, RESET, MORE, HOST, CHECK, SYMB       °
  455.  OLS')(16)(2)('S')('INDEX ORIGIN')(16)(3)('A')('GLOBAL VARIABLES')(16)(4       °
  456.  )('G')('ADOPTING CONVENTIONS')(16)(4)('S')('NAME LIST')(16)(4)('G')('HA       °
  457.  RRY BERTUCCELLI')(16)(5)('G')('SAMPLE UTILITY FUNCTIONS')(16)(5)('U')('       °
  458.  "do" PAUSE TO ALLOW ENTERING SAMPLE APL2 EXPRESSION')(16)(6)('U')('"sho       °
  459.  w" DISPLAY APL2 EXPRESSION AND EVALUATE IT')(16)(6)('U')('"showfn" DISP       °
  460.  LAY A USER DEFINED FUNCTION')(16)('COMMANDS')('S')('DISPLAY SYSTEM COMM       °
  461.  ANDS AVAILABLE TO APL2OS2')(16)(7)('S')('LATENT EXPRESSION')(16)(7)('S'       °
  462.  )('ACCOUNT INFORMATION')(16)(7)('S')('COMPARISON TOLERANCE')(16)(7)('S'       °
  463.  )('DELAY')(16)(7)('S')('PRINT PRECISION')(16)(7)('S')('PRINTING WIDTH')       °
  464.  (16)(7)('S')('WORKSPACE AVAILABLE')(17)(1)('G')('SOLVING PROBLEMS WITH        °
  465.  APL2')(17)(1)('U')('TIME: TIMING OF APL2 EXPRESSIONS')(17)(1)('S')('TIM       °
  466.  E STAMP')(17)(1)('G')('ROY A SYKES')(17)(2)('U')('TEST: TEST TIMING OF        °
  467.  APL2 EXPRESSIONS')(17)(3)('G')('CLASSIFICATION OF ALGORITHMS ON BASIS O       °
  468.  F COST')(17)(3)('G')('TIME: CONSTANT, LOGARITHMIC, LINEAR, N LOG N, QUA       °
  469.  DRATIC')(17)(4)('G')('STRATEGIES FOR EFFICIENT PROBLEM SOLVING')(17)(4)       °
  470.  ('U')('SAMPLE FUNCTIONS: ACC1 AND ACC2')(17)(5)('«')('DYADIC FORMAT')(        °
  471.  17)(5)('«')('FORMAT BY SPECIFICATION')(17)(6)('«')('FORMAT BY EXAMPLE')       °
  472.  (17)(6)('S')('FORMAT CONTROL')(17)('ALGORITHM')('G')('CLASSIFICATION OF       °
  473.   ALGORITHMS ON BASIS OF COST')(18)(1)('G')('DEVELOPING, TESTING AND DOC       °
  474.  UMENTING USER DEFINED FUNCTIONS')(18)(1)('U')('BLUEPRINT FUNCTIONS')(18       °
  475.  )(2)('U')('UTILITY FUNCTIONS USEFUL IN DOCUMENTATION')(18)(3)('U')('BUI       °
  476.  LDING A BLUEPRINT FUNCTION')(18)(4)('U')('WHAT TO DO IF FIRST ALGORITHM       °
  477.   FAILS')(18)(5)('U')('STARTING ALL OVER')(19)(1)('G')('APL2 AND MATHEMA       °
  478.  TICAL NOTATION')(19)(2)('G')('SIMPLE AND COMPOUND INTEREST')(19)(3)('H'       °
  479.  )('ABACUS')(19)(3)('H')('ARCHIMEDES, BLAISE PASCAL, JOHN NAPIER')(19)(3       °
  480.  )('H')('LOGARITHM')(19)(4)('╡')('THE LOG FUNCTION')(19)(4)('G')('COMPOU       °
  481.  ND INTEREST')(19)(4)('G')('TRANSCENDENTAL FUNCTIONS')(19)(5)('G')('PASC       °
  482.  AL''S TRIANGLE')(19)(5)('G')('SETS AND SUBSETS')(19)(6)('!')('FACTORIAL       °
  483.  , GAMMA FUNCTION')(19)(6)('!')('BINOMIAL COEFFICIENTS')(20)(1)('H')('IS       °
  484.  AAC NEWTON')(20)(1)('G')('BINOMIAL EXPANSION, ANALYSIS, INFINITE SERIES       °
  485.  ')(20)(2)('G')('CONVERGENCE OF INFINITE SERIES')(20)(2)('G')('DERIVATIV       °
  486.  E, INTEGRAL')(20)(3)('G')('MEASURING ANGLES: DEGREES, RADIANS, PI')(20)       °
  487.  (3)('H')('GREEK MATHEMATICS, ARCHIMEDES')(20)(3)('Ω')('CIRCLE FUNCTIONS       °
  488.  ')(20)(4)('H')('THALES OF MILETUS, PYTHAGORAS')(20)(4)('Ω')('CIRCULAR F       °
  489.  UNCTIONS: SINE')(20)(5)('Ω')('COSINE, ARC SINE, ARC COSINE, TANGENT, CO       °
  490.  TANGENT')(20)(5)('Ω')('SECANT, COSECANT, HYPERBOLIC FUNCTIONS')(20)(5)(       °
  491.  'Ω')('COMPLEX NUMBER FUNCTIONS')(20)('CALCULUS')('G')('CALCULUS: ABSCIS       °
  492.  SA, ORDINATE, DERIVATIVE, INTEGRAL')(20)(3)('Ω')('PI, DEGREES, RADIANS'       °
  493.  )(21)(1)('G')('MATRIX ALGEBRA')(21)(2)('G')('UNITARY MATRICES, ROTATION       °
  494.   OF AXES')(21)(2)('G')('WORKING WITH (MATHEMATICAL) VECTORS')(21)(3)('G       °
  495.  ')('DOT PRODUCT AMD ITS GEOMETRIC MEANING')(21)(4)('G')('MATRIX INVERSE       °
  496.  , DIAGONAL MATRIX')(21)(4)('Æ')('DOMINO (QUAD DIVIDE)')(21)(5)('G')('SO       °
  497.  LVING LINEAR EQUATIONS (GROCERY EXAMPLE)')(21)(5)('G')('INVERTING A MAT       °
  498.  RIX')(21)(6)('G')('PROPERTIES OF THE MATRIX INVERSE')(21)(6)('G')('UNIT       °
  499.  ARY MATRICES, POSITIVE DEFINITE MATRICES')(21)(7)('Æ')('DOMINO APPLIED        °
  500.  TO NUMERIC VECTORS')(22)(1)('A')('MATRIX DIVIDE')(22)(2)('G')('LEAST SQ       °
  501.  UARES (GROCERY EXAMPLE)')(22)(3)('G')('CURVE FITTING, SUM OF SQUARES')(       °
  502.  22)(4)('G')('FITTING DATA TO EQUATIONS OTHER THAN POLYNOMIALS')(22)(5)(       °
  503. X'G')('FUNCTION MINIMIZATION, GRADIENT')                                       °
  504. XClc 1 26 abcdefghijklmnopqrstuvwxyz                                           °
  505. *(1997 9 9 12 24 7 312)                                                        °
  506.  Flx ÉFX 'lx' 'Σ Latent variable'                                              °
  507.   '''This workspace is an index of the TEACH workspaces.'',r'                  °
  508.   '''To find where a subject is discussed, enter FIND subject. (Dyadic''       °
  509.  '                                                                             °
  510.   '''version of FIND will also list the row numbers of array index.)'',r       °
  511.  ' '''To add new subject in a TEACH workspace, enter ADD w f c cm'''           °
  512.   '''     [n] ADD w f c cm''' '''   where  w is workspace (integer)'''         °
  513.   '''          f is function (integer if TEACHx) or name'''                    °
  514.   '''          c is code'''                                                    °
  515.   '''         cm is subject described in the named function'''                 °
  516.   '''          n is the workspace number'''                                    °
  517.   '''If the left argument "n" is given, the right argument vector will b       °
  518.  e'''                                                                          °
  519.   '''inserted in front of the first reference in "index" to workspace n+       °
  520.  1.'',r' '''To find codes, enter CODES'',r'                                    °
  521.   '''To list RULES, enter RULES'',r'                                           °
  522.   '''To list all subjects discussed in workspace TEACHn [and function'''       °
  523.   '''TEACHm (or an indexed function "m" such as "GAUSS"), enter:'''            °
  524.   '''     GET n,m'',r'                                                         °
  525. X '''Enter CONTENTS to list main headings of lessons'''                        °
  526. XCp 1 2  "                                                                     °
  527. XCq 0 '                                                                        °
  528. XCr 0                                                                         °
  529. *(1997 6 5 13 40 14 380)                                                       °
  530.  Frule ÉFX 'V rule W' 'Σ Additional remarks on rules'                          °
  531.   '╕(2=ÉNC ''V'')/L ╪ V╜0' 'L:╕(~(╞W)ε∞8)/LA ╪ V rulea╞W ╪ ╕L0'                °
  532.   'LA:╕(~(╞W)ε9 10 11)/LB ╪ V ruleb╞W ╪ ╕L0'                                   °
  533.   'LB:╕(~(╞W)ε11+∞8)/LC ╪ V rulec╞W ╪ ╕L0'                                     °
  534.   'LC:╕(~(╞W)ε19+∞10)/LD ╪ V ruled╞W ╪ ╕L0'                                    °
  535.   'LD:╕(30 31 32 33 34 35=╞W)/L30,L31,L32,L33,L34,L35'                         °
  536.   '''This rule number is undefined'' ╪ ╕' '╕(0=V)/L0' 'L30:╕(V>1)/L30X'        °
  537.   '''    RULE 30. The length of left argument to both TAKE and DROP must       °
  538.  '''                                                                           °
  539.   '''            equal the rank of the right argument. The exception: a'       °
  540.  ''                                                                            °
  541.   '''            scalar left argument can be applied to a right argument       °
  542.  ''' '''            vector.'',2µr' '╕(0=V)/L0'                                 °
  543.   'L30X:''A zero is permissible on both take and drop. A null vector is        °
  544.  not.''' '╕L0' 'L31:╕(V>1)/L31X'                                               °
  545.   '''   RULE 31. For TAKE and DROP with axis specification, every'''           °
  546.   '''            integer in the left argument must be matched with'''          °
  547.   '''            a valid axis in brackets. Axes may not be duplicated.''       °
  548.  '                                                                             °
  549.   '''            The length of the left argument may be less than the'''       °
  550.   '''            rank of the right argument with axis specification.'',2       °
  551.  µr' '╕(0=V)/L0' 'L31X:''Any axes not specified are left unchanged.'''         °
  552.   '╕L0' 'L32:╕(V>1)/L32X'                                                      °
  553.   '''   RULE 32. Monadic Take extracts the contents of the first scalar'       °
  554.  ''                                                                            °
  555.   '''            (rank 0 array) in an array, regardless of its rank.'''        °
  556.   '''            It is called FIRST.'',2µr' '╕(0=V)/L0'                        °
  557.   'L32X:''The FIRST of an empty array returns the prototype.''' '╕L0'          °
  558.   'L33:╕(V>1)/L33X'                                                            °
  559.   '''   RULE 33. The each operator can be placed to the right of a'''          °
  560.   '''            function, or to the right of an operator. When used,'''       °
  561.   '''            it applies the combined function separately to every'''       °
  562.   '''            element of the argument.'',2µr' '╕(0=V)/L0'                   °
  563.   'L33X:''This operator is so powerful that it is tempting to over-use i       °
  564.  t.'''                                                                         °
  565.   '''As you excercise your APL2 skills, try to solve problems without'''       °
  566.   '''the EACH operator as much as possible.''' '╕L0' 'L34:╕(V>1)/L34X'         °
  567.   '''   RULE 34. A rank 0 array, or another array can be catenated to an       °
  568.  '''                                                                           °
  569.   '''            array. When two arrays are catenated, the matching dime       °
  570.  nsion''' '''            of the two arrays must be the same.'',2µr'            °
  571.   '╕(0=V)/L0'                                                                  °
  572.   'L34X:''Catenation does not increase depth. The result will have the d       °
  573.  epth''' '''of the component of greatest depth.'',r'                           °
  574.   'show ''╧3 3µ∞9'' ''╧Γ∞5'' ''╧(3 3µ∞9),Γ∞5''' '╕L0' 'L35:╕(V>1)/L35X'        °
  575.   '''   RULE 35. Two arrays can be catenated if their rank differs by 1.       °
  576.  '''                                                                           °
  577.   '''            The shapes of dimensions not catenated MUST MATCH!'',2µ       °
  578.  r' '╕(0=V)/L0'                                                                °
  579.   'L35X:''Naturally, to catenate along other than the last dimension, an       °
  580.   axis''' '''specification can also be used here.''' 'L0:do'                   °
  581. X '╕(0=µW╜1╟W)/0' '╕L'                                                         °
  582. *(1997 6 1 12 42 53 524)                                                       °
  583.  Frulea ÉFX 'V rulea W' 'Σ Additional remarks on rules'                        °
  584.   '╕(2=ÉNC ''V'')/L ╪ V╜0' 'L:╕(W=∞8)/L1,L2,L3,L4,L5,L6,L7,L8'                 °
  585.   '''For rules not described in this lesson, see workspace INDEX'''            °
  586.   '╕0' 'L1:╕(V>1)/L1X'                                                         °
  587.   '''RULE 1. For arithmetic operations a vector must be matched with a''       °
  588.  ' '''        scalar, or another vector of the same length.'',2µr'             °
  589.   '╕(0=V)/0'                                                                   °
  590.   'L1X:''This is the first of many rules dealing with the concept of'''        °
  591.   '''CONFORMABILITY. This means that elements to be processed by APL2'''       °
  592.   '''must in some ways match.''' '╕0' 'L2:╕(V>1)/L1X'                          °
  593.   '''RULE 2. The reduction operator places the function, (specified to''       °
  594.  '                                                                             °
  595.   '''        its left), between all pairs of the vector. It then evaluat       °
  596.  es''' '''        the resulting expression.'',2µr' '╕(0=V)/0'                  °
  597.   'L2X:''There is more to this, but at this stage the rule is essentiall       °
  598.  y''' '''correct.''' '╕0' 'L3:╕(V>1)/L1X'                                      °
  599.   '''RULE 3. All APL2 expressions are evaluated from right to left'',2µr       °
  600.  ' '╕(0=V)/0'                                                                  °
  601.   'L3X:''This rule is valid in APL, which is the earlier version of APL2       °
  602.  .'''                                                                          °
  603.   '''For APL2, the rule has been restated in a totally different way.'''       °
  604.   '''However until we introduce some concepts that are new to APL2, the'       °
  605.  '' '''newer form reduces to RULE 3 as stated.''' '╕0' 'L4:╕(V>1)/L1X'         °
  606.   '''RULE 4. Vectors in APL2 can have lengths of zero and one.'',2µr'          °
  607.   '╕(0=V)/0'                                                                   °
  608.   'L4X:''This is the first concept that begins to introduce the idea tha       °
  609.  t no'''                                                                       °
  610.   '''matter what the APL expression, if it is valid, it must produce a''       °
  611.  '                                                                             °
  612.   '''valid APL2 object. (Shades of which came first, the chicken or the        °
  613.  egg)''' '╕0' 'L5:╕(V>1)/L1X'                                                  °
  614.   '''RULE 5. The shape of a variable is a vector. The shape of a vector'       °
  615.  '' '''        is a vector of length 1. The shape of a scalar is a'''          °
  616.   '''        vector of length zero.'',2µr' '╕(0=V)/0'                          °
  617.   'L5X:''The left argument of RESHAPE is by definition a vector. If APL2       °
  618.   is'''                                                                        °
  619.   '''to be internally consistent, the inverse operation to RESHAPE (whic       °
  620.  h''' '''is indeed SHAPE) MUST return the same type of object.''' '╕0'         °
  621.   'L6:╕(V>1)/L1X'                                                              °
  622.   '''RULE 6. Reduction of a scalar returns that scalar REGARDLESS of'''        °
  623.   '''        the function to the left of the reduction operator.'',2µr'        °
  624.   '╕(0=V)/0'                                                                   °
  625.   'L6X:''Reduction BY DEFINITION reduces the RANK by one. The exception        °
  626.  is'''                                                                         °
  627.   '''for objects whose rank is zero. Since there is no such thing as'''        °
  628.   '''negative rank, reduction is undefined for scalars, and therefore'''       °
  629.   '''the result is to leave the APL2 object unchanged.''' '╕0'                 °
  630.   'L7:╕(V>1)/L1X'                                                              °
  631.   '''RULE 7. The reduction of a null vector produces the identity'''           °
  632.   '''        element of the function.'',2µr' '╕(0=V)/0'                        °
  633.   'L7X:''A null vector may be empty, but it still has rank equal to one.       °
  634.  '''                                                                           °
  635.   '''Therefore its reduction MUST be a scalar. Since there is no data'''       °
  636.   '''in a null vector, the scalar must be such that it has no effect'''        °
  637.   '''on the operation performed by the function: Zero added to anything'       °
  638.  ''                                                                            °
  639.   '''has no effect in addition; one multiplied by anything has no effect       °
  640.  ''' '''in multiplication; and so on.''' '╕0' 'L8:╕(V>1)/L1X'                  °
  641.   '''RULE 8. Parentheses can (and should) be used to modify the right'''       °
  642.   '''        to left rule to improve efficiency'',2µr' '╕(0=V)/0'              °
  643.   'L8X:''Parentheses are used in APL2 for other purposes as well, but fo       °
  644.  r'''                                                                          °
  645.   '''now, we will use them just to modify the right to left rule (RULE 3       °
  646.  ).'''                                                                         °
  647.   '''If you place parentheses where they are not needed, APL2 will ignor       °
  648. Xe''' '''them.'''                                                              °
  649. *(1997 6 1 12 49 37 488)                                                       °
  650.  Fruleb ÉFX 'V ruleb W' 'Σ Additional remarks on rules'                        °
  651.   '╕(2=ÉNC ''V'')/L ╪ V╜0' 'L:╕(9 10 11=╞W)/L9,L10,L11 ╪ ╕0'                   °
  652.   'L9:╕(V>1)/L9X'                                                              °
  653.   '''   RULE 9: To produce a quote inside a character string, enter'''         °
  654.   '''           the quote twice.'',2µr' '╕(0=V)/0'                             °
  655.   'L9X:''This is used in most other programming languages.''' '╕0'             °
  656.   'L10:╕(V>1)/L10X'                                                            °
  657.   ''' RULE 10: In replication the left argument must contain only'''           °
  658.   '''          integers. The length of the left argument must be'''            °
  659.   '''          the same as the length of the right argument.'',2µr'            °
  660.   '╕(0=V)/0'                                                                   °
  661.   'L10X:''The left argument may also have negative integers. Only the nu       °
  662.  mber'''                                                                       °
  663.   '''of positive integers and zeros must add up to the length of the rig       °
  664.  ht'''                                                                         °
  665.   '''argument. Replicate with negative integers is not discussed here be       °
  666.  cause'''                                                                      °
  667.   '''the explanation requires concepts that have not yet been mentioned.       °
  668.  '',r' 'show ''1 1 2 ²1 0 1 1 1 ²1 1 0 1 1/''''CALIFORNIAN''''''' '╕0'         °
  669.   'L11:╕(V>1)/L11X'                                                            °
  670.   '''   RULE 11: The expression inside square brackets must return'''          °
  671.   '''            positive integers in the range of the length of'''            °
  672.   '''            the indexed vector. If the expression is MISSING,'''          °
  673.   '''            the result is as if the brackets were missing.'',2µr'         °
  674.   '╕(0=V)/0'                                                                   °
  675.   'L11X:''The expression in brackets need not be a vector. It could be a       °
  676.  n''' '''array as in the next example'',r'                                     °
  677. X 'show ''''''CALIFORNIA''''[3 3µ?9µ10]'' ''(∞4)[3 3µ∞4]'''                    °
  678. *(1997 6 2 12 11 17 260)                                                       °
  679.  Frulec ÉFX 'V rulec W' 'Σ Additional remarks on rules'                        °
  680.   '╕(2=ÉNC ''V'')/L ╪ V╜0'                                                     °
  681.   'L:╕((11+∞8)=╞W)/L12,L13,L14,L15,L16,L17,L18,L19' 'L12:╕(V>1)/L12X'          °
  682.   '''   RULE 12. A scalar function is one that will produce a result on'       °
  683.  ''                                                                            °
  684.   '''            every scalar element of a vector or array. EXAMPLES:'''       °
  685.   '''            + - ⌡ ÷ * are numeric scalar functions. , µ ∞ are NOT''       °
  686.  ' '''            scalar functions.'',r' '╕(0=V)/0'                            °
  687.   'L12X:''This distinction will become clearer when we study more genera       °
  688.  lized''' '''arrays.''' '╕0' 'L13:╕(V>1)/L13X'                                 °
  689.   '''   RULE 13. Scalars that work with vectors also work with arrays.''       °
  690.  ,r' '╕(0=V)/0'                                                                °
  691.   'L13X:''No problem with simple scalars, but this rule may need modific       °
  692.  ation'''                                                                      °
  693.   '''when we deal with "rank zero arrays" that are not simple scalars.''       °
  694.  ' '╕0' 'L14:╕(V>1)/L14X'                                                      °
  695.   '''   RULE 14. Arrays with the same shape can be processed with scalar       °
  696.  ''' '''functions.'',r' '╕(0=V)/0'                                             °
  697.   'L14X:''Arrays with distinct shapes can be processed as we shall see,        °
  698.  but'''                                                                        °
  699.   '''there will be restrictions, and we will use new operators.''' '╕0'        °
  700.   'L15:╕(V>1)/L15X'                                                            °
  701.   '''   RULE 15. The number of semicolons inside brackets must equal the       °
  702.  ''' '''            rank of the array MINUS 1.'',r' '╕(0=V)/0'                 °
  703.   'L15X:''There is no further generalization to this rule.''' '╕0'             °
  704.   'L16:╕(V>1)/L16X'                                                            °
  705.   '''   RULE 16. An axis specification can be a scalar, a vector or a'''       °
  706.   '''            null vector.'',r' '╕(0=V)/0'                                  °
  707.   'L16X:''Recall that null array is the ONLY bracket specification that'       °
  708.  ''                                                                            °
  709.   '''makes sense for a scalar. We will use that property when dealing wi       °
  710.  th''' '''rank 0 arrays.''' '╕0' 'L17:╕(V>1)/L17X'                             °
  711.   '''   RULE 17. An axis specification can be any array containing'''          °
  712.   '''            valid integers.'',r' '╕(0=V)/0'                               °
  713.   'L17X:''With this rule, you can generate an APL2 object of arbitrary''       °
  714.  ' '''rank.''' '╕0' 'L18:╕(V>1)/L18X'                                          °
  715.   '''   RULE 18. The shape of the result of axis specification is the'''       °
  716.   '''            catenation of the shapes of expressions inside brackets       °
  717.  .'''                                                                          °
  718.   '''            If the expression for an axis is missing, the shape for       °
  719.  ''' '''            that axis is unchanged.'',r' '╕(0=V)/0'                    °
  720.   'L18X:''This is merely the rule for implementation of rule 17.'''            °
  721.   '╕0' 'L19:╕(V>1)/L19X'                                                       °
  722.   '''   RULE 19. Simple reduction of arrays removes its last dimension.'       °
  723. X',r' '╕(0=V)/0' 'L19X:''This is a generalization of rule 2.''' '╕0'           °
  724. *(1997 6 3 12 4 29 284)                                                        °
  725.  Fruled ÉFX 'V ruled W' 'Σ Additional remarks on rules'                        °
  726.   '╕(2=ÉNC ''V'')/L ╪ V╜0'                                                     °
  727.   'L:╕(W=19+∞10)/L20,L21,L22,L23,L24,L25,L26,L27,L28,L29'                      °
  728.   '''This rule number is undefined'' ╪ ╕' 'L20:╕(V>1)/L20X'                    °
  729.   '''   RULE 20. The depth of an APL array is defined as the maximum'''        °
  730.   '''            depth to reach a simple scalar.'',2µr' '╕(0=V)/0'             °
  731.   'L20X:''The concept of depth provides the means of building complex da       °
  732.  ta'''                                                                         °
  733.   '''structures. This is the first of several rules dealing with depth.'       °
  734.  '' '╕0' 'L21:╕(V>1)/L21X'                                                     °
  735.   '''   RULE 21. No APL2 expression can generate a depth 1 object contai       °
  736.  ning'''                                                                       °
  737.   '''            ONLY a scalar. (Or, a scalar can not have depth 1.)'',2       °
  738.  µr' '╕(0=V)/0'                                                                °
  739.   'L21X:''This rule can be treated as an axiom of APL2. In theory it is'       °
  740.  ''                                                                            °
  741.   '''possible to enclose a scalar, but that would lead to a significantl       °
  742.  y'''                                                                          °
  743.   '''different language. EXAMPLE: The reduction of a vector must return'       °
  744.  ''                                                                            °
  745.   '''a scalar. Doing repeated reduction could produce enclosed scalars''       °
  746.  '                                                                             °
  747.   '''that would require removal of such depths before allowing compariso       °
  748.  ns.''' '╕0' 'L22:╕(V>1)/L22X'                                                 °
  749.   '''   RULE 22. The depth of an array is given by the maximum length of       °
  750.  '''                                                                           °
  751.   '''            the access vector associated with that array.'',2µr'          °
  752.   '╕(0=V)/0'                                                                   °
  753.   'L22X:''When you use function DISPLAY, depth can be obtained by counti       °
  754.  ng'''                                                                         °
  755.   '''the number of boxes you must cross from outside to reach the innerm       °
  756.  ost''' '''scalar.''' '╕0' 'L23:╕(V>1)/L23X'                                   °
  757.   '''   RULE 23. Null elements of an access vector must be included to''       °
  758.  ' '''            match corresponding rank zero arrays.'',2µr'                 °
  759.   '╕(0=V)/0'                                                                   °
  760.   'L23X:''The access vector works from left to right. The leftmost eleme       °
  761.  nt'''                                                                         °
  762.   '''removes the outermost box, and the rightmost element removes the'''       °
  763.   '''innermost box.''' '╕0' 'L24:╕(V>1)/L24X'                                  °
  764.   '''   RULE 24. The monadic disclose of a rank 0 array reveals the cont       °
  765.  ents''' '''            of that array.'',2µr' '╕(0=V)/0'                       °
  766.   'L24X:''This is a consequence of rule 21. A simple scalar is immune to       °
  767.  ''' '''to the process of enclosure or disclosure.''' '╕0'                     °
  768.   'L25:╕(V>1)/L25X'                                                            °
  769.   '''   RULE 25. The monadic disclose (without axis specification) reduc       °
  770.  es'''                                                                         °
  771.   '''            depth by one, by adding a new last axis to the disclose       °
  772.  d'''                                                                          °
  773.   '''            elements. FILL elements are used to complete the array.       °
  774.  '',2µr' '╕(0=V)/0'                                                            °
  775.   'L25X:''The fill element for numberic arrays is zero. The fill element       °
  776.   for'''                                                                       °
  777.   '''character arrays is a blank. The fill element for mixed arrays in''       °
  778.  ' '''APL2 will be discussed in later sessions.''' '╕0'                        °
  779.   'L26:╕(V>1)/L26X'                                                            °
  780.   '''   RULE 26. Simple disclose requires that all components of a neste       °
  781.  d'''                                                                          °
  782.   '''            array have the same rank (or be rank 0 arrays).'',2µr'        °
  783.   '╕(0=V)/0'                                                                   °
  784.   'L26X:''We use the phrase ''''simple disclose'''' because, as we will        °
  785.  learn'''                                                                      °
  786.   '''later, you can define your own rules on how to disclose nested'''         °
  787.   '''arrays.''' '╕0' 'L27:╕(V>1)/L27X'                                         °
  788.   '''   RULE 27. Forms can be equivalent only if all rank 0 arrays conta       °
  789.  in'''                                                                         °
  790.   '''            the same rank and shape (or rank 0 arrays)--recursively       °
  791.  --'',2µr' '╕(0=V)/0'                                                          °
  792.   'L27X:''Earlier we discussed functions that are dual. These are one to       °
  793.  '''                                                                           °
  794.   '''one transformations of data. Equivalent forms can be thought of as'       °
  795.  '' '''a kind of dual representation of data structures.''' '╕0'               °
  796.   'L28:╕(V>1)/L28X'                                                            °
  797.   '''   RULE 28. A zero in a partition vector will remove the associated       °
  798.  ''' '''            element.'',2µr' '╕(0=V)/0'                                 °
  799.   'L28X:''The components of a partition vector must be positive integers       °
  800.   or'''                                                                        °
  801.   '''zero. The presence of a zero is treated much the same as in boolean       °
  802.  ''' '''reduction.''' '╕0' 'L29:╕(V>1)/L29X'                                   °
  803.   '''   RULE 29. Each place in the partition vector, where the value'''        °
  804.   '''            INCREASES marks a partition.'',2µr' '╕(0=V)/0'                °
  805.   'L29X:''A partition must ocurr BETWEEN two consecutive elements. These       °
  806.  ''' '''need not be simple scalars'',r'                                        °
  807. X 'show ''DISPLAY (1 1 2 2)Γ(1 2) ''''AB'''' (3 4) ''''C''''''' '╕0'           °
  808. XCs 1 2 "                                                                      °
  809. *(1997 7 13 12 30 36 460)                                                      °
  810.  Fshow ÉFX '╢V show ╢W;╢T;╢B' 'Σ Display and execute ╢W'                       °
  811.   '╢T╜(0=ÉNC ''╢V'')doif ''╢V╜0'''                                             °
  812.   '╕((0=╧╢W)doif ''show ╢W,'''' '''''')/0'                                     °
  813.   '╕((1<╧╢W)doif ''╢V show ■╢W'')/0' '''      '',╢W'                           °
  814. X '╕((╢V^'':''ε╢W)doif ''╢T╜evaldd ╢W'')/L0' ''''' ÉEA ╢W' 'L0:do'             °
  815. XCuc 1 26 ABCDEFGHIJKLMNOPQRSTUVWXYZ                                           °
  816. *(1997 8 26 12 41 31 540)                                                      °
  817.  Fupper ÉFX 'U╜upper U;T' 'Σ Convert lower case to upper case'                 °
  818.   '╕(0=µµU)/0 ╪ ╕(1=╧U)/L0 ╪ U╜upper■U ╪ ╕0'                                   °
  819. X 'L0:T╜lc∞U ╪ B╜T⌠27 ╪ (B/U)╜uc[B/T]'                                         °
  820. XCx 0 !                                                                        °
  821.