Algebra Resources
- 1. Built-in Programs and Functions
- 1.1
- solve( equation, var )
- solves equation for var.
- solve( inequality, var )
- Solves inequality for var.
- solve( equation1 and equation2 ..., {var1, var2, ...} )
- Simultaneous solution of equations for var1 and var2 and ....
- 1.2
- factor( expression )
- Returns expression factored with respect to all of its variables over a common denominator.
- factor( expression, var )
- Returns expression factored with respect to variable var.
- factor( rationalNumber )
- Returns rationalNumber factored into primes.
- 1.3
- expand( expression )
- Returns expression expanded with respect to all of its variables. The expansion is polynomial expansion for polynomials and partial fraction expansion for rational expressions.
- expand( expression, var )
- Returns expression expanded with respect to variable var. Simialr powers of var are collected.
- 1.4
- zeros( expression, var )
- Returns a list of candidate real values of var that make expression = 0.
- zeros( {expression1, expression2, ...}, {var1, var2, ...} )
- Returns candidate real zeros of the simultaneous algebraic expressions, where each var specifies an unknown which you seek.
- 1.5
- comDenom( expression )
- Returns a reduced ratio of a fully expanded numerator over a fully expanded denominator.
- comDenom( expression, var )
- Returns a reduced ratio of a numerator and a denominator expanded with respect to var.
- 1.6
- propFrac( rationalNumber )
- Returns rationalNumber as the sum of an integer and a proper fraction.
- propFrac( rationalExpression, var )
- Returns the sum of proper ratios and a polynomial with respect to var.
- 1.7 fmin( expression, var )
- Returns the value for var which makes expression a minimum. The interval may be specified behind the "|" operator.
- 1.8 fmax( expression, var )
- Returns the value for var which makes expression a maximum. The interval may be specified behind the "|" operator.
- 2. TI Basic Programs
- 2.1 interp( x1, y1, x2, y2, x3 )
- A function to find a linear interpolation or extrapolation point, Q(x3, y3), based on two points, P1(x1, y1) and, P2(x2, y2). The function takes five arguments, x1, y1, x2, y2, x3, and returns the value for y3.
- 2.2 intercpt( y = f(x, y) )
- A function that finds all the x and y intercepts for a function or relation y = f(x, y).
- 2.3 symmetry( y = f(x, y) )
- A function that returns a string variable indicating the symmetry of the relation y = f(x, y). The output is either, "origin", "x-axis", "y-axis", or "none".
- 2.4 finverse( y = f(x) )
- A function that returns the inverse of a function y = f(x), complete with domain restrictions if any apply.
- 2.5 syndiv( {aN, a(N-1), ..., a2, a1, a0}, {r} )
- A function that performs synthetic division of a polynomial by a binomial. The argument is two lists. The first list is the coefficients ( in descending order of degree ) of the dividend, and the second list is a list variable with the value of the root of the divisor, r. The output of syndiv is a two row matrix, the first row is the dividend coefficients and the second row is the coefficients of the quotient. The last coefficient of the second row is the remainder.
- 2.6 synstep( mat )
- A function that complements the syndiv function. The input argument is the syndiv output matrix, mat. The output is a list of the coefficients of the quotient of the previous syndiv results. This list is ready to be input into the syndiv function to find more roots of the polynomial.
- These first six programs can be downloaded together as func.zip.
- 2.7 dist( {x1, y1}, {x2, y2} )
- A function that returns the distance between two points, P(x1, y1) and Q(x2, y2), in a Cartesian Coordinate system. The points may be entered as lists { , }, or vectors [ , ].
- 2.8 midpt( {x1, y1}, {x2, y2} )
- A function that returns the midpoint, M[xm, ym], of two points P(x1, y1) and Q(x2, y2), in a Cartesian Coordinate system. The points may be entered as lists { , }, or vectors [ , ].
- 2.9 linepq( {x1, y1}, {x2, y2} )
- A function that returns the equation of a line passing through two points, P(x1, y1) and Q(x2, y2), in a Cartesian Coordinate system. The points may be entered as lists { , }, or vectors [ , ]. The output function is in standard form y = mx + b.
- 2.10 linepm( {x1, y1}, m )
- A function that returns the equation of a line passing through a point P(x1, y1) and with slope m, in a Cartesian Coordinate system. The point may be entered as a list { , }, or a vector [ , ]. The output function is in standard form y = mx + b.
- These last four programs can be downloaded together as lines.zip.
- 2.11 parab2( V, P )
- A function that returns the equation of a parabola passing through the vertex V(x, y) and a point P(x, y), in the Cartesian Coordinate system. The points may be entered as a list { , }, or a vector [ , ]. The output function is in standard form y = a*x^2 + b*x + c.
- 2.12 parab3( P1, P2, P3 )
- A function that returns the equation of a parabola passing through three non-collinear and non-vertically aligned points P1(x, y), P2(x, y), and P3(x, y) in the Cartesian Coordinate system. The points may be entered as a list { , }, or a vector [ , ]. The output function is in standard form y = a*x^2 + b*x + c.
- 2.13 cmpsq( expr, var )
- A function that completes the square of quadratic expression expr in variable var.
- 2.14 vrtx( expr, var )
- A function that computes the vertex of the quadratic expression expr in variable var.
- These last four programs can be downloaded together as parabola.zip.
- 2.15 cfrac( { list } ) - by Lou Thurston
- A function that returns the equivalent fraction of a continued fraction from a { list } of coefficients of the continued fraction.
- 2.16 lagrange( mat ) - by Alex Astashyn
- A function that returns the polynomial of degree n - 1 which passes through the n points in matrix mat . The matrix of points is an n x 2 matrix where the n th row consists of the x and y coordinates of the n th point.
- 2.17 cubic( poly ) - by Glenn Fisher (Modified)
- Cubic.zip is a package of three programs that will work together to give exact symbolic solutions to cubic and quartic equations. The three programs, cubic, zcubic, and quartic must all reside in the same folder. The input argument, poly, to cubic or quartic is a polynomial expression of appropriate degree. Zcubic is a subroutine that must be present for both cubic and quartic to work. The output is a list of roots of the input polynomial in exact form.
- 2.18 quartic( poly )
- Quartic is described and downloaded with Cubic.zip
- 2.19 Conics( eqn ) - by Scott Campbell
- Conics.zip is a collection of programs that will work together to display information about conic sections. The programs must all be placed in the same folder.
- Conics( eqn ) takes an equation eqn describing a conic section as the only argument. The equation may be in any form, but the variables must be x and y. Upon execution, the program will present a menu of output choices.

