### ##### ##### # ### # # # # # ## # # # # # # # # # # # ####### # # # # # ### # # # # # ##### # # # # # # # # # # # # ##### ##### # ### A SYMBOLIC MATRIX VIEWER AND EDITOR FOR THE HP48 version 2.0 (c) 1997 by Claude-Nicolas Fiechter 1. COPYRIGHT & DISCLAIMER OF WARRANTY ===================================== All the files of the AIO48 library are copyrighted (c) by Claude-Nicolas Fiechter AIO48 is distributed in the hope that it will be useful, but the COPYRIGHT HOLDER PROVIDES THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL THE COPYRIGHT HOLDER BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM. This version of AIO48 is a GiftWare release. You may use it as long as you like, but only for non-commercial purposes and only as a private person. Permission to copy the whole, unmodified, AIO48 library is granted provided that the copies are not made or distributed for resale (excepting nominal copying fees) and provided that you conspicuously and appropriately include on each copy this copyright notice and disclaimer of warranty. 2. OVERVIEW =========== AIO48 provides a symbolic object viewer and a simple writer/editor for symbolic matrices and vectors (represented by lists of symbolics), as handled for instance by the ALG48 library. It is designed as an extension of the EQSTK library (c) by Mika Heiskanen and Claude-Nicolas Fiechter, and EQSTK is required to run the object viewer. The matrix writer/editor, however, can be run even if you don't have EQSTK on your calculator. 3. INSTALLATION =============== AIO48 takes approximately 4.4Kb of memory and should work in any port of a HP48G(X) or SX. The library was designed to work properly on a HP48SX, but was developed and tested only on a GX, so be careful if you use it with a SX, and let me know if you encounter any problem. AIO48 is a regular auto-attaching library (library number 910). To install it on your HP48 download the file "aio48.lib" onto your calculator (in BINARY mode), put the content of the created variable on the stack, store it in the port of your choice (e.g., 'AIO48.LIB' RCL 0 STO) and power-cycle the calculator. AIO48 is designed to be used with EQSTK (c) by Mika Heiskanen and Claude-Nicolas Fiechter. EQSTK is available from Mika's web page at . See the EQSTK documentation on how to install EQSTK. *********************************************************** * DO NOT USE AIO48 WITH AN OLD VERSION OF EQSTK (prior to * * version 9.0). It might crash your calculator. * *********************************************************** 4. COMMANDS =========== 4.1 Algebraic object viewer --------------------------- AVIEW ( A -> A ) AVIEW displays any algebraic object (including symbolic matrices and vectors) in a nice graphic form, as converted by the command AGROB in EQSTK. It leaves the object on the stack unmodified. The following keys are active in the viewer: [Cursor] - scroll the display [Right-shift Cursor] - move the display window to the picture boundary [+/-] - switch between small and medium size [ENTER] or [ON] - exit the viewer [OFF] - power off If EQSTK (and UFL, as needed by EQSTK) is not installed then AVIEW generates a "Missing Library" error. 4.2 Symbolic matric writer and editor ------------------------------------- MWRI ( -> Matrix ) MEDIT ( Matrix -> Matrix' ) MWRI let you create a new symbolic matrix or vector, whereas MEDIT let you edit an existing symbolic matrix or vector. A (n x m) symbolic matrix is represented by a list of the form {{A11 .. A1m}{A21 .. A2m} .. {An1 .. Anm}} where each element Aij is an algebraic object (real, identifier or symbolic). Similarly, a symbolic vector [(n x 1) matrices] is represented by a list of the form {A1 .. An}. Lists arguments that are not valid symbolic matrices or vectors produce a "Bad Argument Type" error in MEDIT. The symbolic matrix writer/editor is similar to the calculator's matrix writer, except that the width of the columns is fixed and that it doesn't allow you to insert or delete columns or rows in the matrix. The menu has the following commands: [EDIT] - edit on command line [VIEW] - view using algebraic object viewer [EQW ] - view/edit using the calculator's Equation Writer [VEC ] - vector mode \ [GO> ] - go-right mode > like the calculator's matrix writer [GOv ] - go-down mode / If EQSTK is not installed then [VIEW] is disabled (it just beeps). Unlike the calculator's matrix writer, the movement mode is always reset to "go-right" when you start the editor. When the vector mode is set, (n x 1) matrices are returned as vectors (i.e., simple lists). The menu does not directly contain a [^STK] command, but you can enter an object from the stack into the matrix through the EDIT menu (left-shift [+/-]). If you need to (e.g., after using the EDIT menu), you can press the [MATRIX] key (right-shift [ENTER]) to redisplay the symbolic matrix writer menu (this will also redisplay the matrix). The key actions and cursor movements are basically the same as in the calculator's matrix writer. You can enter the objects for several cells in one command line, and, unlike the calculator's matrix writer, objects of invalid types are handled gracefully and do not cause the editor to exit abruptly. The editor was optimized to be reasonably fast to use. It might take a few seconds to initialize and start editing large matrices, or matrices with very complicated symbolic expressions, but once it is started most operations should be fast. 5. CONTACT ========== Gifts :), bug reports, and constructive comments and suggestions can be addressed to Claude-Nicolas Fiechter Department of Computer Science University of Pittsburgh Pittsburgh, PA 15260, U.S.A. e-mail: fiechter@cs.pitt.edu URL: http://www.cs.pitt.edu/~fiechter/hp48