# Arrays with non-uniform dimensions

**URL:** <https://discourse.julialang.org/t/arrays-with-non-uniform-dimensions/88725>\
**Category:** General Usage\
**Created:** [October 14, 2022, 12:15pm UTC](https://discourse.julialang.org/t/arrays-with-non-uniform-dimensions/88725 "2022-10-14T12:15:34Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![xor0110](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xor0110/32/7926_2.png) [@xor0110](https://discourse.julialang.org/u/xor0110)\
**Post date:** [October 14, 2022, 12:23pm UTC](https://discourse.julialang.org/t/arrays-with-non-uniform-dimensions/88725/3 "2022-10-14T12:23:34Z")

</div>

Just found this thread from a couple of years ago mentioning an idea that actually relates to this topic, “recursive broadcasts”…

> [@Broadcast for Array of Array](https://discourse.julialang.org/t/broadcast-for-array-of-array/29604):
>
> I’ve the below function sigmoid(z::Real) = one(z) / (one(z) + exp(-z)) And want to broadcast it for all the element of x, where: X = [[1, 2, 3], [3, 4, 5], [5, 6, 7] ] I tried the normal way but failed sigmoid.(X)

In my opinion the best approach would be to have a data-structure that can be easily mapped to/from arrays of arrays, and then support mapping etc (isomorphism? catamorphism? I forgot the correct term). There’s an AbstractTrees module, but I’m not sure how easy is it to use that.

---

_[View the full topic](https://discourse.julialang.org/t/arrays-with-non-uniform-dimensions/88725)._
