# Static Arrays in pure Julia

**URL:** <https://discourse.julialang.org/t/static-arrays-in-pure-julia/46030>\
**Category:** Performance\
**Tags:** package, performance, array\
**Created:** [September 3, 2020, 10:52pm UTC](https://discourse.julialang.org/t/static-arrays-in-pure-julia/46030 "2020-09-03T22:52:55Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [September 3, 2020, 11:22pm UTC](https://discourse.julialang.org/t/static-arrays-in-pure-julia/46030/3 "2020-09-03T23:22:17Z")

</div>

An alternative to `StaticArrays` is [AbstractTensors.jl](https://github.com/chakravala/AbstractTensors.jl) combined with [Grassmann.jl](https://github.com/chakravala/Grassmann.jl). It’s an experiment where I am trying to build a new foundation for mathematixs in Julia language.

> [@Help with simplified StaticArrays implementation](https://discourse.julialang.org/t/help-with-simplified-staticarrays-implementation/45522):
>
> Poblem: [StaticArrays.jl](https://github.com/JuliaArrays/StaticArrays.jl) is too large of a dependency and has too many extra features. To simplify my dependencies, I need a simplified variant of SVector, MVector, and SizedVector. Solution: In [AbstractTensors.jl](https://github.com/chakravala/AbstractTensors.jl) they are replaced with Values, Variables, and FixedVector. julia\> using AbstractTensors # loads 10x faster than StaticArrays julia\> a = Values(1,2,3) 3-element Values{3,Int64} with indices SOneTo(3): 1 2 3 My goal is to have an implementation that is robust as in StaticArrays b…

> [@Grassmann.jl A\\b 3x faster than Julia's StaticArrays.jl](https://discourse.julialang.org/t/grassmann-jl-a-b-3x-faster-than-julias-staticarrays-jl/41451/35):
>
> This was because of a special explicit case for dimensions 1 and 2 and 3, which are now accounted for in Grassmann.jl also. Also, support has been added for Moore-Penrose inverses for underdetermined and overdetermined linear systems. For underdetermined cases, the exterior product algorithm works ~20x faster than the SMatrix algorithm, and it is numerically stable. For overdetermined equations, the method used is based on the traditional normal equations, and this is prone to more numerical i…

The reason `StaticArrays` is not in `Base` is so that its version can be iterated seperately.

---

_[View the full topic](https://discourse.julialang.org/t/static-arrays-in-pure-julia/46030)._
