Closed
Description
Is it not possible to create a 3D array from a vec of Array2? Mine are complex, but I'm not sure this matters. Here's what I'm trying:
let matrix_data = vec![];
{
...
let mat = aview!(&complex_vec).into_shape((rank, rank)).unwrap();
matrix_data.push(mat.to_owned());
...
}
let array_3d = Array3::from(&matrix_data);
and the error I'm getting is
error[E0277]: the trait bound `ndarray::ArrayBase<ndarray::OwnedRepr<_>, ndarray::Dim<[usize; 3]>>: std::convert::From<&std::vec::Vec<ndarray::ArrayBase<ndarray::OwnedRepr<num_complex::Complex<f32>>, ndarray::Dim<[usize; 2]>>>>` is not satisfied
--> /home/rdcampbell/Documents/Programming/scirust_rf/src/touchstone.rs:199:24
|
199 | let array_3d = Array3::from(&matrix_data);
| ^^^^^^^^^^^^ the trait `std::convert::From<&std::vec::Vec<ndarray::ArrayBase<ndarray::OwnedRepr<num_complex::Complex<f32>>, ndarray::Dim<[usize; 2]>>>>` is not implemented for `ndarray::ArrayBase<ndarray::OwnedRepr<_>, ndarray::Dim<[usize; 3]>>`
|
= help: the following implementations were found:
<ndarray::ArrayBase<ndarray::OwnedRepr<A>, ndarray::Dim<[usize; 2]>> as std::convert::From<std::vec::Vec<V>>>
<ndarray::ArrayBase<ndarray::ViewRepr<&'a A>, D> as std::convert::From<&'a ndarray::ArrayBase<S, D>>>
<ndarray::ArrayBase<ndarray::ViewRepr<&'a A>, ndarray::Dim<[usize; 1]>> as std::convert::From<&'a Slice>>error[E0277]: the trait bound `ndarray::ArrayBase<ndarray::OwnedRepr<_>, ndarray::Dim<[usize; 3]>>: std::convert::From<&std::vec::Vec<ndarray::ArrayBase<ndarray::OwnedRepr<num_complex::Complex<f32>>, ndarray::Dim<[usize; 2]>>>>` is not satisfied
--> /home/rdcampbell/Documents/Programming/scirust_rf/src/touchstone.rs:199:24
|
199 | let array_3d = Array3::from(&matrix_data);
| ^^^^^^^^^^^^ the trait `std::convert::From<&std::vec::Vec<ndarray::ArrayBase<ndarray::OwnedRepr<num_complex::Complex<f32>>, ndarray::Dim<[usize; 2]>>>>` is not implemented for `ndarray::ArrayBase<ndarray::OwnedRepr<_>, ndarray::Dim<[usize; 3]>>`
|
= help: the following implementations were found:
<ndarray::ArrayBase<ndarray::OwnedRepr<A>, ndarray::Dim<[usize; 2]>> as std::convert::From<std::vec::Vec<V>>>
<ndarray::ArrayBase<ndarray::ViewRepr<&'a A>, D> as std::convert::From<&'a ndarray::ArrayBase<S, D>>>
<ndarray::ArrayBase<ndarray::ViewRepr<&'a A>, ndarray::Dim<[usize; 1]>> as std::convert::From<&'a Slice>>
<ndarray::ArrayBase<ndarray::ViewRepr<&'a mut A>, D> as std::convert::From<&'a mut ndarray::ArrayBase<S, D>>>
and 3 others
= note: required by `std::convert::From::from`
<ndarray::ArrayBase<ndarray::ViewRepr<&'a mut A>, D> as std::convert::From<&'a mut ndarray::ArrayBase<S, D>>>
and 3 others
= note: required by `std::convert::From::from`
I saw shape_from_vec, but that doesn't work for me either. I think because of the shape of my Vec
Metadata
Metadata
Assignees
Labels
No labels