As a first example, we take the overdetermined system of two equations in one dependent variable f(x), and two constants a and b.
>
|
|
| (1) |
Call rifsimp for a single case only (the default).
| (2) |
We see that under the given assumptions for the form of a and b (from Pivots), the only solution is given as f(x)=0 (from Solved). Now, run the system in multiple case mode using casesplit.
>
|
|
| (3) |
We see that we have four cases:
All cases except 2 have f(x)=0.
Looking at case 2 in detail, we see that under the constraint a = b^2 (from Solved) and b <> 0 from Pivots, the solution to the system will be given by the remaining ODE in f(x) (in Solved). Note here that the constraint on the constants a and b, together with the assumption b <> 0, imply that a <> 0, so this constraint is not present in the Pivots entry due to simplification. It is still present in the Case entry because Case describes the decisions made in the algorithm, not their simplified result. Also, case 4 has no Pivots entry. This is because no assumptions of the form were used for this case.
One could look at the caseplot with the command:
As a final demonstration involving this system, suppose that we are only interested in nontrivial cases where f(x) is not identically zero. We can simply include this assumption in the input system, and rifsimp will take it into account.
>
|
|
| (5) |
We see that the answer is returned in a single case with two false split Case entries. This means the computation discovered that the and cases lead to contradictions, so the entries in the Case list are labelled as false splits, and the alternatives for the binary case splittings (cases with or ) are not present.
For the next example, we have a simple inconsistent system:
>
|
|
| (6) |
| (7) |
So there is no solution u(x) to the above system of equations.
The next example demonstrates the UnSolve list, while also warning about leaving indeterminates in unsolved form.
>
|
|
| (8) |
So we run rifsimp, but only solve for f(x), leaving g(x) in unsolved form. Unfortunately, the resulting system is inconsistent, but this is not recognized because equations containing only g(x) are left unsolved. As discussed earlier in the page, these equations come out in the UnSolve list.
>
|
|
| (9) |
When equations are present in the UnSolve list, they must be manually examined.
Here is a nonlinear example.
>
|
|
| (10) |
By default rifsimp spawns the nonlinear equation to obtain a leading linear equation, and performs any required simplifications. The end result gives the following output:
>
|
|
| (11) |
We have only one consistent case. Attempting to perform this calculation with the spawn=false option gives the following:
>
|
|
| (12) |
So it is clear that by disabling spawning, the system is not in fully simplified form (as indicated by the presence of the DiffConstraint entry), and we do not obtain full information about the system.