Default: ``(0,)``.
xp : array_namespace
    The standard-compatible namespace for `a`.

Returns
-------
res : array
    `a` with an expanded shape.

Examples
--------
>>> import array_api_strict as xp
>>> import array_api_extra as xpx
>>> x = xp.asarray([1, 2])
>>> x.shape
(2,)

The following is equivalent to ``x[xp.newaxis, :]`` or ``x[xp.newaxis]``:

>>> y = xpx.expand_dims(x, axis=0, xp=xp)
>>> y
Array([[1, 2]], dtype=array_api_strict.int64)
>>> y.shape
(1, 2)

The following is equivalent to ``x[:, xp.newaxis]``:

>>> y = xpx.expand_dims(x, axis=1, xp=xp)
>>> y
Array([[1],
       [2]], dtype=array_api_strict.int64)
>>> y.shape
(2, 1)

``axis`` may also be a tuple:

>>> y = xpx.expand_dims(x, axis=(0, 1), xp=xp)
>>> y
Array([[[1, 2]]], dtype=array_api_strict.int64)

>>> y = xpx.expand_dims(x, axis=(2, 0), xp=xp)
>>> y
Array([[[1],
        [2]]], dtype=array_api_strict.int64)

r