public static void TestGroebnerBasisCLOSec2Pt7Exerc3() { Monomial.orderingScheme = "lex"; Polynomial f = new Polynomial(new Monomial(new int[] { 2, 1 })); f.AddMonomial(new Monomial(new int[] { 0, 0 }), -1); Polynomial g = new Polynomial(new Monomial(new int[] { 1, 2 })); g.AddMonomial(new Monomial(new int[] { 1, 0 }), -1); PolynomialBasis gb = PolynomialBasis.GroebnerBasis(f, g); PrintPolynomialBasis(gb); }
public static void TestGroebnerBasisCLOExample1Secn2Pt7() { Monomial.orderingScheme = "grlex"; Polynomial f = new Polynomial(new Monomial(new int[] { 3, 0 })); // x^3 f.AddMonomial(new Monomial(new int[] { 1, 1 }), -2.0); // -2xy Polynomial g = new Polynomial(new Monomial(new int[] { 2, 1 })); // x^2y g.AddMonomial(new Monomial(new int[] { 0, 2 }), -2.0); // -2y^2 g.AddMonomial(new Monomial(new int[] { 1, 0 })); // x PolynomialBasis gb = PolynomialBasis.GroebnerBasis(f, g); PrintPolynomialBasis(gb); }
public static void TestGroebnerBasisLinearSystem() { Monomial.orderingScheme = "lex"; Polynomial f = new Polynomial(new Monomial(new int[] { 1, 0 })); f.AddMonomial(new Monomial(new int[] { 0, 1 }), 2); f.AddMonomial(new Monomial(new int[] { 0, 0 }), -3); Polynomial g = new Polynomial(new Monomial(new int[] { 1, 0 })); g.AddMonomial(new Monomial(new int[] { 0, 1 }), -2); g.AddMonomial(new Monomial(new int[] { 0, 0 }), -7); PolynomialBasis gb = PolynomialBasis.GroebnerBasis(f, g); PrintPolynomialBasis(gb); }
/// <summary> /// Test method for Groebner basis. /// </summary> public static void TestGroebnerBasis() { Monomial.orderingScheme = "lex"; //1st order var del_x = 1.0; var del_y = 2.0; //2nd order var del_x_x = 3.5; var del_x_y = 1.5; var del_y_y = 2.7; //3rd order var del_y_y_y = 1.1; var del_x_y_y = 1.9; var del_x_x_y = 2.3; var del_x_x_x = 1.4; Polynomial f = new Polynomial(new Monomial(new int[] { 2, 0 }), del_x_x_x); f.AddMonomial(new Monomial(new int[] { 1, 1 }), 2 * del_x_x_y); f.AddMonomial(new Monomial(new int[] { 0, 2 }), del_x_y_y); f.AddMonomial(new Monomial(new int[] { 1, 0 }), del_x_y); f.AddMonomial(new Monomial(new int[] { 0, 1 }), del_y_y); f.AddMonomial(new Monomial(new int[] { 0, 0 }), -del_x); Polynomial g = new Polynomial(new Monomial(new int[] { 2, 0 }), del_x_x_y); g.AddMonomial(new Monomial(new int[] { 1, 1 }), 2 * del_x_y_y); g.AddMonomial(new Monomial(new int[] { 0, 2 }), del_y_y_y); g.AddMonomial(new Monomial(new int[] { 1, 0 }), del_x_x); g.AddMonomial(new Monomial(new int[] { 0, 1 }), del_x_y); g.AddMonomial(new Monomial(new int[] { 0, 0 }), -del_y); PolynomialBasis gb = PolynomialBasis.GroebnerBasis(f, g); PrintPolynomialBasis(gb); }