Open
Description
I found that ArrayBase
has no equivalent method to np.outer
of numpy
. This is quite surprising because outer product is a standard feature and is trivial to implement.
For example, by refering to the implementation of np.outer
, we can implement ArrayBase's outer as:
pub fn outer(x: &Array<f64, Ix1>, y: &Array<f64, Ix1>) -> Array<f64, Ix2> {
let (size_x, size_y) = (x.shape()[0], y.shape()[0]);
let x_reshaped = x.view().into_shape((size_x, 1)).unwrap();
let y_reshaped = y.view().into_shape((1, size_y)).unwrap();
x_reshaped.dot(&y_reshaped)
}
then
let a = array![1., 2., 3.];
let b = array![1., 2., 3.];
let outer = a.outer(&b);
There is a similar issue/pull request #690, but it implements Kronecker product not outer.
Metadata
Metadata
Assignees
Labels
No labels