gives the argument of the complex number z.


  • Mathematical function, suitable for both symbolic and numerical manipulation.
  • Arg[z] is left unevaluated if z is not a numeric quantity.
  • Arg[z] gives the phase angle of z in radians.
  • The result from Arg[z] is always between and .
  • Arg[z] has a branch cut discontinuity in the complex z plane running from to 0.
  • Arg[0] gives 0.
  • Arg automatically threads over lists.


open allclose all

Basic Examples  (3)

The result is given in radians:

Plot over a subset of the reals:

Plot over a subset of the complexes:

Scope  (26)

Numerical Evaluation  (5)

Evaluate numerically:

Complex number inputs:

Evaluate to high precision:

For real inputs, the result is exact:

For complex inputs, the precision of the output tracks the precision of the input:

Evaluate efficiently at high precision:

Arg threads elementwise over lists and matrices:

Specific Values  (6)

Values of Arg at fixed points:

Value at zero:

Values at infinity:

Exact inputs:

Evaluate for complex exponentials:

Find a value of x for which the Arg[I x]=π/2:

Visualize the result:

Visualization  (5)

Plot the on the real axis:

Plot on the reals:

Plot over the complex plane:

Visualize Arg in three dimensions:

Use Arg to specify regions of the complex plane:

Function Properties  (5)

Arg is defined for all real and complex inputs:

Function range of Arg for real inputs:

Except on the negative reals, arg(TemplateBox[{z}, Conjugate])=-arg(z):

Arg is not a differentiable function:

The difference quotient does not have a limit in the complex plane:

There is only a limit in certain directions, for example, the real direction:

Use ComplexExpand to get differentiable expressions for real-valued variables:

TraditionalForm formatting:

Function Identities and Simplifications  (5)

Expand assuming real variables x and y:

Simplify Abs using appropriate assumptions:

Express a non-zero complex number in term of its Arg and Abs:

is equal to :

Except for , exp(ⅈ arg(z))=TemplateBox[{z}, Sign]):

Applications  (3)

Polar decomposition of a complex number:

Color a plot according to value of Arg:

Expand multivalued functions without making assumptions about variables:

Properties & Relations  (7)

Simplify expressions containing Arg:

Generate Arg from FullSimplify:

Use Arg as a target function in ComplexExpand:

Rescale Arg to run from 0 to 1:

Find the domain of positivity for a linear function:

Use Arg to specify assumptions about complex variables:

ComplexPlot plots the phase of a function using color and shades by the magnitude:

Possible Issues  (4)

Degenerate cases give intervals as results:

Arg is a function of a complex variable and is therefore not differentiable:

As a complex function, it is not possible to write Arg[z] without involving Conjugate[z]:

In particular, the limit that defines the derivative is direction dependent and therefore does not exist:

Use ComplexExpand to get differentiable expressions for real-valued variables:

Numerical decision procedures with default settings cannot simplify this expression:

The machine-precision result is incorrect:

The arbitrary-precision result indicates that the result may be incorrect:

Using a larger setting for $MaxExtraPrecision gives the correct result:

The input contains a hidden zero, and simplifying the argument gets the correct answer:

The argument principle of complex analysis cannot be used because Arg has range :

Neat Examples  (1)

Wolfram Research (1988), Arg, Wolfram Language function, (updated 2007).


Wolfram Research (1988), Arg, Wolfram Language function, (updated 2007).


@misc{reference.wolfram_2020_arg, author="Wolfram Research", title="{Arg}", year="2007", howpublished="\url{}", note=[Accessed: 28-February-2021 ]}


@online{reference.wolfram_2020_arg, organization={Wolfram Research}, title={Arg}, year={2007}, url={}, note=[Accessed: 28-February-2021 ]}


Wolfram Language. 1988. "Arg." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2007.


Wolfram Language. (1988). Arg. Wolfram Language & System Documentation Center. Retrieved from