https://github.com/SciML/RecursiveArrayTools.jl
Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications
https://github.com/SciML/RecursiveArrayTools.jl
array recursion scientific-machine-learning sciml vector
Last synced: 4 months ago
JSON representation
Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications
- Host: GitHub
- URL: https://github.com/SciML/RecursiveArrayTools.jl
- Owner: SciML
- License: other
- Created: 2016-10-30T19:00:21.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T00:45:20.000Z (9 months ago)
- Last Synced: 2024-10-29T18:40:13.261Z (9 months ago)
- Topics: array, recursion, scientific-machine-learning, sciml, vector
- Language: Julia
- Homepage: https://docs.sciml.ai/RecursiveArrayTools/stable/
- Size: 3.1 MB
- Stars: 212
- Watchers: 10
- Forks: 58
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Citation: CITATION.bib
Awesome Lists containing this project
- awesome-sciml - SciML/RecursiveArrayTools.jl: Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications
README
# RecursiveArrayTools.jl
[](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
[](https://docs.sciml.ai/RecursiveArrayTools/stable/)[](https://codecov.io/gh/SciML/RecursiveArrayTools.jl)
[](https://github.com/SciML/RecursiveArrayTools.jl/actions?query=workflow%3ACI)
[](https://buildkite.com/julialang/recursivearraytools-dot-jl)[](https://github.com/SciML/ColPrac)
[](https://github.com/SciML/SciMLStyle)RecursiveArrayTools.jl is a set of tools for dealing with recursive arrays like
arrays of arrays.## Tutorials and Documentation
For information on using the package,
[see the stable documentation](https://docs.sciml.ai/RecursiveArrayTools/stable/). Use the
[in-development documentation](https://docs.sciml.ai/RecursiveArrayTools/dev/) for the version of
the documentation, which contains the unreleased features.## Example
```julia
using RecursiveArrayTools
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
vA = VectorOfArray(a)
vB = VectorOfArray(b)vA .* vB # Now all standard array stuff works!
a = (rand(5), rand(5))
b = (rand(5), rand(5))
pA = ArrayPartition(a)
pB = ArrayPartition(b)pA .* pB # Now all standard array stuff works!
```