|
| 1 | +# LinearAlgebra |
| 2 | + |
| 3 | +This package is part of the Julia standard library (stdlib). |
| 4 | + |
| 5 | +`LinearAlgebra.jl` provides functionality for performing linear algebra operations in Julia. |
| 6 | + |
| 7 | +## Migrating a Pull Request (PR) from the Julia repository to this repository |
| 8 | + |
| 9 | +Since this package was split out from the main Julia repository, you might have previously made a pull request (PR) to the Julia repo. You can easily migrate such PRs to this repository using the following steps: |
| 10 | + |
| 11 | +1. Add the Julia repository (or your fork) as a new remote repository: |
| 12 | + ```bash |
| 13 | + git remote add juliarepo https://github.com/JuliaLang/julia |
| 14 | + ``` |
| 15 | + |
| 16 | +2. Fetch the commits from the Julia repository: |
| 17 | + ```bash |
| 18 | + git fetch juliarepo |
| 19 | + ``` |
| 20 | + |
| 21 | +3. Cherry-pick the relevant commits made in the Julia repository to this repository: |
| 22 | + ```bash |
| 23 | + git cherry-pick $JULIA_COMMIT |
| 24 | + ``` |
| 25 | + |
| 26 | +## Using development versions of this package |
| 27 | + |
| 28 | +This package performs some type piracy and is also included in the sysimage, which makes using a development version slightly more complex than usual. |
| 29 | + |
| 30 | +To use a development version of this package, you can choose one of the following methods: |
| 31 | + |
| 32 | +1. **Change the UUID in the project file and load the package:** |
| 33 | + 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. |
| 34 | + |
| 35 | +2. **Build Julia with the custom `LinearAlgebra` commit:** |
| 36 | + Modify the commit in `stdlib/LinearAlgebra.version` and build Julia. |
| 37 | + |
| 38 | +3. **Build a custom sysimage with the new `LinearAlgebra`:** |
| 39 | + - Install `PackageCompiler`. |
| 40 | + - Load it and, with this project active, run: |
| 41 | + ```julia |
| 42 | + create_sysimage(["LinearAlgebra"]; sysimage_path="new_sysimage.so", incremental=false, filter_stdlibs=true) |
| 43 | + ``` |
| 44 | + - Start Julia with the custom sysimage: |
| 45 | + ```bash |
| 46 | + julia -Jnew_sysimage.so |
| 47 | + ``` |
0 commit comments