public Matrix(double[,] elements) { m_iRows = elements.GetLength(0); m_iCols = elements.GetLength(1);; m_iElement = new Fraction[m_iRows, m_iCols]; for (int i = 0; i < elements.GetLength(0); i++) { for (int j = 0; j < elements.GetLength(1); j++) { this[i, j] = Fraction.ToFraction(elements[i, j]); } } }
public static Matrix operator /(Matrix matrix1, double dbl) { return(Matrix.Multiply(matrix1, Fraction.Inverse(Fraction.ToFraction(dbl)))); }
public static Matrix operator *(double dbl, Matrix matrix1) { return(Matrix.Multiply(matrix1, Fraction.ToFraction(dbl))); }
/// <summary> /// The function multiplies the given row of the current matrix object by a double /// </summary> public void MultiplyRow(int iRow, double dbl) { this.MultiplyRow(iRow, Fraction.ToFraction(dbl)); }
public static Fraction operator /(Fraction frac1, double dbl) { return(Multiply(frac1, Fraction.Inverse(Fraction.ToFraction(dbl)))); }
public static Fraction operator /(double dbl, Fraction frac1) { return(Multiply(Inverse(frac1), Fraction.ToFraction(dbl))); }
public static Fraction operator *(double dbl, Fraction frac1) { return(Multiply(frac1, Fraction.ToFraction(dbl))); }
public static Fraction operator -(Fraction frac1, double dbl) { return(Add(frac1, -Fraction.ToFraction(dbl))); }
public static Fraction operator -(double dbl, Fraction frac1) { return(Add(-frac1, Fraction.ToFraction(dbl))); }