# Gauss Jordan

A simple package for finding Gaussian-Jordan style elimination of matrices.

Takes in a matrix and returns the Reduced Row Echelon Form. This package has no dependencies and only contains one simple method.

## Example

`````` List<List<double>> matrix = [
[3.0, 0.0, -1.0, 0.0, 0.0],
[8.0, 0.0, 0.0, -2.0, 0.0],
[0.0, 2.0, -2.0, -1.0, 0.0]
];
print(GaussJordan.solve(matrix).toString());
``````

prints

``````[[1.0, 0.0, 0.0, -0.25, 0.0], [0.0, 1.0, 0.0, -1.25, 0.0], [0.0, 0.0, 1.0, -0.75, 0.0]]
``````

## Full Example

``````import "package:gauss_jordan/gauss_jordan.dart";
import 'dart:io';

main(List<String> arguments) {

print("Enter matrix rows:");
List<List<double>> matrix = List<List<double>>();
String input = "";

/*Formats input into List<List<double>>
Example input:
2 (matrix rows)
2.0 0.0 -1.0 0.0
0.0 2.0 -1.0 0.0
*/
for(int i = 0; i < rowSize; i++){
List<String> rowString = input.split(" ");
List<double> rows =  List<double>();
rowString.forEach((r){
});

}

List<List<double>> rref = GaussJordan.solve(matrix);
print(rref.toString());

}
``````

## Installation

``````dependencies:
gauss_jordan: 1.0.2
``````

``````import 'package:gauss_jordan/gauss_jordan.dart';