# TI-82 programs

## programs for the Texas Instruments 82 pocket calculator

### Gauss, Jordan, matrix inverse, prime factorization, GCD, SCM, boolean function truth tables

#### linear equations and matrix inverse

Download and unpack TI-82-progs-elstel.org.tar to get all the programs in plain text as .AS2 and in the internal representation for direct upload as .82P. The A/B/C.TXT and A/B/C.82M are matrices I have used to test the linear equation solver. Linear equations are solved using the Gauss algorithm. If you assign 1→E then the program keeps all numbers as integers and does not produce fractions. This way you can be sure not to have any rounding errors. If you want direct solutions for every rather than one variable and thus avoid back propagating the results you may want to apply the Jordan algorithm after the Gauss algorithm. GJNorm noramlizes the results to have a coefficient of one for each variable but it will produce fractions. It can be applied either after Gauss or after the Jordan. GJGGTDIV simplifies the result without producing fractions, i.e. it divides every row through its common greates divider. If you happen to have n linear independent vectors of size n in your matrix then an inverse matrix exists. You can call JXTRINV after the Jordan and GJNorm. Call GETINV as sole program to calculate the left inverse matrix of [A] into [E]. All programs change L6 the vector/list number 6. All other matrix programs than GETINV only operate on [E]. The M variable is supposed to contain the number of linear equations, i.e. the row count. The N variable the column count and thus the number of variables with coefficients. Everything which is not the coefficient of a variable needs to reside in a column with number N+1 (counting starts at one, not at zero). If you do not call GETINV directly make sure to assign appropriate values to M, N and D. If you set D to one then the outcome of each intermediate step will be displayed. Set the E variable to zero to work with fractions and decimal numbers. Set E to one to calculate with integers only. You may be astonished that GETINV produces a result also if not inverse matrix should exist. In this case the number of rows will be less than they were initially because not all vectors were linear independent. If you calculate [E]*[A] you still get a matrix that looks as similar as possible to the identity matrix (German: Einheitsmatrix).