|HP-71B learning complements (Re: Further question....)|
Message #12 Posted by Valentin Albillo on 23 Apr 2008, 5:29 a.m.,
in response to message #7 by Geoff Quickfall
Welcome to the ever-growing club of HP-71B admirers.
I don't know about you but myself, I prefer lots of sample code over thick manuals or technical books when learning some new system, machine, or programming language. I find it much easier to learn by example, and much more productive; five lines of good, clear code can put me in track and make me understand how things get done, what can be done, and how practical tasks are implemented much faster than any dry "Reference Manual".
So, although the HP-71B Owner's Manual is very well written and the books mentioned are also pretty good, and all of them are
mandatory reading, you may want to complement them by having a look at the many articles I've written featuring the HP-71B, all of which do include short BASIC programs for it dealing with quite interesting matters, with plenty of routines and programming techniques being discussed along the way.
You can freely download the articles in PDF format from this URL:
My HP-71B related articles
You can also download the math & programming challenges I've issued over the years, most of which do include HP-71B code to solve them, often quite optimized and using pretty tricky techniques. They can be freely download (also in PDF format, whole thread including all solutions and comments) from this URL:
My math & programming challenges
Finally, I'm including the abstracts of all downloadable HP-71B related articles present there, for you to get an idea of what's available:
- Long Live the HP-71B !
This is a 12-page affair which includes two wonderful photographs, as well as a brand-new program I've written specifically for it, which in just 6 lines of code (!) manages to generate and print user-defined stereograms, viewable from the printed page or monitor output (Emu71 or HP-IL monitor) in full, glorious 3-D ! Three sample generated stereograms are included, one of them being a 3-D HP logo :-)
- Boldly Going - Identifying Constants
This is a 14-page article which includes a truly awesome (if simple) program which allows ye goode olde HP-71B to perform some rather impressive 'symbolic' feats. The program does not require any additional ROMs or files, just a bare bones HP-71B, and can be converted to any other suitably fast HP model or emulator with minimum effort.
It's a relatively simple program which provides basic functionality for an advanced, very useful and most impressive feature which is nevertheless absent in our beloved machinesí built-in instruction sets, namely identifying numeric constants, i.e., the capability of, given some real, numeric value, to try and identify its exact symbolic form if possible, and that failing, to provide an approximate symbolic expression of user-specified relative accuracy.
This will allow us to perform some pretty nifty feats, such as give exact, symbolic
results for definite integrals (even if they canít be expressed in terms of elementary functions), finite or infinite summations, simplifications, and specific values of transcendental functions, among other uses.
The full 14-page article boasts more than 40 worked out examples, including the five shown in this first page, as well as three detailed extensions, the last being an 'exercise' for the reader, solution included ! :-)
- Boldly Going - Matrix Square Root
This 6-page article deals with the task of finding the matrix square root of square matrices. Two full programs are featured: a 7-line subprogram for the HP-71B which can deal with real- or complex-valued NxN matrices, and a 45-step routine for the HP-15C which will find the square root of real-valued matrices up to 4x4. Full examples are provided, with comments and notes, as well as the underlying algorithm.
- Small Fry - Primes A'counting
This 1-page article deals with the topic of prime counting, i.e., finding out how many prime numbers there are up to a given limit N. For large N, generating all primes up to N and returning the count is prohibitively expensive in terms of running time and/or memory usage. What can we do about it when N goes sky-high (say 1010, 1015, or higher) ? The article features an 8-line user-defined function for the HP-71B to accomplish the feat very quickly, as well as several comparative examples against other well-known prime counting procedures.
- 25 Years of Othello
8-page article to commemorate the 25th Anniversary of my HP-41C Othello program. If you liked the materials in RCL 20 you're bound to love this one, as it reminisces on those wonderful times when the HP-41C was brand-new and everything seemed possible.
The article tells the whole story about how my 41C Othello program came to be, with its downs and its ups, and includes never-published-before letters from HP Corvallis, as well as a recreation of the original 41C Othello to run in an HP-71B or under Emu71, in the form of a 43-line, 2 Kb program with full instructions and examples so that you can test your wits playing this challenging 8x8 board game against it, to try and feel what 41C users felt when seeing it for the first time 25 years ago.
- HP-71B Short & Sweet Sudoku Solver / Sudoku Solver's Sublime Sequel / Sudoku Generator & Coach
The whole Sudoku trilogy, these are a 10-page article, a 9-page article, and a 14-page one, which implement a compact but powerful recursive Sudoku solver algorithm, capable of solving any solvable puzzle fast, a puzzle generator, and a coach !. The first article describes a basic solver, with full details of its advanced implementation techniques, such as bitboards and boolean operators, while the second further enhances it with additional algorithms to speed up the search tremendously. A comprehensive, carefully crafted Test Suite is included, which can be used to test other solvers or even your own Sudoku abilities.
Finally, the third article implements a Sudoku generator & coach, which can generate an essentially infinite number of puzzles per the user's specifications, including number of empty places, symmetries and, optionally, guaranteed uniqueness and solvability without guessing ever being necessary, in a fully ergonomic, printable format. The coach part can give appropriate hints of various types, one by one, guaranteed to be deductible by the user in the givenorder, either fully completing the puzzle or stopping midway, both for the self-generated puzzless or externally provided ones
- HP-71B Minimax Polynomial Fit
12-page article. In case you're not too keen on curve fitting, a minimax polynomial is about the very best (and most difficult to compute!) way to fit a polynomial to any dataset or function. Minimax curve fitting isn't actually seen more frequently in literature and applications because of its inherently difficult implementation. But if you need to fit some data and a polynomial is adequate (after some data transformations if necessary), look no further. Four thoroughly detailed examples included.
- Mean Matrices
11-page article, which introduces some new specially designed matrices I created myself, which are extremely troublesome to handle for the purposes of system solving, matrix inversion, or determinant computation. Unlike Hilbert matrices, which can't be represented exactly in finite floating point models, my matrices include only small, 2-digit integer values, yet are nearly intractable by anything short of exact, arbitrary-precision arithmetic. Examples are given and discussed in full detail, and exact Mathematica-produced results are also included for comparison purposes.
- HP-71B Fantastic FOUR
8-page article, which discusses how you can use Fast Fourier Transforms (FFT) to multiply two very high-precision numbers faster than with any other algorithms currently known. Includes a very short, 10-line subprogram (can be formatted to just 8 lines) which will accept two numbers up to 1024 digits long and ouput their product (up to 2048 digits long). Running time is nearly linear in the size of the inputs compared to quadratic times for the usual 'school' algorithm (for instance, multiplying two 512-digit numbers using FFT is already 4 times faster on the HP-71B than with the usual method). Examples included.
- HP-71B Math ROM Baker's Dozen (Vols. 1 and 2)
18-page article, in two parts, featuring 13 assorted mini-topics discussing novel aspects of using the extremely powerful and versatile Math plug-in ROM for the HP-71B.
- HP-71B Modest Mater
12-page article, includes a relatively short BASIC program for the HP-71B that, given a typical 'Mate-in-N-moves' problem chess position, will recursively search for the solution. Full explanation of its inner workings is provided, as well as two complete, amazing examples.
Best regards from V.