 |
|
List Archives > 
Maple User Group List Archive > 
Archive by date > 
This Month By Date > 
This Month By Topic
[MUG] Re: dsolve does not find second solution
| [MUG] Re: dsolve does not find second solution |
|
Author: Edgardo S Cheb-Terrab
Posted: Thu, 02 Jan 2003 15:52:03 -0800
|
>> From: "Edgardo S. Cheb-Terrab" "ecterrab"
> ... (regarding)
> >ode1:=diff(y(x),x)=-(4*x+3*y(x)+1)/(3*x+2*y(x)+1);
>..
> The solutions are indeed (explicit) branches of one (implicit) solution. MAPLE
> should return either both (explicit) branches or stop at the implicit
> solution.
Due to the arbitrary character of the integration constants, what seems to be
two solutions are actually only one and the same - Maple is not missing a
solution or a branch of it (there were previous replies to this).
> ...
> The bigger problem here is: why does MAPLE not recognize this ODE as exact?
> >ode1:=diff(y(x),x)=-(4*x+3*y(x)+1)/(3*x+2*y(x)+1);
> >with(DEtools):
> >odeadvisor(ode1,y(x),[exact]);
> [NONE]
This is a different thing. The ode1 you show,
> ode1:=diff(y(x),x)=-(4*x+3*y(x)+1)/(3*x+2*y(x)+1);
4 x + 3 y + 1
ode1 := y' = - -------------
3 x + 2 y + 1
is not an exact differential equation. When the coefficient of y' is a constant,
as in the above, the ODE is exact if and only if the right hand side does not
depend on y(x), which is not the case.
For an arbitrary ODE, one rapid way to check exactness in Maple (regardless of
the ODE differential order) is to check whether a constant is an integrating
factor. Let's see:
# Verify whether "the number one" (a constant) is an integrating factor
> DEtools[mutest]( 1, ode1); # Note zero, hence ode1 is not exact.
x 1
---------------- + ----------------
2 2
(3 x + 2 y + 1) (3 x + 2 y + 1)
For that reason, odeadvisor is telling ode1 is not exact.
What perhaps is in your mind is that ode1 "becomes exact" if you multiply it
(both sides) by the denominator of its right-hand-side, which in this example
happens to be an integrating factor:
# two integrating factors, the first one is just the denom of the rhs
> DEtools[intfactor]( ode1) ;
3 x + 2 y + 1
3 x + 2 y + 1, ---------------------
(x + y) (2 x + y + 1)
So, multiplying by denom@rhs
> denom(rhs(ode1)) * ode1; # <- this ODE is exact
(3 x + 2 y + 1) y' = -4 x - 3 y - 1
> DEtools[mutest]( 1, %);
0
> odeadvisor( %%, y(x), [exact]);
[_exact]
Despite the apparent 'simplicity' of "just multiply by the denominator of the
rhs" to make the ODE exact, in truth the denom@rhs is not a better or worse
candidate than any other possible multiplying factor candidate and odeadvisor
does not make any guess when testing: will tell the ODE is exact if an only if
it is "as given".
Regarding tackling an ODE using methods for homogeneous ODEs or for exact ones,
Maple's dsolve has its default ordering of methods (first 'this' then 'that' one
etc.) but you can always make it work as you prefer: just give the methods to be
tried and in the order you want as second argument - see ?dsolve.
Anyway, making the ODE exact by multiplying it by an integrating factor and then
solving it as an exact equation you still see there is only one solution - the
one returned when you try dsolve(ode1) - regardless of how many solutions dsolve
outputs when you use optional arguments.
Edgardo
----- Original Message -----
From: "zijlstra" "zijlstra"
To: "maple-list" "maple-list"
Sent: Thursday, December 19, 2002 7:41 AM
Subject: [MUG] Re: dsolve does not find second solution
>> From: zijlstra "zijlstra"
Dear Dr. Kahovec,
The solutions are indeed (explicit) branches of one (implicit) solution. MAPLE
should return either both (explicit) branches or stop at the implicit
solution. The reason it omits one branch is in the method of solution: rather
than realizing that the problem is exact (which makes for a very
straightforward dtermination of the implicit solution), MAPLE
first arrives at the type homogeneousD. Solutions of this type are generated
in 'RootOf' form. But MAPLE does not stop there. Rather, it returns an
closed form solution using 'allvalues' - the probable source of omission of
the second branch.
The bigger problem here is: why does MAPLE not recognize this ODE as exact?
>ode1:=diff(y(x),x)=-(4*x+3*y(x)+1)/(3*x+2*y(x)+1);
>with(DEtools):
>odeadvisor(ode1,y(x),[exact]);
[NONE]
Hope this narrows down the problem some,
Jan Zijlstra, Dept. Math. Sci., MTSU
|
[View Complete Thread]
Previous by date: [MUG] New Maple packages, Shklyaev
Next by date: [MUG] Re: abstract algebra impossible in Maple?, Maple User Group
Previous thread: [MUG] abstract algebra impossible in Maple?, Charles James Leonardo Quarra Cappiello
Next thread: [MUG] abstract algebra impossible in Maple?, Charles James Leonardo Quarra Cappiello
|
|
|