Skip to content

Backports release 1.12 #1353

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
May 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e62193f
Remove `LinearAlgebra` qualifications in `cholesky.jl`
jishnub Feb 15, 2025
0fa47f6
Avoid materializing `diag` in `Diagonal` `kron` (#1230)
jishnub Feb 27, 2025
b8258de
Reduce `stable_muladdmul` branches in `generic matvecmul!` (#1240)
jishnub Mar 16, 2025
d455b83
fix dispatch to herk (#1247)
araujoms Apr 1, 2025
5e2e777
use smaller matrix size in `peakflops` on 32-bit
JeffBezanson Apr 1, 2025
1efe04a
Only `@noinline` error path in `matmul_size_check` (#1310)
jishnub Apr 26, 2025
a7eea43
Refine column ranges in `_isbanded_impl` (#1267)
jishnub Apr 28, 2025
c816ae2
Fix empty `Tridiagonal` broadcast (#1324)
jishnub Apr 30, 2025
60f547e
`iszero` check in hessenberg setindex (#1327)
jishnub May 1, 2025
6d36322
add missing methods for division of Hessenberg matrices (#1322)
stevengj May 4, 2025
1ee6ec1
Unwrap triangular matrices in broadcast (#1332)
jishnub May 4, 2025
f4bf551
Change `1:size` to `axes` in bidiag mul (#1337)
jishnub May 5, 2025
5dc7640
`Char` uplo in `Bidiagonal` constructor (#1342)
jishnub May 9, 2025
aba980c
Update the docstring of ldiv! (#1344)
WalterMadelim May 11, 2025
150e2fd
Fix scaling block unit triangular matrices
jishnub May 11, 2025
21e4346
Revert "add missing methods for division of Hessenberg matrices (#1322)"
jishnub May 12, 2025
fdfa1a8
Use method deletion instead of custom sysimage (#1312) (#1356)
jishnub May 13, 2025
14c6ad3
Fix multiplication with empty `HessenbergQ` (#1326)
dkarrasch May 1, 2025
380f066
Test: prune old LA based on ENV variable (#1335)
jishnub May 11, 2025
fda7486
Add compat notice for `diagview` (#1355)
mcabbott May 13, 2025
b910d5e
Prune `LinearAlgebra` module in ambiguity test (#1349)
jishnub May 13, 2025
465b5b9
Ensure positive-definite matrix in lapack posv test (#1238)
jishnub May 13, 2025
69fa500
Add diagm example (#1298)
jishnub May 13, 2025
f6d16c2
Copy matrices in `triu`/`tril` if no zero exists for the `eltype` (#1…
jishnub Apr 28, 2025
f137858
Make `fillstored!` public (#1333)
jishnub May 6, 2025
aefab75
Document SingularException throw for inv(::AbstractMatrix) (#1331)
jishnub May 13, 2025
e6e7449
Fix copy for partly initialized unit triangular (#1350)
jishnub May 13, 2025
edca559
log for dense diagonal matrix with negative elements (#1352)
jishnub May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions .buildkite/runtests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ steps:
version: "nightly"
arch: "i686"
command: |
julia --color=yes --project=.ci -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=.ci .ci/create_sysimage_and_run_tests.jl
julia --color=yes --code-coverage=@ .ci/run_tests.jl
agents:
queue: "julia"
os: "linux"
Expand All @@ -40,8 +39,7 @@ steps:
- JuliaCI/julia#v1:
version: "nightly"
command: |
julia --color=yes --project=.ci --code-coverage=@ -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=.ci --code-coverage=@ .ci/create_sysimage_and_run_tests.jl
julia --color=yes --code-coverage=@ .ci/run_tests.jl
agents:
queue: "julia"
os: "linux"
Expand All @@ -55,8 +53,7 @@ steps:
- JuliaCI/julia-coverage#v1:
codecov: true
command: |
julia --color=yes --project=.ci --code-coverage=@ -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=.ci --code-coverage=@ .ci/create_sysimage_and_run_tests.jl
julia --color=yes --code-coverage=@ .ci/run_tests.jl
agents:
queue: "julia"
os: "macos"
Expand All @@ -69,8 +66,7 @@ steps:
- JuliaCI/julia-coverage#v1:
codecov: true
command: |
julia --color=yes --project=.ci --code-coverage=@ -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=.ci --code-coverage=@ .ci/create_sysimage_and_run_tests.jl
julia --color=yes --code-coverage=@ .ci/run_tests.jl
agents:
queue: "julia"
os: "windows"
Expand Down
222 changes: 0 additions & 222 deletions .ci/Manifest.toml

This file was deleted.

8 changes: 0 additions & 8 deletions .ci/Project.toml

This file was deleted.

16 changes: 0 additions & 16 deletions .ci/create_sysimage.jl

This file was deleted.

6 changes: 0 additions & 6 deletions .ci/create_sysimage_and_run_docs.jl

This file was deleted.

7 changes: 0 additions & 7 deletions .ci/create_sysimage_and_run_tests.jl

This file was deleted.

10 changes: 10 additions & 0 deletions .ci/run_tests.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
if haskey(ENV, "BUILDKITE")
ncores = Sys.CPU_THREADS
else
ncores = ceil(Int, Sys.CPU_THREADS / 2)
end

proj = abspath(joinpath(@__DIR__, ".."))
cmd = """Base.runtests(["LinearAlgebra"]; propagate_project=true, ncores=$ncores)"""
run(addenv(`$(Base.julia_cmd()) --project=$proj --compiled-modules=existing -e $cmd`,
"JULIA_NUM_THREADS" => 1, "JULIA_PRUNE_OLD_LA" => true))
3 changes: 1 addition & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ jobs:
version: 'nightly'
- name: Generate docs
run: |
julia --color=yes --project=.ci -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=docs -e 'using Pkg; Pkg.instantiate()'
julia --color=yes --project=.ci .ci/create_sysimage_and_run_docs.jl
julia --color=yes --project=docs --compiled-modules=existing docs/make.jl
env:
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31 changes: 29 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,37 @@ This package performs some type piracy and is also included in the sysimage, whi
To use a development version of this package, you can choose one of the following methods:

1. **Change the UUID in the project file and load the package:**
This approach will produce warnings and may lead to method ambiguities between the development version and the one in the sysimage, but it can be used for basic experimentation.

Change the UUID line in `Project.toml` as
```diff
- uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+ uuid = "27e2e46d-f89d-539d-b4ee-838fcccc9c8e"
```

Start `julia` as
```console
JULIA_PRUNE_OLD_LA=true julia +nightly --compiled-modules=existing --project
```
where it is assumed that one is already within the `LinearAlgebra` directory (otherwise, adjust
the project path accordingly). The `julia +nightly` command above assumes that `juliaup` is being used
to launch `julia`, but one may substitute this with the path to the julia executable.

Within the `julia` session, load the `LinearAlgebra` module after pruning the one in the sysimage. This may be done as
```julia
include("test/prune_old_LA.jl") && using LinearAlgebra
```

Note that loading the test files in the REPL will automatically carry out the pruning to ensure that the development version of the package is used in the tests.

If you are contributing to the repo using this method, it may be convenient to ignore the local changes to `Project.toml` by running
```console
git update-index --skip-worktree Project.toml
```

2. **Build Julia with the custom `LinearAlgebra` commit:**
Modify the commit in `stdlib/LinearAlgebra.version` and build Julia.

Modify the commit in [`stdlib/LinearAlgebra.version`](https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra.version) and build Julia. This requires one to push the development branch
to `GitHub` or an equivalent platform.

3. **Build a custom sysimage with the new `LinearAlgebra`:**
- Install `PackageCompiler`.
Expand Down
4 changes: 4 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
withenv("JULIA_PRUNE_OLD_LA" => "true") do
include("../test/prune_old_LA.jl")
end

using LinearAlgebra
using Documenter: DocMeta, makedocs, deploydocs, HTML

Expand Down
Loading