Function: math-poly-gcd

math-poly-gcd is a byte-compiled function defined in calc-poly.el.gz.

Signature

(math-poly-gcd U V)

Documentation

Compute the GCD of two multivariate polynomials.

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-poly.el.gz
(defun math-poly-gcd (u v)
  "Compute the GCD of two multivariate polynomials."
  (cond ((Math-equal u v) u)
	((math-constp u)
	 (if (Math-zerop u)
	     v
	   (calcFunc-gcd u (calcFunc-pcont v))))
	((math-constp v)
	 (if (Math-zerop v)
	     v
	   (calcFunc-gcd v (calcFunc-pcont u))))
	(t
	 (let ((base (math-poly-gcd-base u v)))
	   (if base
	       (math-simplify
		(calcFunc-expand
		 (math-build-polynomial-expr
		  (math-poly-gcd-coefs (math-is-polynomial u base nil 'gen)
				       (math-is-polynomial v base nil 'gen))
		  base)))
	     (calcFunc-gcd (calcFunc-pcont u) (calcFunc-pcont u)))))))