{"id":19093682,"url":"https://github.com/juliaarrays/infinitearrays.jl","last_synced_at":"2025-10-25T04:31:45.456Z","repository":{"id":30620883,"uuid":"125563293","full_name":"JuliaArrays/InfiniteArrays.jl","owner":"JuliaArrays","description":"A Julia package for representing infinite-dimensional arrays","archived":false,"fork":false,"pushed_at":"2025-02-11T14:54:51.000Z","size":367,"stargazers_count":73,"open_issues_count":17,"forks_count":10,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-11T15:42:05.472Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuliaArrays.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-16T19:52:34.000Z","updated_at":"2024-12-19T21:26:01.000Z","dependencies_parsed_at":"2023-12-14T12:26:03.337Z","dependency_job_id":"9568d56b-6db4-4f4a-b436-ea297a2f6380","html_url":"https://github.com/JuliaArrays/InfiniteArrays.jl","commit_stats":{"total_commits":182,"total_committers":14,"mean_commits":13.0,"dds":"0.22527472527472525","last_synced_commit":"fba14a58f9c7712ecbfd3e5cc21197bb64a609bb"},"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaArrays%2FInfiniteArrays.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaArrays%2FInfiniteArrays.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaArrays%2FInfiniteArrays.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaArrays%2FInfiniteArrays.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaArrays","download_url":"https://codeload.github.com/JuliaArrays/InfiniteArrays.jl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240142863,"owners_count":19754640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T03:25:41.860Z","updated_at":"2025-10-25T04:31:45.408Z","avatar_url":"https://github.com/JuliaArrays.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InfiniteArrays.jl\n\n\n[pkgeval-img]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/I/InfiniteArrays.svg\n[pkgeval-url]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html\n\n[![Build Status](https://github.com/JuliaArrays/InfiniteArrays.jl/workflows/CI/badge.svg)](https://github.com/JuliaArrays/InfiniteArrays.jl/actions)\n[![codecov](https://codecov.io/gh/JuliaArrays/InfiniteArrays.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaArrays/InfiniteArrays.jl)\n[![PkgEval][pkgeval-img]][pkgeval-url]\n[![version](https://juliahub.com/docs/General/InfiniteArrays/stable/version.svg)](https://juliahub.com/ui/Packages/General/InfiniteArrays)\n\n\nA Julia package for representing arrays with infinite dimension sizes, designed to work\nwith other array types. Infinite arrays are by necessity lazy, and so this\npackage is closely linked to [LazyArrays.jl](https://github.com/JuliaArrays/LazyArrays.jl).\n\nThe package currently supports construction, but future versions will include\nsupport for linear algebra operations like matrix multiplication, LU decompositions,\nand QR decompositions.\n\n\nHere are some examples of current functionality:\n\n```julia\njulia\u003e using InfiniteArrays, LinearAlgebra, FillArrays\n\njulia\u003e x = Ones(∞) # infinite vector of all ones\nOnes{Float64,1,Tuple{InfiniteArrays.OneToInf{Int64}}} with indices OneToInf():\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n ⋮\n\njulia\u003e cumsum(x) # infinite sum\n1.0:1.0:+∞\n\njulia\u003e exp.(-(1:∞)) .+ 2 # broadcasting supported\nBroadcastArray{Float64,1,Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1},Tuple{InfiniteArrays.OneToInf{Int64}},typeof(+),Tuple{BroadcastArray{Float64,1,Base.Broadcast.Broadcasted{LazyArrays.LazyArrayStyle{1},Tuple{InfiniteArrays.OneToInf{Int64}},typeof(exp),Tuple{InfiniteArrays.InfStepRange{Int64,Int64}}}},Int64}}} with indices OneToInf():\n 2.3678794411714423\n 2.135335283236613\n 2.049787068367864\n 2.018315638888734\n 2.0067379469990856\n 2.0024787521766663\n 2.0009118819655547\n 2.0003354626279024\n 2.0001234098040865\n 2.0000453999297623\n 2.0000167017007904\n 2.000006144212353\n 2.000002260329407\n 2.000000831528719\n 2.0000003059023204\n 2.0000001125351745\n 2.0000000413993773\n 2.00000001522998\n 2.0000000056027964\n 2.0000000020611535\n 2.000000000758256\n 2.0000000002789466\n 2.000000000102619\n 2.000000000037751\n 2.000000000013888\n 2.0000000000051092\n ⋮\n\njulia\u003e Diagonal(1:∞) # combines well with Base arrays\nDiagonal{Int64,InfiniteArrays.InfUnitRange{Int64}} with indices OneToInf()×OneToInf():\n 1  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅  …\n ⋅  2  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  3  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  4  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  5  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  6  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅  …\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  7  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  8  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  9   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  10   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅  11   ⋅   ⋅   ⋅   ⋅  …\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅  12   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅  13   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅  14   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅  15\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅  …\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅  …\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅\n ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅  ⋅   ⋅   ⋅   ⋅   ⋅   ⋅   ⋅  …\n ⋮              ⋮                ⋮                  ⋱\n\n julia\u003e C = cache(Ones(∞)); C[1] = 3; C # Use cache to make mutable\nLazyArrays.CachedArray{Float64,1,Array{Float64,1},Ones{Float64,1,Tuple{InfiniteArrays.InfiniteCardinal{0}}}} with indices OneToInf():\n 3.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n 1.0\n ⋮\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliaarrays%2Finfinitearrays.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliaarrays%2Finfinitearrays.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliaarrays%2Finfinitearrays.jl/lists"}