---
title: "CubeRoot"
language: "en"
type: "Symbol"
summary: "CubeRoot[x] gives the real-valued cube root of x."
keywords: 
- cube root
- third root
canonical_url: "https://reference.wolfram.com/language/ref/CubeRoot.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Elementary Functions"
    link: "https://reference.wolfram.com/language/guide/ElementaryFunctions.en.md"
  - 
    title: "GPU Computing"
    link: "https://reference.wolfram.com/language/guide/GPUComputing.en.md"
  - 
    title: "GPU Computing with NVIDIA"
    link: "https://reference.wolfram.com/language/guide/GPUComputing-NVIDIA.en.md"
  - 
    title: "GPU Computing with Apple"
    link: "https://reference.wolfram.com/language/guide/GPUComputing-Apple.en.md"
---
# CubeRoot

CubeRoot[x] gives the real-valued cube root of x.

## Details

* ``CubeRoot[x]`` returns the real-valued cube root for real-valued ``x``.

* For symbolic ``x`` in ``CubeRoot[x]``, ``x`` is assumed to be real valued.

* ``CubeRoot`` can be evaluated to arbitrary numerical precision.

* ``CubeRoot`` automatically threads over lists.

* In ``StandardForm``, ``CubeRoot[x]`` formats as ``Surd[x, 3]``.

* ``Surd[\[SelectionPlaceholder], 3]`` can be entered as esc`` cbrt ``esc.

* ``∛z`` can also be used for input. The ``∛`` character is entered as esc`` cbrti ``esc or [`\[CubeRoot]`](https://reference.wolfram.com/language/ref/character/CubeRoot.en.md).

## Examples (48)

### Basic Examples (5)

``CubeRoot`` gives a real root:

```wl
In[1]:= CubeRoot[-27]

Out[1]= -3
```

---

Plot over a subset of the reals:

```wl
In[1]:= Plot[CubeRoot[x], {x, -2, 2}]

Out[1]= [image]
```

---

Enter $Surd[x, 3]$ using esc`` cbrt ``esc :

```wl
In[1]:= Surd[-4.5, 3]

Out[1]= -1.65096
```

Note that this is not the same as $x^(1/(3))$, which is ``Power[x, 1 / 3]`` :

```wl
In[2]:= -4.5^(1/(3))

Out[2]= 0.825482  + 1.42978 I
```

---

Compare the real and imaginary parts of $x^(1/(3))$ and $Surd[x, 3]$ over the reals:

```wl
In[1]:= ReImPlot[{x^(1/(3)), Surd[x, 3]}, {x, -4, 4}, PlotLegends -> Automatic]

Out[1]= [image]
```

---

Series expansion:

```wl
In[1]:= Series[CubeRoot[x], {x, -1, 5}]

Out[1]=
SeriesData[x, -1, {-1, Rational[1, 3], Rational[1, 9], Rational[5, 81], Rational[10, 243], 
  Rational[22, 729]}, 0, 6, 1]
```

### Scope (36)

#### Numerical Evaluation (6)

Evaluate numerically:

```wl
In[1]:= CubeRoot[128.]

Out[1]= 5.03968
```

---

Evaluate to high precision:

```wl
In[1]:= N[CubeRoot[18], 100]

Out[1]= 2.620741394208896607141661280441996270239427645723631725102773805728699819196042108828455825989073598
```

The precision of the output tracks the precision of the input:

```wl
In[2]:= CubeRoot[0.2111111555555555555111111111111111]

Out[2]= 0.5954387043545185607607119957382827
```

---

Evaluate efficiently at high precision:

```wl
In[1]:= CubeRoot[12`100]//Timing

Out[1]= {0., 2.2894284851066637356160844238793540178318138415758621441981043481313485980484283008752163220618340911}

