2

In 13.3 and I believe quite a few versions earlier I could perform

 ComplexAnalysis`BranchPoints[Sqrt[z^2 - 1], z] and

ComplexAnalysis`BranchCuts[Sqrt[z^2 - 1], z]

The functions seem undocumented.

What is their status? Are they there just to support other Complex Analysis functions? Or will they become mainstream available soon, what do you think? If you have any (preliminary) documentation, please provide.

user64494
  • 26,149
  • 4
  • 27
  • 56
nilo de roock
  • 9,657
  • 3
  • 35
  • 77
  • 2
    I'd like to notice that ComplexAnalysis'BranchPoints[Sqrt[z^(9/2) - 1], z] and ComplexAnalysis ' BranchCuts[Sqrt[z^(9/2) - 1], z] are much stronger than their Maple's analogs. However I have got a problem with plotting the result of the latter. – user64494 Aug 30 '23 at 16:44
  • Perhaps you can find something in the Graphics Guide. I found how to visualize Riemann surfaces in that guide. - I was tipped by Bing Chat. – nilo de roock Aug 30 '23 at 20:31
  • 2
    FYI [there is also FunctionProperties`Singularities](https://mathematica.stackexchange.com/a/271955/17). – Silvia Jan 20 '24 at 07:41
  • @Silvia While it might be tempting to think that singularities must always be branch points, it is not true in general. https://math.stackexchange.com/a/2137633/1280840 – lotus2019 Jan 20 '24 at 09:07
  • 1
    @lotus2019 That's surely correct. I just wanted to bring up a function of related topic, no further implies intended. – Silvia Jan 20 '24 at 09:16

2 Answers2

2

I think those commands leave much to be desired at the present. For example,

ComplexAnalysis`BranchPoints[Sqrt[z^(9/2) - 1], z]

{0, 1, -(-1)^(1/9), (-1)^(2/9), -(-1)^(1/3), (-1)^( 4/9), -(-1)^(5/9), (-1)^(2/3), -(-1)^(7/9), (-1)^( 8/9), ComplexInfinity}

If I am not mistaken, the above result is not true. The function under consideration has its branch points at 0, where z^(9/2) has, and at the roots of z(9/2)==1. But

Reduce[z^(9/2) == 1, z]

z == 1 || z == -(-1)^(1/9) || z == (-1)^(4/9) || z == -(-1)^(5/9) || z == (-1)^(8/9)

Not taking into account ComplexInfinity, we see only 6 branch points, not 10 ones.

user64494
  • 26,149
  • 4
  • 27
  • 56
0

When the function ComplexAnalysis`BranchPoints operates on radical functions, it often mistakenly treats ComplexInfinity or 0 as branch points. In such cases, it is necessary to validate or exclude them based on the definition of branch points, for example:

Clear["Global`*"];
expr = Sqrt[(z - a)*(z + b)];
pts = Assuming[a > 0 && b > 0, ComplexAnalysis`BranchPoints[expr, z]]

(* {a, -b, ComplexInfinity} *)

According to the definition of branch points ( https://encyclopediaofmath.org/wiki/Branch_point ;

https://mathworld.wolfram.com/BranchPoint.html ):

expr1 = Sqrt[(r  Exp[I  \[Theta]] - a)*(r  Exp[I  \[Theta]] + b)]
expr2 = Simplify[expr1 /. {\[Theta] -> \[Theta] + 2  \[Pi]}]
expr1 == expr2

(* True *)

Therefore, ComplexInfinity is not a branch point.

While it might be tempting to think that singularities must always be branch points, it is not true in general. See https://math.stackexchange.com/a/2137633/1280840

It is necessary to revise the code of ComplexAnalysis`BranchPoints from the perspective of the branch point definition, or develop a new universally applicable function for determining the branch point.

lotus2019
  • 2,091
  • 5
  • 10
  • You wrote "According to the definition of branch points". Can you give us an accessible reference to that definition? – user64494 Jan 21 '24 at 09:06
  • I think you have to be a bit more careful when you use Mathematica for this type work. It's not using global analytic functions, but functions with branch cuts. For instance, subbing expr1 = Sqrt[r Exp[I \[Theta]]] into your example yields True. In fact, probably for every function, f[r Exp[I \[Theta]]] /. {\[Theta] -> \[Theta] + 2 \[Pi]}] yields f[r Exp[I \[Theta]]]. – Goofy Jan 21 '24 at 21:30
  • @Goofy You are right, and I may have made a mistake in my examples. I provided two correct examples in this question: https://mathematica.stackexchange.com/q/296769/69835. – lotus2019 Jan 22 '24 at 04:44
  • How do you define "Radical Function" ? – nilo de roock Mar 06 '24 at 18:37