private Rational MakeRational(int[] coordinates) { if (_customBasis == null) { return(new Rational(coordinates)); } else { Pow[] r = new Pow[] { }; int len = Math.Min(coordinates.Length, _customBasis.Length); for (int i = 0; i < len; ++i) { r = Powers.Mul(r, Powers.Power(_customBasis[i], coordinates[i])); } return(new Rational(r)); } }
public Rational Power(int e) { return(new Rational(Powers.Power(pows, e))); }