We know FunctionAnalytic can check whether a complex function is analytic. But I want to use ComplexPlot3D or ComplexPlot to plot the complex function and see whether it is an analytic function (Holomorphic function). Or in other words, what is the difference between analytic and non-analytic functions in the function plots? I know that the argument 'jumps' and singularities are obvious features of non-analytic functions, but are there any other features of non- analytic functions besides these?

For example, the following complex function is non-analytic, but it does not seem to observe the argument 'jumps' or singularities in its ComplexPlot3D or ComplexPlot, are there any other features in the plots that can determine whether it is a non-analytical function? Or can we observe non-analytical features by setting options in ComplexPlot3D or ComplexPlot?

I'm not sure if there is an answer to this question.


w[x_, y_] := x^2 + I y^2;

FunctionAnalytic[w[x, y], {x, y}]


w[z_] := FullSimplify[w[x, y] /. {x -> (z + Conjugate[z])/2, y -> (z - Conjugate[z])/(2 I)}, 
  Element[x | y, Reals]];

FunctionSingularities[w[z], z]


ComplexPlot3D[w[z], {z, -8 - 8 I, 8 + 8 I}, PlotLegends -> Automatic, PlotPoints -> 100]

ComplexPlot[w[z], {z, -8 - 8 I, 8 + 8 I}, PlotLegends -> Automatic, PlotPoints -> 100]
  • $\begingroup$ I think the only general criterion is if the Taylor series converge to the function in the vicinity of a point. Even a smooth function, where all derivatives exist everywhere, not need to be analytical. A simple example is Exp[-1/x] that is not analytical at x=0. $\endgroup$ Jul 2, 2023 at 7:49
  • $\begingroup$ There is none. Every continuous function on a compact set can be uniformly approxomated with polynomials (analytic functions), see Weierstrass theorem, i.e. a continuous function on a compact set (closed and bounded) can be approximated as close as you like with a polynomial, one can set $\epsilon=10^{-20}$ and they could non be distinguished. $\endgroup$
    – Artes
    Jul 2, 2023 at 13:12
  • $\begingroup$ Thank you for your comments. This issue is raised because MMA examples often compare the images of analytic and non analytic functions together, and there are many options in ComplexPlot3D and ComplexPlot that can highlight features of complex functions. $\endgroup$
    – lotus2019
    Jul 2, 2023 at 15:17

2 Answers 2


Notice that the concepts of real analytic and complex analytic are different.


Complex analytic functions are more rigid in certain sense and they give conformal mappings, i.e. map right angles to right angles when $f'(z)\neq 0$.

showMapping[fun_,th_:0,max_:10] :=
    ContourPlot[ReIm[Exp[I th] fun/.{z->x+I y}],{x,-max,max},{y,-max,max},ContourShading->None];

(the parameter th will be explained later.)

For example, $z^{2}$ gives

enter image description here

For the OP's example, the correct code is,

w[x_,y_] :=
    x^2 + I y^2;
w[z_] :=
    w[x,y]/.{x->1/2 (z+Conjugate[z]),y->-(1/2) I (z-Conjugate[z])}//Simplify


we need to add a phase factor $\exp(i\theta)$ to detect the failure of non-conformality, enter image description here

  • $\begingroup$ Thank you for your answer. It's really good. Your graph was obtained using the CR-equation of an analytic function, which is known as conjugation. I have done it before, but I think it is an indirect method. My original intention in raising this question was to directly plot f (z) using ComplexPlot3D or ComplexPlot, highlighting a feature of the complex function by setting options to identify analytical and non analytical functions. @Lacia $\endgroup$
    – lotus2019
    Jul 2, 2023 at 15:28
  • $\begingroup$ @lotus2019 There are many ways of losing analyticity - mixing of holomorphic and anti-holomorphic dependencies, different kinks of singularities, discontinuities and branch cut.... some of them are local properties, some are global properties. I don't think ComplexPlot is the proper way to get intuitions of analyticity. btw there is a missing I in your code. $\endgroup$
    – Lacia
    Jul 2, 2023 at 22:15
  • $\begingroup$ Thanks, the code error has been corrected. $\endgroup$
    – lotus2019
    Jul 3, 2023 at 2:57

In short: Holomorpic functions are functions of two arguments. If x and i y both are complexified we are in $\mathbb R^4$. The fact, that they are independents of the 45° diagonal $x- I y$ and then considered as a function of one complex variable $x+iy$ in the real 2d submanifold cannot made visible, its differential topology in $\mathbb C \times \mathbb C = \mathbb R^4$

  • $\begingroup$ I do not believe that this answers the original question. $\endgroup$
    – bbgodfrey
    Jul 2, 2023 at 20:37
  • $\begingroup$ Plain: No? In Reality, its not possible to "see" a difference between a vector field ReIm @f (z), that has rot=0 and div=0 and a more general field., because the differences are "visible" by these specialized derivatives only. These kind of properties are are the field of sequences of maps between five vector spaces $z \to f(z) \to df(z) \to d*df(z) \to 0$ $\endgroup$
    – Roland F
    Jul 3, 2023 at 5:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.