EQLplus

Equation library for the HP49G(+)

EQLplus (internally EQL+) is an equation library mainly for the 49+ but can be used also on the 49. It arose from porting the famous 48 equation library. It is related to the eql49 by J.D. Purdy, but much smaller and faster. EQL+ will support units in the future provided the standard equation writer will support units. But the lack of units is no serious handicap. EQL+ is user expandable as described below. It has a single command only, EqBox which sets what we call the Main Box. Without user customization, it offers a singly choice only, the Standard Box. Don't worry, this one is very rich. It is a browser with various sub-brouwsers containing hundreds of equations and explaining pictures from various fields in science and engineering. Load EQLplus, best with Conn4x, store it port 1 or 2 and attach as usual with a warmstart. The library is tested in ROM 1.23 both on the 49+ and the 49.


First Release: May 2004, version number 5.2004. Library number 310, Size 36.3 kB.
Abbreviations: RS = Rightshift, LS = Leftshift, is the LeftArrow key. Similar symbols denote the other arrow keys.


The library has a single command only which may either be assigned to a key (best to a dispensable shifthold) or integrated in the APPS box provided you have Appsman (you should!).The standard browser for equations in science and engineering Simply add the command EqBox to the reserved variable APAR. If putting it on top, EqBox will appear on top of the APPS box. That's it. Assume EqBox and menu option has been pressed on the Standard Box item. Then appears the Standard Box browser shown in screen-shot where Oscillation is selected. and browse through the items. Also RS and LS may be used to jump to the begin or the end of the screen. To set a selection, press menu option . The converse arrow returns to the previous browser while the CANCEL key leaves EqBox. Pressing on Oscillation sets another browser with items like Mass-Spring system, Simple Pendulum etc. Let us choose the Mass-Spring system. It has no subsections anymore and jumps directly into a screen at left below. There you see the first of 3 equations offered in spring mechanics. and are leafing through the equations. Furthermore, a kind of a soft-menu appears whose most fascinating option is INFO. It sets the INFO screen at right, a picture of the base experiment in mass-spring mechanics. In this screen you may jump down with RS   to get additional text explaing the variables occurring in the equations. This screen can only be left with OK in the lower left corner. Also some hard keys work in the screen at left. Which ones and how they operate is explained just below the screen-shots. While browsing or looking at the pictures below, the calculator can temporarily be turned off.

What you see if choosing Oscillation and therein the Mass-Spring system. Pressing INFO sets the right-hand screen Press RS DownArrow in this screen  to jump to the comments

Active soft and hard key in the equation selector

INFO display an equation's picture (if there is any) together with a description of the occurring variables. The description can directly be set with RS or scrolled in with . Jump back to the picture with RS or scroll more slowly with .
RCL  recall the current equation to the stack and exit all browsers, in contrast to ENTER, see below.
MSLV store the current group as a list of equations in EQ, run MINIT to initialize the MSOLVER,  exit and run MSOLVER.
SLV store the current group as a list of equations in EQ, exit and call the single equation solver.
STO store the current equation in the variable EQ and exit.

 +/-

toggle normal/minifont in the INFO screen, usful if an equation doesn't fit into the screen. You may also scroll with the arrow keys in all directions in this case.
EQW edit the equation using the equation writer, exit, and leave an original and a modified copy on the stack. For simplicity, you need not do RS EQW on the 49+ but simply hit the tic key.
   return to the category the equation belongs to.
CANCEL same as . There are two keys for return since there is no room to do it from the menu.
ENTER push the current equation to the stack but do not exit the equation selector. 

Remark on Solving equations. Instead of the standard solver you may also call a user specified solver or program on exit. This is implemented by running the program contained in the reserved variable USOLVR which should be located in HOME.  The variable may store any program which you consider to be better than the builit-in equation solver. LS SLV  stores the current equation in EQ and executes the program contained in USOLV.

Customization  -  adding user equations in UsrBox

EQL+ may be expanded with user-made equation structure in a file called UsrBox. For instance, an astronom may like to generate his own equation hierarchy under the title "Cosmos". EQBox  looks in the current directory for UsrBox and if found, it will be an additional option in the Main Box. Moreover, you may have different UsrBox files in different directories. That is,  the whole equation hierarchy may even be context-sensitive. The simplest format of UsrBox is shown in the left column of this table:

{ "User Box"
          { "Title for equation list 1"   'eq 11' ..... 'eq 1n'  }
                                        •
                                        •
                                        •

          { "Title for equation list m"  'eq.m1' .....'eq. mk' }
 }
This string will appear below the option Standard Box
in the Main Box browser

Equation list titles will convert into browser options
after pressing on "User Box" in the Main Box.

The size of this list is at least 2. 

For speed reason, there is very little syntax checking. It is only checked whether UsrBox is a list when existing on the path.

This format suffices for many areas not covered by the Standard Box. But the ambitious user may want to add also pictures and descriptive text to some of his equation lists, similar as in the Standard box. In this case simply replace a list member of UsrBox by a slightly more complex object, namely a tagged list of one the follow two kinds:

{ "Title for equation list"  tag:{ grob "text 1" ..... "text n" }  'eq 1'   'eq 2' ....... 'eq n' }
{ "Title for equation list"  tag:{   0.   "text 1" ..... "text n" }  'eq 1'   'eq 2' ....... 'eq n' }

The grob should have maximal size 131×52. The real 0 tells EqBox that no GROB is available. The tag mark may be arbitrary, even the empty string. Its only function is to tell the system to prepare a larger screen for the picture and additional text. UsrBox behaves similar to the file USEREQ in eql49. The interested reader may consult the document of this library for additional information.


Remark for experts.  Almost all rompointers of EQL+ are compressed data strings, deflated with the special BZ-like unprotected decompressor ROMPTR 136 1. Hacking EQL+ is dangerous. The system may crash if you try to decompress the data strings with standard tools.

Credits. Modified compression is essentially based on BZ by Mika Heiskanen. We used parts of the original 48 equation library porting by James D. Purdi.


Arnaud Amiel  amiel@chez.com       Wolfgang Rautenberg  raut@math.fu-berlin.de