How might one multply out the coefficients of a derivative

The script below yields (in TeX)

\(\int 0.333333\cdot 3x^{2}+1.5\cdot 2x =\)

I would like the coefficients of x^2 and x to multplied out

Numeric");

Context()->variables->are(x=>"Real");

Context()->constants->are(C=>"Real");

$ia = Compute("1/3*x**3 + (3/2)*x**2 + C");

$iax = Formula("$ia")->D('x')->reduce;

Context()->normalStrings;

and question preamble like so

Context()->texStrings;

Context()->flags->set(reduceConstants=>1);

BEGIN_TEXT

(a) \(\int $iax = \) \{ans_rule(20) \}

$PAR

END_TEXT

Context()->normalStrings;

In reply to Zak Zarychta
Tuesday, 7 September 2010, 11:07 AM

### Re: reduction of coefficients

by D. Brian Walton -
Zak,

I haven't seen any other responses. Honestly, for myself, I haven't tried to get this to be automatic. Instead, I would anticipate the reduced form myself. Or, alternatively, I would create an array holding the coefficients of the polynomials. I have generalized the PolyString function in polynomialMacros.pl so that I can send two arrays for numerator and denominator of coefficients where the fractions are automatically put in reduced form.

Also, I wanted to point out a few tips I've learned from others in the forum.

1) When creating $iax, you can just use

$iax = $ia->D()->reduce;

2) You might want to consider using the FormulaUpToConstant object type. See:

http://webwork.maa.org/wiki/FormulasToConstants

This way the student does not need to guess which constant you were looking for.

Best of luck

- Brian

D. Brian Walton

Department of Mathematics and Statistics

James Madison University

I haven't seen any other responses. Honestly, for myself, I haven't tried to get this to be automatic. Instead, I would anticipate the reduced form myself. Or, alternatively, I would create an array holding the coefficients of the polynomials. I have generalized the PolyString function in polynomialMacros.pl so that I can send two arrays for numerator and denominator of coefficients where the fractions are automatically put in reduced form.

Also, I wanted to point out a few tips I've learned from others in the forum.

1) When creating $iax, you can just use

$iax = $ia->D()->reduce;

2) You might want to consider using the FormulaUpToConstant object type. See:

http://webwork.maa.org/wiki/FormulasToConstants

This way the student does not need to guess which constant you were looking for.

Best of luck

- Brian

D. Brian Walton

Department of Mathematics and Statistics

James Madison University

In reply to Zak Zarychta
Thursday, 9 September 2010, 5:39 AM

### Re: reduction of coefficients

by Davide Cervone -
Unfortunately, the MathObject reduction rules are not complex enough to do what you require. The rules were originally intended to do things like remove coefficients of 1 or terms with coefficients of 0, and make x + -a into x - a. They are not a full computer algebra system.

In the case of your derivative, the form of the terms in the original equation is ax^r, and the derivative rules make this a(rx^(r-1)). The reduction rules will combine the r-1 into a single number, but don't have the sophistication to reduce a(bx^c) further.

Such rules could be added in the future, but they are not currently available, I'm afraid. It is one of the things on my "to do" list, but that isn't going down very quickly, and I don't know when that will happen.

Davide

In the case of your derivative, the form of the terms in the original equation is ax^r, and the derivative rules make this a(rx^(r-1)). The reduction rules will combine the r-1 into a single number, but don't have the sophistication to reduce a(bx^c) further.

Such rules could be added in the future, but they are not currently available, I'm afraid. It is one of the things on my "to do" list, but that isn't going down very quickly, and I don't know when that will happen.

Davide

In reply to Davide Cervone
Thursday, 9 September 2010, 6:05 PM

### Re: reduction of coefficients

by Arnold Pizer -
Hi,

This might be a case where instead of using

Formula("$ia")->D('x')->reduce

you might just want to differentiate the expression yourself.

Also using math objects there is a way to override the default correct answer a student will see with your own custom version. I have done this in the past but now I can't remember how to do it. Davide, can you give a pointer to that? It is very useful in situations just like this. Also e.g. in the case $ia ="x^x" and a problem author doesn't like the form Formula("$ia")->D('x') gives.

Arnie

This might be a case where instead of using

Formula("$ia")->D('x')->reduce

you might just want to differentiate the expression yourself.

Also using math objects there is a way to override the default correct answer a student will see with your own custom version. I have done this in the past but now I can't remember how to do it. Davide, can you give a pointer to that? It is very useful in situations just like this. Also e.g. in the case $ia ="x^x" and a problem author doesn't like the form Formula("$ia")->D('x') gives.

Arnie

In reply to Arnold Pizer
Thursday, 9 September 2010, 8:16 PM

### Re: reduction of coefficients

by Davide Cervone -
Arnie:

The Compute() command not only creates a MathObject, but also sets the correct answer string to be exactly what you gave it. So if you want a particular form for the output, use Compute().

Davide

The Compute() command not only creates a MathObject, but also sets the correct answer string to be exactly what you gave it. So if you want a particular form for the output, use Compute().

Davide