MathGroup Archive 2005

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

Search the Archive

Re: Re: Some bugs in Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg59662] Re: [mg59617] Re: Some bugs in Mathematica
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Tue, 16 Aug 2005 05:39:22 -0400 (EDT)
  • References: <ddk7th$13o$1@smc.vnet.net> <200508140838.EAA12968@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

O.K. I accept the challenge even though Mr. Khmelnitsky has ignored  
my advice to learn input form. Well, this is definitely the last tim  
eI am going to bother to decode his input but I hope this will  
definitively settle the argument about which of us is "wrong form a  
to z".

Here is Mr. Khmelnitsky's contribution to the algebra of complex  
numbers in input form. He claims that


p = Sqrt[1 - z1/z2]/Sqrt[z2 - z1];

can be simplified to

q = 1/Sqrt[z2];

provided the following holds:

cond = Re[z2] > Re[z1];

Here is my very complicated counter example:

z2 = -5; z1 = -6;

Let's check if cond holds


cond


True

Let's compute p


p

I/Sqrt[5]

Let's compute q:


q


-(I/Sqrt[5])

Let's see if they are equal:


p==q


False

It looks like Mr. Khmelnitsky's career in the field of computer  
algebra will be a brief one.

(Given this record I didn't bother decoding and trying to disprove  
his second claim nor will I ever try any more).

Andrzej Kozlowski






On 14 Aug 2005, at 10:38, Alex wrote:

> I accept your challenge to improve algebra of complex numbers. Here is
> my first installment. I claim that
>
> \!\(\@\(1 - z1/z2\)\/\@\(z2 - z1\)\)
>
> can be simplified to \!\(1/\@z2\), if Re[z2] > Re[z1]. Otherwise, the
> result is Sign[Re[z1]Im[z2]-Im[z1]Re[z2]] Sign[Im[z2]-Im[z1]] /
> Sqrt[z2].
>
> I challenge Kozlowski and anybody else to give me a numerical example
> where my formulas are incorrect.
>
> Alex
>
>
> Andrzej Kozlowski wrote:
>
>
>> As for the first sentence above I think I should leave it to others
>> to make the judgement whether it applies to my posting more than to
>> everything posted by Mr. Khmelnitsky.
>>
>>   The statement that the square root of a complex number has two
>> brunches is well... not very deep: we could equally say that the cube
>> root has three branches, the fourth root has four etc... For example,
>> Mathematica gives
>>
>>
>>
>> Solve[x^5 == a, x]
>>
>> {{x -> a^(1/5)}, {x -> (-(-1)^(1/5))*a^(1/5)},
>>    {x -> (-1)^(2/5)*a^(1/5)},
>>    {x -> (-(-1)^(3/5))*a^(1/5)},
>>    {x -> (-1)^(4/5)*a^(1/5)}}
>>
>> so we could also say that we could cancel 5-th roots since the result
>> is determined "up to one of the 5-th roots of 1". Of course, the real
>> question is how Mathematica should have expressed this in a way that
>> would have been more useful and clearer than leaving the expression
>> un-cancelled. In particular, this expression would have to be such
>> that it could easily serve as input for subsequent algebraic
>> operations. The information about the possible "error" would have to
>> be carried along to the next operation. If there were a large number
>> of such cancellations in an expression, and a number of consecutive
>> operations had to be perfumed on it,  all of this information would
>> have to be combined and carried over successive steps. ALl of this
>> would involve mounting computational effort. In principle such an
>> approach is possible and I am sure it has been considered, but the
>> fact is that no CAS system known to me does anything of this but
>> instead  such expressions are left unchanged until the user provides
>> additional information in the form of assumptions is the approach
>> adopted by all the CAS know to me. If Mr. Khmelnitsky or any one
>> knows of better way I am sure he can make a career in the
>> computational algebra world, where there are quite many pretty clever
>> people who for at last 3 decades have been thinking about these
>> matters. However, before Mr. Khmelnitsky decides to embark  on this
>> project I suggest he learns about the InputForm of expressions
>> because very few people, and certainly not me, will ever bother to
>> try to decode the sort of input that the originator of this thread
>> has been providing (particularly that almost all of turned out to
>> have been incorrect).
>>
>> Andrzej Kozlowski
>>
>
>


  • Prev by Date: Preserving definitions in dynamic programming?
  • Next by Date: Re: Re: Re: Re: export import eps | illustrator | pstoedit
  • Previous by thread: Re: Some bugs in Mathematica
  • Next by thread: Re: Some bugs in Mathematica