- General form :

- Standard form :
- ellipse:

- hyperbola:

- parabola:

- Points returns a matrix of information describing the conic. Center, Vertices, Foci, Directrix, Asymptotes, and Orientation of the primary axis are given as appropriate.
- Try it with parabolas, ellipses, hyperbolas, and degenerate conics. If the conic does not have it's axis parallel to either the x or y axes the program transforms the variables and writes a new equation in new variables x' and y'. The new equation is a conic that does have its axis aligned with one of the coordinate axes. This transformed conic has the shape of the original conic but has been rotated by an angle
so that it may be recognized in one of the three standard forms above.
- All the points in the Points matrix are in the new x' - y' system, NOT the original system. The rotation angle,
, will be found in the Points matrix. This angle is the amount of rotation that was required to align the original conic with one of the Cartesian axes and will be displayed in degrees or radians according to your mode setting. .


- If it was necessary to rotate the original conic, the coordinates of points in the ORIGINAL x - y system are stored in the Rotated matrix.
- ConicR( eqn, angle ) is a program to rotate a conic equation by a given angle. There are two input arguments. The first is the equation for the conic section, in any equation form. The second is the angle in degrees or radians but the same as your mode setting. The output choices are obvious, but standard is a real equation that may be pasted and used in a calculation or a graph.
- ConicP( polarEqn ) will convert a conic section in polar form
to rectangular form. Your calculator must be in Radian mode. The resulting equation may be further analyzed by pasting the result into Conics( ). If the rectangular equation has completed the square in x then the variable x is replaced by the variable z to prevent the calculator from automatically expanding the output. This z must be replaced again by x before the equation can be used by Conics( ).


- ConicF( ) is a program that finds various conic sections from point data and geometric properties. Possibilities include vertex, focus, center, directrix, eccentricity, and multiple points. The program prompts for the input after the type of data available is selected from a menu. There is currently no error checking for data input with no possible solution. Conics( ) must be in the same directory as ConicF( ) to complete the solution process. The solution is complete when the Conics( ) menu screen appears. Change to he HOME screen and select the desired menu item.


- ConicG( ) is a program that graphs the conic equation eqn that is currently stored in memory ( usually from the program Conics( ) ). There are no input arguments. The graph is automatically formatted to fit in the center of the window and the calculator is set to parametric mode.

- 2.20 nroot( z, n )
- Nroot( z, n ) finds the n th root of the complex number z. The output choices are self explanatory. Some subroutines are included in the nroot.zip file that will be required for the program to work. All programs included in the nroot.zip file must reside in the same folder.
- 2.21 logb( x, b )
- Logb( x, b ) is a function that returns the logarithm, base b, of the number x. It uses the change of base formula.
- 2.22 plane3( P1, P2, P3 )
- Plane3( P1, P2, P3 ) is a function that returns the equation of a plane given 3 points that lie in the plane. The points may be in list format or in vector format
- 2.23 planeNP( V, P )
- PlaneNP( V, P ) is a function that returns the equation of a plane given a normal vector V and a point P that lies in the plane. The point may be in list format or in vector format.
- 2.24 planeD( eq , P )
- PlaneD( eq , P ) is a function that returns the distance from a point P to a plane whose equation is eq. The point P may be in list format or in vector format.
- 2.25 pytri( n )
- Pytri( n ) is a program that returns pythagorean triples six at a time. Six more triples are calculated and presented each time the ENTER key is pressed. The initial minimum number in the triples will be n.
- 2.26 fib( n ) - by Alex Astashyn
- Fib( n ) is a function that calculates the nth Fibonacci number.