Collect terms in x with given factor k.
fricas
QF==>PolynomialCategoryQuotientFunctions(IndexedExponents Kernel Expression Integer,_
Kernel Expression Integer,_
Integer,_
SparseMultivariatePolynomial(Integer,Kernel Expression Integer),_
Expression Integer)
Type: Void
fricas
--collect(x:Expression Integer,k:Kernel Expression Integer):Expression Integer ==
collect(x,k) ==
n1:=univariate(x::Expression Integer,k::Kernel Expression Integer)$QF
n2:=(leadingMonomial numer n1)/(denom n1)
n3:=multivariate(n2,k::Kernel Expression Integer)$QF
n4:=factor(numer n3)/factor(denom n3)
Type: Void
fricas
--
collector(x:Expression Integer,k:Expression Integer):List Expression Integer ==
s1:=solve(%k=k,variables(k)(1))
x2:=eval(collect(eval(x,s1),%k::Expression Integer::Kernel Expression Integer)::Expression Integer,%k=k)
x2=0 => []
concat(x2,collector(x-x2,k))
Function declaration collector : (Expression(Integer),Expression(
Integer)) -> List(Expression(Integer)) has been added to
workspace.
Type: Void
fricas
--
collector((r2-r1+1)^3,(r2-r1)::Expression Integer)
fricas
Compiling function collect with type (Expression(Integer),Kernel(
Expression(Integer))) -> Fraction(Factored(
SparseMultivariatePolynomial(Integer,Kernel(Expression(Integer)))
))
fricas
Compiling function collector with type (Expression(Integer),
Expression(Integer)) -> List(Expression(Integer))
Type: List(Expression(Integer))
fricas
test(reduce(+,%) = (r2-r1+1)^3)
Type: Boolean