Jishnu Bhattacharya
Jishnu Bhattacharya
Rebase #256 with only the `FillArray` part implemented this time. This makes `eigvals` O(1) and `eigen` O(N^2)
The vector method is unnecessary, as the fallback `Base` method uses `reshape`, which will do the same. For the other method: On master, ```julia julia> F = Fill(2, (SOneTo(2), SOneTo(3)))...
With this, `tril/triu` are no-ops for a `ZerosMatrix`, and O(1) for a `OneElementMatrix` ```julia julia> @btime triu($(Ref(Zeros(100,100)))[]); 2.019 μs (0 allocations: 0 bytes) # master 2.945 ns (0 allocations: 0...
Addresses certain cases (`min`/`max`, and possibly some others) from #301 After this, ```julia julia> C = Fill(1,10000000) 10000000-element Fill{Int64}, with entries equal to 1 julia> @btime mapreduce(identity, max, $(Ref(C))[]) 2.950...
Since `conv` methods may be excised from `InfiniteLinearAlgebra`, it's best to have tests for these here. The specialized `conv` methods for `AbstractFill` are unnecessary, and are actually less efficient than...
These don't seem necessary on recent Julia versions. On Julia version v1.9.2, using this PR, I obtain ```julia julia> @btime any(isone, Fill(2,10000)); 2.942 ns (0 allocations: 0 bytes) julia> @btime...
Closes #195 by setting the default `IndexStyle` to `IndexLinear` for all `AbstractFill` Edit: Oddly, this makes certain benchmarks worse, so let's hold off on merging this for a bit ```julia...
https://github.com/JuliaArrays/FillArrays.jl/blob/de36a50a171a4f871d689762ba7886198dd96923/src/FillArrays.jl#L59 This means ```julia julia> using StaticArrays julia> f = Fill(1, (SOneTo(2),)) 2-element Fill{Int64, 1, Tuple{SOneTo{2}}} with indices SOneTo(2), with entries equal to 1 julia> IndexStyle(f) IndexCartesian() ``` This may...