public new AugmentedMatrix GenerateClone() { RationalNumberMatrix mat1 = vars.GenerateClone(); RationalNumberColumnVector mat2 = vals.GenerateClone(); return(new AugmentedMatrix(mat1, mat2)); }
public override Matrix <RationalNumber> Generate(RationalNumber[,] input) { RationalNumberMatrix ret = new RationalNumberMatrix(input.GetLength(0), input.GetLength(1)); for (int i = 0; i < input.GetLength(0); i++) { for (int j = 0; j < input.GetLength(1); j++) { ret.Replace(i, j, input[i, j]); } } return(ret); }
public new RationalNumberMatrix GenerateClone() { RationalNumberMatrix ret = new RationalNumberMatrix(RowSize, ColumnSize); for (int i = 0; i < RowSize; i++) { for (int j = 0; j < ColumnSize; j++) { ret.Replace(i, j, new RationalNumber(Get(i, j).Numerator, Get(i, j).Denominator)); } } return(ret); }
//TODO: Test this. public AugmentedMatrix(RationalNumberMatrix variables, RationalNumberColumnVector values) : base(variables.RowSize, variables.ColumnSize + 1) { if (!RowParity(variables, values)) { throw new MatrixTypeMismatchException(); //must have row parity } else { vars = variables; vals = values; for (int i = 0; i < vars.RowSize; i++) { for (int j = 0; j < vars.ColumnSize; j++) { Replace(i, j, vars.Get(i, j)); } Replace(i, vars.ColumnSize, vals.Get(i)); } } }