MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: How to simplify ArcCos[x/Sqrt[x^2+y^2]] to Pi/2-ArcTan[x/Abs[y]]?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg91907] Re: [mg91880] Re: [mg91799] How to simplify ArcCos[x/Sqrt[x^2+y^2]] to Pi/2-ArcTan[x/Abs[y]]?
  • From: "Peng Yu" <pengyu.ut at gmail.com>
  • Date: Fri, 12 Sep 2008 05:28:51 -0400 (EDT)
  • References: <200809080903.FAA25833@smc.vnet.net>

Forget to forward to math group.

On Thu, Sep 11, 2008 at 7:46 PM, Peng Yu <pengyu.ut at gmail.com> wrote:
> On Thu, Sep 11, 2008 at 7:04 PM, Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
>>
>> On 12 Sep 2008, at 02:45, Peng Yu wrote:
>>
>>>
>>> I agree you point. But I don't know the exact algorithm how
>>> Mathematica manipulate expressions, and I don't know how to improve it
>>> algorithmically in a general way.
>>>
>>> Like suggesting the improvement to all other softwares, users can only
>>> tell the software developers what the users want. Although the users
>>> provide somewhat ambiguous or not exact information, it is up to the
>>> developers to figure out what the users mean. The users' suggestion
>>> might only be some point cases, it is up to the developer to see if
>>> these cases can be generalized. Therefore, the communication between
>>> the developers and the users become important.
>>
>> Of course, but... Do you have any reason to think Mathematica developers do
>> not know it would be a good thing if Mathematica could transform inverse
>> trigonotmetric functions (or other mathematical expressions) into equivelent
>> forms? Do you really think that the reason it can't is because the
>> developer's have not been paying attention to this matter?
>> Similarly, do you think that mathematicians do not know that it would be a
>> good idea to prove the Riemann hypothesis and that the reason it has not yet
>> been done so is their lack of trying?
>
> I don't know the reason. That is why I ask. I think that it would be a
> little offensive if you ask some other people in this way. Anyway, I
> don't really care.
>
> There are multiple equivalent forms for any inverse trigonometric
> functions. If there is a way to specific which form to choose for any
> inverse trigonometric function under any condition (just like what
> human can do),  then the problem is solve. Therefore, I thought it is
> just an software issue.
>
>>> For right now, I think Mathematica shall at least be able to do all
>>> the elementary manipulations in the following webpage ragarding
>>> inverse trigonometry functions, which I don't see can be done by
>>> Mathematica now (correct me if I'm wrong).
>>>
>>> http://en.wikipedia.org/wiki/Inverse_trigonometric_function
>>
>> It is completely trivial to implement all these rules in Mathematica using
>> pattern matching and you should be able to do it yourself with just a
>> minimal knowledge of Mathematica. So this is not the problem. The problem is
>> to implement them in such a way that not only expressions that match exactly
>> the ones on this page are transformed but also an infinite class of
>> essentially equivalent expressions which are mathematically equal but do not
>> match the same pattern. For this one needs general mathematical algorithms
>> and finding such algorithms is a problem in mathematics and not a problem in
>> software development.
>
> Now, I understand it is an algorithmic issue, which might not be easy
> to solve absolutely. But can there be some heuristics?
>
>>> Another thing that I want is that it shall be able to manipulate
>>> Sqrt[x*x+y*y] to x *Sqrt[1+(x/y)^2].
>>
>>
>> One way to do this and many similar examples is:
>>
>> Simplify[Sqrt[x^2 + y^2] /. y -> k*x, x >= 0] /. k -> y/x
>> x*Sqrt[y^2/x^2 + 1]
>
> I have been doing this. But I want a generic way. I feel tedious to
> specify the replacement rules each time. Consider the following case
> that is buried in some other big expressions that spread pages.
> Sqrt[some_complex_expr1^2 + some_complex_expr2^2]
>
>> On the other hand, computer algebra programs are not really meant, or at
>> least not principally meant, to transform expressions from one form to
>> another already known form. Since you already know the answer you want, you
>> can do the "transforming" by writing an appropriate pattern and using
>> replacement, which is essentially the same as doing this "by hand", but can
>> be more efficient in cases where you have to perform many similar
>> replacements.  The true purpose of functions such as Simplify and
>> FullSimplify is to transform complex expressions into canonical, "simpler"
>> forms in situations when you do not already know exactly the form you want
>> and only know that you want a form that is "simpler" than the one you have
>> got. It would be a waste of resources to devote much time and energy on
>> improving the abilities of Mathematica to give users the answers they
>> already know.
>
> My question was raised because I had a very complex expression, which
> is too long to understand. The case in the title is just one little
> sub expression in that I could pinpoint in that long expression. I
> don't know the simplest form of the long expression. But it is of
> course not the simplest, because I pinpoint the sub expression that
> can be made simpler.
>
> I could do this by hand, but then why I need Mathematica?
>


  • Prev by Date: Re: Text-based interface: Editing line input
  • Next by Date: Re: Simulate a finite-state markov process
  • Previous by thread: Re: Re: How to simplify ArcCos[x/Sqrt[x^2+y^2]] to Pi/2-ArcTan[x/Abs[y]]?
  • Next by thread: Re: How to simplify ArcCos[x/Sqrt[x^2+y^2]] to Pi/2-ArcTan[x/Abs[y]]?