In[2]:= CubeRoot[181`1000000];//Timing

Out[2]= {0.15625, Null}
```

---

``CubeRoot`` threads elementwise over lists and matrices:

```wl
In[1]:= CubeRoot[{0, 1.5, 8, Infinity}]

Out[1]= {0, 1.14471, 2, ∞}

In[2]:=
CubeRoot[(⁠|   |       |
| :- | :---- |
| 1 | u     |
| v | 3.375 |⁠)]//MatrixForm

Out[2]//MatrixForm=
(⁠|            |            |
| ---------- | ---------- |
| 1          | Surd[u, 3] |
| Surd[v, 3] | 1.5        |⁠)
```

---

Compute average case statistical intervals using ``Around``:

```wl
In[1]:= CubeRoot[ Around[2 / 3, 0.001]]

Out[1]= Around[0.8735804647362988, 0.0004367902323681495]
```

---

Compute the elementwise values of an array:

```wl
In[1]:= CubeRoot[{{1 / 2, -1}, {-5 / 3, 1 / 2}}]

Out[1]= {{(1/2^1 / 3), -1}, {-((5/3))^1 / 3, (1/2^1 / 3)}}
```

Or compute the matrix ``CubeRoot`` function using ``MatrixFunction``:

```wl
In[2]:= MatrixFunction[CubeRoot, {{1 / 2, -1}, {-5 / 3, 1 / 2}}]

Out[2]= {{-(1/2) (-(1/2) + Sqrt[(5/3)])^1 / 3 + (1/2) ((1/2) + Sqrt[(5/3)])^1 / 3, -(1/2) Sqrt[(3/5)] (-(1/2) + Sqrt[(5/3)])^1 / 3 - (1/2) Sqrt[(3/5)] ((1/2) + Sqrt[(5/3)])^1 / 3}, {-(Sqrt[5] (-(1/2) + Sqrt[(5/3)])^1 / 3/2 Sqrt[3]) - (Sqrt[5] ((1/2) + Sqrt[(5/3)])^1 / 3/2 Sqrt[3]), -(1/2) (-(1/2) + Sqrt[(5/3)])^1 / 3 + (1/2) ((1/2) + Sqrt[(5/3)])^1 / 3}}
```

#### Specific Values (4)

Values of ``CubeRoot`` at fixed points:

```wl
In[1]:= Table[CubeRoot[n ], {n, {-27, -8, -1, 1, 8, 27}}]

Out[1]= {-3, -2, -1, 1, 2, 3}
```

---

Values at zero:

```wl
In[1]:= CubeRoot[0]

Out[1]= 0
```

---

Values at infinity:

```wl
In[1]:= CubeRoot[Infinity]

Out[1]= ∞

In[2]:= CubeRoot[-Infinity]

Out[2]= -∞
```

---

Find a value of $x$ for which the $Surd[x, 3]=3 / 2$ using ``Solve`` :

```wl
In[1]:= Solve[CubeRoot[x] == 3 / 2]

Out[1]= {{x -> (27/8)}}
```

Substitute in the result:

```wl
In[2]:= xval = x /. First[%]

Out[2]= (27/8)
```

Visualize the result:

```wl
In[3]:= Plot[CubeRoot[x], {x, -10, 10}, Epilog -> Style[Point[{xval, CubeRoot[xval]}], PointSize[Large], Red]]

Out[3]= [image]
```

#### Visualization (3)

Plot the ``CubeRoot`` function:

```wl
In[1]:= Plot[CubeRoot[x], {x, -3, 3}]

Out[1]= [image]
```

---

Visualize the absolute value and argument (sign) of $Surd[x, 3]$ :

```wl
In[1]:= AbsArgPlot[Surd[x, 3], {x, -4, 4}, PlotLegends -> Automatic]

Out[1]= [image]
```

The function $x^(1/(3))$ has the same absolute value but a different argument for $x < 0$ :

```wl
In[2]:= AbsArgPlot[x^(1/(3)), {x, -4, 4}, PlotLegends -> Automatic]

Out[2]= [image]
```

---

Polar plot with $Surd[x, 3]$ :

```wl
In[1]:= PolarPlot[CubeRoot[ϕ], {ϕ, 0, 8π}, Frame -> True]

Out[1]= [image]
```

#### Function Properties (9)

``CubeRoot`` is defined on the real numbers:

```wl
In[1]:= FunctionDomain[CubeRoot[x], x]

Out[1]= True

In[2]:= FunctionDomain[CubeRoot[x], x, Complexes]

Out[2]= x∈ℝ
```

---

The range of ``CubeRoot`` is all real numbers:

```wl
In[1]:= FunctionRange[CubeRoot[x], x, y]

Out[1]= True

In[2]:= FunctionRange[CubeRoot[x], x, y, Complexes]//Reduce

Out[2]= Im[y] == 0
```

---

Enter a ``∛`` character as [`\[CubeRoot]`](https://reference.wolfram.com/language/ref/character/Sqrt.en.md), followed by a number:

```wl
In[1]:= ∛-1000

Out[1]= -10
```

---

$x^(1/(3))$ is not an analytic function:

```wl
In[1]:= FunctionAnalytic[Surd[``x``, 3], x]

Out[1]= False
```

Neither is it $x^(1/(3))$ meromorphic:

```wl
In[2]:= FunctionMeromorphic[Surd[``x``, 3], x]

Out[2]= False
```

---

$x^(1/(3))$ is non-decreasing:

```wl
In[1]:= FunctionMonotonicity[Surd[``x``, 3], x]

Out[1]= 1
```

---

$x^(1/(3))$ is injective:

```wl
In[1]:= FunctionInjective[Surd[``x``, 3], x]

Out[1]= True

In[2]:= Plot[{Surd[``x``, 3], 1}, {x, -5, 5}]

Out[2]= [image]
```

And surjective:

```wl
In[3]:= FunctionSurjective[Surd[``x``, 3], x]

Out[3]= True

In[4]:= Plot[{Surd[``x``, 3], -2}, {x, -10, 5}]

Out[4]= [image]
```

---

$x^(1/(3))$ is neither non-negative nor non-positive:

```wl
In[1]:= FunctionSign[Surd[``x``, 3], x]

Out[1]= Indeterminate
```

---

$x^(1/(3))$ is continuous on the reals but has a singularity at $x=0$ :

```wl
In[1]:= FunctionContinuous[Surd[``x``, 3], x]

Out[1]= True

In[2]:= FunctionSingularities[Surd[``x``, 3], x]

Out[2]= x == 0
```

It is singular because it is not differentiable:

```wl
In[3]:= Limit[(CubeRoot[h] - CubeRoot[0]/h), h -> 0]

Out[3]= ∞
```

---

$x^(1/(3))$ is neither convex nor concave:

```wl
In[1]:= FunctionConvexity[Surd[``x``, 3], x]

Out[1]= Indeterminate
```

#### Differentiation (3)

First derivative with respect to ``x`` :

```wl
In[1]:= D[CubeRoot[x], x]

Out[1]= (1/3 Surd[x, 3]^2)
```

---

Higher derivatives with respect to ``x`` :

```wl
In[1]:= Table[D[CubeRoot[x], {x, k}], {k, 1, 3}]//FullSimplify

Out[1]= {(1/3 Surd[x, 3]^2), -(2/9 x Surd[x, 3]^2), (10/27 x^2 Surd[x, 3]^2)}
```

Plot the higher derivatives with respect to ``x`` :

```wl
In[2]:= Plot[%, {x, -7, 7}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]

Out[2]= [image]
```

---

Formula for the $k$\[Null]^th derivative with respect to ``x`` :

```wl
In[1]:= D[CubeRoot[x], {x, k}]// FullSimplify

Out[1]= ((-(1/x))^k Gamma[-(1/3) + k] Surd[x, 3]/Gamma[-(1/3)])
```

#### Integration (4)

Compute the indefinite integral using ``Integrate`` :

```wl
In[1]:= Integrate[CubeRoot[x], x]

Out[1]= (3 x Surd[x, 3]/4)

In[2]:= FullSimplify[D[Integrate[CubeRoot[x], x], x] == CubeRoot[x]]
```

Verify the anti-derivative:

```wl
In[3]:= FullSimplify[D[%, x] == CubeRoot[x]]

Out[3]= True
```

---

Definite integral:

```wl
In[1]:= Integrate[CubeRoot[x], {x, 0, 4}]

Out[1]= 3 2^2 / 3
```

---

Definite integral of ``CubeRoot`` over a symmetric interval is 0:

```wl
In[1]:= Integrate[CubeRoot[x], {x, -4, 4}]

Out[1]= 0
```

---

More integrals:

```wl
In[1]:= Integrate[Exp[x]CubeRoot[x], x]//FullSimplify

Out[1]= -x ExpIntegralE[-(1/3), -x] Surd[x, 3]

In[2]:= Integrate[Sin[x]CubeRoot[x], {x, 0, 5}]//FullSimplify

Out[2]= (1/2) (5 I 5^1 / 3 (ExpIntegralE[-(1/3), -5 I] - ExpIntegralE[-(1/3), 5 I]) + Sqrt[3] Gamma[(4/3)])
```

#### Series Expansions (4)

Find the Taylor expansion using ``Series``:

```wl
In[1]:= Series[CubeRoot[x], {x, 1, 4}]

Out[1]= SeriesData[x, 1, {1, Rational[1, 3], Rational[-1, 9], Rational[5, 81], Rational[-10, 243]}, 0, 5, 1]
```

Plots of the first three approximations around $x = 1$ :

```wl
In[2]:=
terms = Normal@Table[Series[CubeRoot[x], {x, 1, m}], {m, 1, 5, 2}];
Plot[{CubeRoot[x], terms}, {x, -1, 3}]

Out[2]= [image]
```

---

General term in the series expansion using ``SeriesCoefficient`` :

```wl
In[1]:= SeriesCoefficient[CubeRoot[x], {x, 1, n}]

Out[1]=
Piecewise[
 {{DifferenceRoot[Function[{\[FormalY], \[FormalN]}, {(-1 + 3*\[FormalN])*\[FormalY][\[FormalN]] + (3 + 3*\[FormalN])*\[FormalY][1 + \[FormalN]] == 0, 
       \[FormalY][0] == 1}]][n], n >= 0}}, 0]
```

---

The first-order Fourier series:

```wl
In[1]:= FourierSeries[CubeRoot[x], x, 1]// FullSimplify

Out[1]= ((I π^4 / 3 (ExpIntegralE[-(1/3), -I π] - ExpIntegralE[-(1/3), I π]) + Sqrt[3] Gamma[(4/3)]) Sin[x]/π)
```

---

Taylor expansion at a generic point:

```wl
In[1]:= Series[CubeRoot[x], {x, x0, 2}]// FullSimplify

Out[1]=
Piecewise[{{SeriesData[x, 0, {1}, 1, 7, 3], x0 == 0 && x >= 0}, 
  {SeriesData[x, 0, {(-1)^(Rational[2, 3])}, 1, 7, 3], x0 == 0 && x < 0}, 
  {SeriesData[x, x0, {x0^(Rational[1, 3]), 
     Rational[1, 3]*x0^(Rational[-2, 3]), Rational[-1, 9]*
      ... , 1], Element[x, Reals] && x0 > 0}}, 
 SeriesData[x, x0, 
  {(-1)^(Rational[2, 3])*x0^(Rational[1, 3]), (Rational[1, 3]*(-1)^(Rational[2, 3]))*
    x0^(Rational[-2, 3]), (Rational[-1, 9]*(-1)^(Rational[2, 3]))*
    x0^(Rational[-5, 3])}, 0, 3, 1]]
```

#### Function Identities and Simplifications (3)

Primary definition:

```wl
In[1]:= CubeRoot[x] == Surd[x, 3]

Out[1]= True
```

---

Products can be combined using ``FullSimplify`` :

```wl
In[1]:= CubeRoot[x]CubeRoot[y]  == CubeRoot[x y]

Out[1]= True
```

---

``CubeRoot`` commutes with integer exponentiation:

```wl
In[1]:= Reduce[Table[CubeRoot[x ^ n] == CubeRoot[x] ^ n, {n, 10}], Reals]

Out[1]= True
```

### Applications (1)

Solve a differential equation with ``CubeRoot`` :

```wl
In[1]:= DSolve[3 x y'[x] - y[x] == 0, y[x], x]

Out[1]= {{y[x] -> x^1 / 3 C[1]}}

In[2]:= DSolve[{CubeRoot[y[x]] - y'[x] == 0, y[0] == 1}, y[x], x]//Quiet

Out[2]=
{{y[x] -> ConditionalExpression[Root[(-27 - 54*x - 36*x^2 - 8*x^3)*#1^2 + 27*#1^4 & , 4], 
 Re[x] > -(3/2) && Im[x] == 0]}}
```

### Properties & Relations (5)

``CubeRoot`` is only defined for real inputs:

```wl
In[1]:= FunctionDomain[CubeRoot[x], x, ℂ]

Out[1]= x∈ℝ
```

---

``CubeRoot`` is a bijection on the reals:

```wl
In[1]:= FunctionBijective[CubeRoot[x], x]

Out[1]= True
```

---

Use ``CubeRoot`` to find real cube roots:

```wl
In[1]:= CubeRoot[-8.]

Out[1]= -2.
```

Use ``Power[x, 1 / 3]`` or ``x^(1/(3))`` to find the principal complex cube root:

```wl
In[2]:= -8.^(1/(3))

Out[2]= 1.  + 1.73205 I
```

---

The generating function for ``CubeRoot`` :

```wl
In[1]:= GeneratingFunction[CubeRoot[n], n, x]

Out[1]= PolyLog[-(1/3), x]

In[2]:= Series[%, {x, 0, 5}]

Out[2]=
SeriesData[x, 0, {1, 2^(Rational[1, 3]), 3^(Rational[1, 3]), 2^(Rational[2, 3]), 
  5^(Rational[1, 3])}, 1, 6, 1]
```

---

Find the integral of a function containing ``CubeRoot`` :

```wl
In[1]:= Integrate[(1 + x^3) CubeRoot[x], {x, -1, 1}]

Out[1]= (6/13)
```

Visualize the function and the signed area between it and the $x$ axis:

```wl
In[2]:= Plot[(1 + x^3) CubeRoot[x], {x, -1, 1}, Filling -> Axis, FillingStyle -> {RGBColor[0.880722, 0.611041, 0.142051, 0.5], RGBColor[0.368417, 0.506779, 0.709798, 0.5]}]

Out[2]= [image]
```

### Possible Issues (1)

On the negative real axis, ``CubeRoot[x]`` is different from the principal root returned by ``Power[x, 1 / 3]`` :

```wl
In[1]:= ReImPlot[Evaluate[{CubeRoot[x], Power[x, 1 / 3]}], {x, -1, 1}, PlotTheme -> "Detailed"]

Out[1]= [image]
```

## See Also

* [`Power`](https://reference.wolfram.com/language/ref/Power.en.md)
* [`Sqrt`](https://reference.wolfram.com/language/ref/Sqrt.en.md)
* [`Surd`](https://reference.wolfram.com/language/ref/Surd.en.md)
* [`Re`](https://reference.wolfram.com/language/ref/Re.en.md)
* [`\[CubeRoot]`](https://reference.wolfram.com/language/ref/character/CubeRoot.en.md)

## Related Guides

* [Elementary Functions](https://reference.wolfram.com/language/guide/ElementaryFunctions.en.md)
* [GPU Computing](https://reference.wolfram.com/language/guide/GPUComputing.en.md)
* [GPU Computing with NVIDIA](https://reference.wolfram.com/language/guide/GPUComputing-NVIDIA.en.md)
* [GPU Computing with Apple](https://reference.wolfram.com/language/guide/GPUComputing-Apple.en.md)

## Related Links

* [[image] MathWorld](https://mathworld.wolfram.com/CubeRoot.html)

## History

* [Introduced in 2012 (9.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn90.en.md) \| [Updated in 2020 (12.1)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn121.en.md)