|
arindam wrote:
> A probably very unhelpful update ... I put the (1/c) term in brackets and look at what I got ---
> I dont think this function can solve this equation.
>>> [a,b,c]=solve('a+b*(35226)^(1/c)=20.55*10^6','a+b*(0.233*10^6)^(1/c)=11.68*10^6','a+b*(0.5304*10^6)^(1/c)=7.26*10^6')
If you replace your numeric constants with symbolic variables, and explicitly solve over [a,b,c],
then you will get long symbolic formula for a, b, and c, that do not immediately appear
to imply that the solutions must be infinity. However, drop in just about any numeric value
for the first constant shown, 35226, and simplify(), and the infinite / indeterminate answers
pop out. The symbolic solution for [a, b, c] involves the RootOf() an expression, and 0
is a root of that expression for all possible numeric constants, as long as that first
numeric constant is not either 0 or 1 (there is a division by the ln of that numeric constant.)
When the 0 root comes out, the infinite or indeterminate answers appear.
If, though, you extract the expression inside the RootOf and solve() for all of the symbolic
variables you used to represent the numeric constants, leaving "free" only the dummy variable
_Z that is used in the RootOf, you get a bunch of solutions, most of which require that one
of the numeric constants happens to equal another of the numeric constants. But one of
the solutions leaves all of the numeric constants "free" except that it writes the
equated value of the second equation (the 11.68*10^6 in the above) in terms of the
other values. If you plug in the values from the first and third equations above, and
study the relationship between the number being raised to the power (the 0.233*10^6)
and the equated value (the 11.68*10^6), you find an asymptotic curve flattening as
the equated value increases... and in the region of 11.68*10^6, unless you calculate
to a large number of digits, the value computed as the numeric constant that can
have the arbitrary RootOf() solution, is indistinguishable from 0.233*10^6.
So... the situation is not actually that the symbolic engine (at least the Maple based
one) is mis-calculating roots: the equations happen to be such that you would need to
calculate to a relatively high precision to get those non-trivial solutions that
can theoretically occur as you vary the numeric constants -- a precision use which
would not be warranted considering that the numeric constants are only given
to four digits.
The equations are, in other words, numerically unstable near the constants
in the question; the trivial solution found is always present for all constants
(other than 1); and finding the non-trivial solutions symbolically would be
ineffective in that range (that is, the numeric solutions found vary broadly
depending upon -exactly- how the equations were simplified or factored or re-written.)
--
.signature note: I am now avoiding replying to unclear or ambiguous postings.
Please review questions before posting them. Be specific. Use examples of what you mean,
of what you don't mean. Specify boundary conditions, and data classes and value
relationships -- what if we scrambled your data or used -Inf, NaN, or complex(rand,rand)?
|