// Big_simeq.java solve simultaneous equations AX=Y // solve real linear equations for X where Y = A * X // method: Gauss-Jordan elimination using maximum pivot // usage: Big_simeq(A,Y,X); or Big_simeq(n,A,Y,X) // Translated to java by : Jon Squire , 26 March 2003 // First written by Jon Squire December 1959 for IBM 650, translated to // other languages e.g. Fortran converted to Ada converted to C // then converted to java, converted to BigDecimal import java.math.BigDecimal; public class Big_simeq { int nbits = 300; // default bits presision Big_simeq(final BigDecimal A[][], final BigDecimal Y[], BigDecimal X[], int nbit) { nbits = nbit; new Big_simeq(A, Y, X); } Big_simeq(final BigDecimal A[][], final BigDecimal Y[], BigDecimal X[]) { int n=A.length; BigDecimal B[][] = new BigDecimal[n][n+1]; // working matrix if(A[0].length!=n || Y.length!=n || X.length!=n) { System.out.println("Error in Big_simeq, inconsistent array sizes."); } // build working data structure for(int i=0; i