cf.Data.outerproduct

Data.outerproduct(e, inplace=False, i=False)[source]

Compute the outer product with another data array.

The axes of result will be the combined axes of the two input arrays:

>>> d.outerproduct(e).ndim == d.ndim + e.ndim
True
>>> d.outerproduct(e).shape == d.shape + e.shape
True
Parameters
e: data-like

The data array with which to form the outer product.

inplace: bool, optional

If True then do the operation in-place and return None.

i: deprecated at version 3.0.0

Use inplace parameter instead.

Returns

Data or None

Examples:

>>> d = cf.Data([1, 2, 3], 'metre')
>>> o = d.outerproduct([4, 5, 6, 7])
>>> o
<CF Data: [[4, ..., 21]] m>
>>> print(o.array)
[[ 4  5  6  7]
 [ 8 10 12 14]
 [12 15 18 21]]
>>> e = cf.Data([[4, 5, 6, 7], [6, 7, 8, 9]], 's-1')
>>> o = d.outerproduct(e)
>>> o
<CF Data: [[[4, ..., 27]]] m.s-1>
>>> print(d.shape, e.shape, o.shape)
(3,) (2, 4) (3, 2, 4)
>>> print(o.array)
[[[ 4  5  6  7]
  [ 6  7  8  9]]
 [[ 8 10 12 14]
  [12 14 16 18]]
 [[12 15 18 21]
  [18 21 24 27]]]