Group Abstract Group Abstract

Message Boards Message Boards

0
|
10K Views
|
4 Replies
|
4 Total Likes
View groups...
Share
Share this post:

Determine correct expression? (A / B)^(1/3) vs. A^(1/3)/B^(1/3)

It appears that Mathematica interpret these inputs differently:

G = A^(1/3) / B^(1/3)

and

H = (A / B)^(1/3)

As when I compute

G/H

I get:

A^(1/3)/((A/B)^(1/3) B^(1/3))

Rather than the expected 1.

Also, for example,

H/A

gives

(A/B)^(1/3)/A

Whereas

G/A

gives

1/(A^(2/3) B^(1/3))

It appears as if Mathematica treats (A/B) as a single quantity in the assignment of H, but only seems to happen when the powers are fractions. Can someone explain why this happens or point me to a good resource that explains this. I would like to make assignments as in my definition of H but have Mathematica treat it as it does G.

Thanks.

POSTED BY: Jordan Beck
4 Replies

Sean,

This is really great. Thank you so much for your reply. Your example using FindInstance was very helpful. I think that I'll look up branch cuts now to get some more information.

POSTED BY: Jordan Beck

When humans do math with each other, we often fudge definitions around so that things work out. Computers are not so cooperative and this shows up most often with inverse functions in the complex plane.

Basically all smart humans would agree with you if you wrote your identity on a chalkboard:

a^(1/3)/b^(1/3) == (a/b)^(1/3)

But it's not exactly right. Humans are fudging around with what a cube root means to get that identity to work. You can ask Mathematica for a counter example to the identity:

FindInstance[a^(1/3)/b^(1/3) != (a/b)^(1/3), {a, b}]

{{a -> -(262/5) + (67 I)/2, b -> -(319/10) - (557 I)/10}}

The short story is complex branch cuts are a nightmare to work with in real life. Often, when humans say something about them, they implicitly mean "this identity holds if you somehow choose the right value for the branch cut to get it to work".

As a simpler example consider this:

a = -1 + I; b = -1 - I;

a^(1/3)/b^(1/3) // FullSimplify
I

(a/b)^(1/3) // FullSimplify
-(-1)^(5/6)

This is really confusing at first. It confuses everyone from highschool to people with Phd's in math. It's jarring, but as a general rule, inverse functions on the complex plane have branch cuts and when your code has complex branch cuts, you can expect crazy things to happen.

POSTED BY: Sean Clarke

Thanks Nasser, Do you know why the definition of H gives that problem, but the definition of G doesn't?

POSTED BY: Jordan Beck

Rather than the expected 1.

It needs some assumptions to help it

enter image description here

Same for your other one:

enter image description here

ps. better not to use first UpperCaseLetters, could conflict with Mathematica own symbols. Use lowerCaseFirstLetter, or if you must use UpperCaseFirstLetter, add a number to it, such as A0, B0, etc...

POSTED BY: Nasser M. Abbasi
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard