The routine solveLinearSystem in the linearLib.ps file is a JavaScript function that uses a Guasian elimination technique to solve systems of linear equations. It uses row interchange to reduce roundoff error and handle 0's on the diagonal. It benefits from Javascript's default use of double precision real arithmetic and is suitable for ill conditioned systems. However, it suffers in efficiency because of Javascript's handling of double subscripts. For efficiency reasons it is generally recommended for systems of 10 equations or less in high production situations although the solution of a 10 equation system appears instantaneous on my computer.

Because it can handle multiple right hand sides, it can solve multiple systems with the same matrix simulataneously. It can also find the inverse of a matrix by using the identity matrix as the right hand side although this technique is not the most efficient way possible.

The demo program **solveLinear.js** calculates the solution of the
linear system(s) and then checks the answer (in systems of 10 equations
or less). The menu has several predefined systems and also allows users to
input their own system using menu option 0. For example, to solve the
linear systems with two right hand sides

2x + 4y + 2z = 16 or 16 1x - 2y + 1z = 0 or -4 1x + 6y + 6z = 13 or 16they would chose menu option 0 then respond they wanted 3 equations and type

2, 4, 2, 16, 16

1, -2, 1, 0, -4

1, 6, 6, 13, 16

(one line at a time) when the coefficients are requested.

solveLinear.js Source for the main program.

linearLib.js Source for the
library of linear system routines used by this program.

James Brink

5/22/2021