All Maxima functions display a result, but not the computation steps that they perform to obtain the result.
The decomposition of a rational expression into partial fractions is performed with partfrac
partfrac ( 1/(x^2*(x^2 + 1)), x);
and returns this answer:
1 1 -- - ------ 2 2 x x + 1
For a working mathematician this is sufficient, but it is not sufficient for a pupil that has to write down a detailed computation to satisfy a teacher. A user who needs a detailed computation has to perform the computation step by step. This is sometimes a bit tedious, but it is always a very good training.
To compute the partial fraction decomposition for the given rational expression manually, we have to know that the decomposition is a sum that may contain these three elementary fractions:
p1: a/x;
a - x
p2: b/x^2;
b -- 2 x
p3: (c*x + d)/(x^2 + 1);
c x + d ------- 2 x + 1
The partial fraction decomposition is the sum of these three fractions:
p1 + p2 + p3;
c x + d a b ------- + - + -- 2 x 2 x + 1 x
To compare the unknown numerator coefficients with the numerator of the given expression, we have to rewrite that sum on a common denominator:
ratsimp(%);
3 2 (c + a) x + (d + b) x + a x + b --------------------------------- 4 2 x + x
Now, we access the numerator of this fraction:
n: num(%);
3 2 (c + a) x + (d + b) x + a x + b
Now we can set up and solve the equations. We equate coefficients of equal powers in x:
solve ([coeff (n, x, 3) = 0, coeff (n, x, 2) = 0, coeff (n, x, 1) = 0, coeff (n, x, 0) = 1], [a, b, c, d]);
We obtain:
[[a = 0, b = 1, C = 0, d = - 1]]
Now we substitute this result into the sum
p1 + p2 + p3:
at(p1 + p2 + p3, first(%));
and obtain
1 1 -- - ------ 2 2 x x + 1