I am trying to plot the first derivative of $H^{(1)}_3 (ix)$ with respect to its argument $ix$, where $H^{(1)}_3 (ix)$ is the Hankel function of the first kind with order $3$, $x in mathbb{R}$ is a real variable and $i = sqrt{-1}$ is the imaginary unit.

According to the chain rule, it should be:

$$frac{mathrm{d}}{mathrm{d}(ix)} left( H^{(1)}_3 (ix) right) = frac{1}{i} frac{mathrm{d}}{mathrm{d}x} left( H^{(1)}_3 (ix) right)$$

So, first, I defined:

```
a(x_) := HankelH1(3, I*x);
```

It is a real-valued function and it’s easy to plot, for example with `Plot(a(X), {X, 0, 10})`

.

Then:

```
b(x_) := D(a(x), x);
```

which is pure imaginary and should represent $displaystyle frac{mathrm{d}}{mathrm{d}x} left( H^{(1)}_3 (ix) right)$. Then,

```
c(x_) := D(a(x), x) / I;
```

should be $displaystyle frac{mathrm{d}}{mathrm{d}(ix)} left( H^{(1)}_3 (ix) right)$ and should be real.

However, I can’t plot it:

```
Plot(c(X), {X, 0, 10})
```

gives

```
General::ivar: 0.0002042857142857143` is not a valid variable.
General::ivar: 0.20428591836734694` is not a valid variable.
General::ivar: 0.40836755102040817` is not a valid variable.
General::stop: Further output of General::ivar will be suppressed during this calculation.
```

Why? What am I doing wrong?

I’m using Mathematica 12.0.0 on Linux x86 (64 bit).