Returns the degree of polynomial or equation poly in variable var. — Operator: degree poly
Returns the total-degree, the degree of its highest degree monomial, of polynomial or equation poly.
e26 : degree(a*x*x + b*y*x + c*y*y + d*x + e*y + f, y); e26: 2 e27 : degree(a*x*x + b*y*x + c*y*y + d*x + e*y + f); e27: 3
The command
coeffis used to determine the coefficient of a certain power of a variable in a given polynomial. Here poly is a polynomial and var is a variable. If the optional third argument is omitted, then Jacal returns the coefficient of the variable var in poly. Otherwise it returns the coefficient of var^deg in poly. The functioncoeffsreturns a list of all of the coefficients. For example,e14 : coeff((x + 2)^4, x, 3); e14: 8 e15 : (x + 2)^4; 2 3 4 e15: 16 + 32 x + 24 x + 8 x + x e16 : coeff((x + 2)^4, x); e16: 32 e18 : coeffs((x + 2)^4, x); e18: [16, 32, 24, 8, 1]
The function
polyprovides an inverse to the functioncoeffs, allowing one to recover a polynomial from its vector or list of coefficients.e15 : poly(y, [16, 32, 24, 8, 1]); 2 3 4 e15: 16 + 32 y + 24 y + 8 y + y e16 : poly(y, 16, 32, 24, 8, 1); 2 3 4 e16: 16 + 32 y + 24 y + 8 y + y
The function
polyreturns the expression equal to 0 in equation eqn. Be aware that the sign and scaling of the returned polynomial will not necessarily match those in the equation creating eqn.e17 : 2*a = 4*c; e17: 0 = - a + 2 c e18 : poly(e17); e18: - a + 2 c
Returns a list of content and primitive part of a polynomial with respect to the variable. The content is the GCD of the coefficients of the polynomial in the variable. The primitive part is poly divided by the content.
e24 : content(2*x*y+4*x^2*y^2,y); 2 e24: [2 x, y + 2 x y ]
The command
dividetreats divident and divisor as polynomials in the variable var and returns a pair ‘[quotient, remainder]’ such that dividend=divisor*quotient+remainder. If the third argument var is omitted Jacal will choose a variable on its own with respect to which it will do the division. In particular, of dividend and divisor are both numerical, one can safely omit the third argument.e5 : divide(x^2+y^2,x-7*y^2,x); 2 2 4 e5: [x + 7 y , y + 49 y ] e6 : divide(-7,3); e6: [-2, -1] e11 : divide(x^2+y^2+z^2,x+y+z); 2 2 e11: [- x - y + z, 2 x + 2 x y + 2 y ] e14 : divide(x^2+y^2+z^2,x+y+z,y); 2 2 e14: [- x + y - z, 2 x + 2 x z + 2 z ] e15 : divide(x^2+y^2+z^2,x+y+z,z); 2 2 e15: [- x - y + z, 2 x + 2 x y + 2 y ]
Returns poly1 reduced with respect to poly2 (or eqn) and var. If poly2 is univariate, the third argument is not needed. — Command: mod poly1 n
Returns poly1 with all the coefficients taken modulo n. — Command: mod poly1
Returns poly1 with all the coefficients taken modulo the current modulus.
If the modulus (n or the current modulus) is negative, then the results use symmetric representation.
e19 : x^4+4 mod 3; 4 e19: 1 + x e20 : x^4+4 mod x^2=2; e20: 8 e22 : mod(x^3*a*7+x*8+34, -3); 3 e22: 1 - x + a x e23 : mod(5,2); e23: 1 e24 : mod(x^4+4,x^2=2,x); e24: 8
The Jacal function
gcdtakes as arguments two polynomials with integer coefficients and returns a greatest common divisor of the two polynomials. This includes the case where the polynomials are integers.e1 : gcd(x^4-y^4,x^6+y^6); 2 2 e1: x + y e2 : gcd(4,10); e2: 2
Here poly is a polynomial and var is a variable. This function returns the square of the product of the differences of the roots of the polynomial poly with respect to the variable var.
e7 : discriminant(x^3 - 1, x); e7: -27