Skip to content

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Apr 14:45
fc9c29a

RecursiveArrayTools v4.0.0

Diff since v3.51.0

RecursiveArrayTools v4.0.0

Breaking Changes

  • AbstractVectorOfArray{T, N, A} now subtypes AbstractArray{T, N}. Linear indexing A[i] returns the ith element in column-major order (previously returned the ith inner array). Use A.u[i] or A[:, i] for the old behavior.
  • length(A) returns prod(size(A)) (total elements), not length(A.u) (number of inner arrays). Use length(A.u) for the old behavior.
  • iterate(A) iterates over scalar elements, not inner arrays. Use A.u for column-wise iteration.
  • map(f, A) maps over elements, not inner arrays. Use map(f, A.u) for the old behavior.
  • Ragged arrays: size(A) reports maximum size; out-of-bounds elements return zero (sparse interpretation). Non-zero-padded ragged arrays are available via using RecursiveArrayToolsRaggedArrays.
  • DiffEqArray has new interp and dense fields (new type parameter I).
  • Optimized any/all for ArrayPartition moved to RecursiveArrayToolsArrayPartitionAnyAll subpackage to avoid invalidations. Required for GPU arrays.

New Features

  • DiffEqArray callable interface: da(t), da(t; idxs=1), da(t, Val{1}) for interpolation.
  • Dense plotting: plot(da) with denseplot=true generates smooth interpolated curves.
  • Full-featured plot recipe with idxs, phase plots, tspan, plotdensity, plotat.
  • RaggedVectorOfArray and RaggedDiffEqArray in RecursiveArrayToolsRaggedArrays sublibrary for non-zero-padded ragged arrays.
  • CUDA extension for CuArray(::AbstractVectorOfArray) disambiguation.
  • Plotting helpers exported for SciMLBase delegation: interpret_vars, diffeq_to_arrays, solplot_vecs_and_labels.

Merged pull requests: