 HP71B 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
Hi, Geoff:
Welcome to the evergrowing club of HP71B 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 HP71B 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 HP71B, 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 HP71B related articles
You can also download the math & programming challenges I've issued over the years, most of which do include HP71B 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 HP71B related articles present there, for you to get an idea of what's available:
 Long Live the HP71B !
This is a 12page affair which includes two wonderful photographs, as well as a brandnew program I've written specifically for it, which in just 6 lines of code (!) manages to generate and print userdefined stereograms, viewable from the printed page or monitor output (Emu71 or HPIL monitor) in full, glorious 3D ! Three sample generated stereograms are included, one of them being a 3D HP logo :)
 Boldly Going  Identifying Constants
This is a 14page article which includes a truly awesome (if simple) program which allows ye goode olde HP71B to perform some rather impressive 'symbolic' feats. The program does not require any additional ROMs or files, just a bare bones HP71B, 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’ builtin 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 userspecified 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 14page 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 6page article deals with the task of finding the matrix square root of square matrices. Two full programs are featured: a 7line subprogram for the HP71B which can deal with real or complexvalued NxN matrices, and a 45step routine for the HP15C which will find the square root of realvalued matrices up to 4x4. Full examples are provided, with comments and notes, as well as the underlying algorithm.
 Small Fry  Primes A'counting
This 1page 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 skyhigh (say 10^{10}, 10^{15}, or higher) ? The article features an 8line userdefined function for the HP71B to accomplish the feat very quickly, as well as several comparative examples against other wellknown prime counting procedures.
 25 Years of Othello
8page article to commemorate the 25th Anniversary of my HP41C 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 HP41C was brandnew 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 neverpublishedbefore letters from HP Corvallis, as well as a recreation of the original 41C Othello to run in an HP71B or under Emu71, in the form of a 43line, 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.
 HP71B Short & Sweet Sudoku Solver / Sudoku Solver's Sublime Sequel / Sudoku Generator & Coach
The whole Sudoku trilogy, these are a 10page article, a 9page article, and a 14page 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 selfgenerated puzzless or externally provided ones
 HP71B Minimax Polynomial Fit
12page 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
11page 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, 2digit integer values, yet are nearly intractable by anything short of exact, arbitraryprecision arithmetic. Examples are given and discussed in full detail, and exact Mathematicaproduced results are also included for comparison purposes.
 HP71B Fantastic FOUR
8page article, which discusses how you can use Fast Fourier Transforms (FFT) to multiply two very highprecision numbers faster than with any other algorithms currently known. Includes a very short, 10line 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 512digit numbers using FFT is already 4 times faster on the HP71B than with the usual method). Examples included.
 HP71B Math ROM Baker's Dozen (Vols. 1 and 2)
18page article, in two parts, featuring 13 assorted minitopics discussing novel aspects of using the extremely powerful and versatile Math plugin ROM for the HP71B.
 HP71B Modest Mater
12page article, includes a relatively short BASIC program for the HP71B that, given a typical 'MateinNmoves' 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.
 
