[ANN] Introducing AlternateVectors.jl - A Library for Peculiar One-Dimensional Array Patterns

Hello Julia Developers,

I’m excited to introduce you to AlternateVectors.jl, a new Julia library designed to provide useful array representations for peculiar one-dimensional array patterns.

What is AlternateVectors.jl?

AlternateVectors is a library that enhances Julia’s native array capabilities by offering alternative ways to represent one-dimensional arrays. This can be particularly useful for developers dealing with non-standard or unique array structures.

Key Features

  • Convenient Array Representations: Easily represent arrays with peculiar patterns.
  • Optimized for Performance: Leverage Julia’s speed and efficiency for array operations.

Getting Started

Once installed, you can begin exploring the various array representations and functions provided by the library. Here’s a quick example:

using AlternateVectors

# Example usage
arr = AlternateVector(1,-2,10) # [1,-2,1,-2,1,-2,1,-2,1,-2]
println(arr)


arr2 = AlternatePaddedVector(0,1,-2,3,10) # [0,1,-2,1,-2,1,-2,1,-2,3]
println(arr2)

I personally found it very useful when trying to compute integrals on GPU and CPU in an agnostic way and when I had to preprocess “signals” before applying an FFT pass.

For more details please have a look at the documentation.

The latest version is supported on julia>=1.11 because of the new changes related to the broadcasting styles features which allowed to write the broadcasting of AlternateVectors in a very efficient way.

6 Likes