File tree Expand file tree Collapse file tree 3 files changed +29
-26
lines changed Expand file tree Collapse file tree 3 files changed +29
-26
lines changed Original file line number Diff line number Diff line change 1
1
name : CI
2
2
on :
3
- - push
3
+ pull_request :
4
+ branches :
5
+ - main
6
+ push :
7
+ branches :
8
+ - main
4
9
jobs :
5
10
test :
6
- name : Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
7
- runs-on : ${{ matrix.os }}
11
+ runs-on : ubuntu-latest
8
12
strategy :
9
13
matrix :
14
+ group :
15
+ - All
10
16
version :
11
17
- ' 1'
12
18
- ' 1.6'
13
- os :
14
- - ubuntu-latest
15
- arch :
16
- - x64
17
- group :
18
- - Core
19
19
steps :
20
20
- uses : actions/checkout@v2
21
21
- uses : julia-actions/setup-julia@v1
22
22
with :
23
23
version : ${{ matrix.version }}
24
- arch : ${{ matrix.arch }}
25
24
- uses : actions/cache@v1
26
25
env :
27
26
cache-name : cache-artifacts
38
37
- uses : codecov/codecov-action@v1
39
38
with :
40
39
file : lcov.info
41
- docs :
42
- name : Documentation
43
- runs-on : ubuntu-latest
44
- steps :
45
- - uses : actions/checkout@v2
46
- - uses : julia-actions/setup-julia@latest
40
+ - uses : coverallsapp/github-action@master
47
41
with :
48
- version : ' 1'
49
- - name : Install dependencies
50
- run : julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
51
- - name : Build and deploy
52
- env :
53
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
54
- DOCUMENTER_KEY : ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
55
- run : julia --project=docs/ docs/make.jl
42
+ github-token : ${{ secrets.GITHUB_TOKEN }}
43
+ path-to-lcov : ./lcov.info
Original file line number Diff line number Diff line change 1
1
name = " LinearSolve"
2
2
uuid = " 7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
3
3
authors = [" SciML" ]
4
- version = " 1.13 .0"
4
+ version = " 1.14 .0"
5
5
6
6
[deps ]
7
7
ArrayInterface = " 4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
Original file line number Diff line number Diff line change @@ -19,10 +19,12 @@ Pardiso.jl's methods are also known to be very efficient sparse linear solvers.
19
19
20
20
As sparse matrices get larger, iterative solvers tend to get more efficient than
21
21
factorization methods if a lower tolerance of the solution is required.
22
+
22
23
IterativeSolvers.jl uses a low-rank Q update in its GMRES so it tends to be
23
24
faster than Krylov.jl for CPU-based arrays, but it's only compatible with
24
25
CPU-based arrays while Krylov.jl is more general and will support accelerators
25
- like CUDA.
26
+ like CUDA. Krylov.jl works with CPUs and GPUs and tends to be more efficient than other
27
+ Krylov-based methods.
26
28
27
29
Finally, a user can pass a custom function ofr the linear solve using
28
30
` LinearSolveFunction() ` if existing solvers are not optimal for their application.
@@ -161,3 +163,16 @@ KrylovJL(args...; KrylovAlg = Krylov.gmres!,
161
163
gmres_restart= 0 , window= 0 ,
162
164
kwargs... )
163
165
```
166
+
167
+ ### KrylovKit.jl
168
+
169
+ - ` KrylovKitJL_CG(args...;kwargs...) ` : A generic CG implementation
170
+ - ` KrylovKitJL_GMRES(args...;kwargs...) ` : A generic GMRES implementation
171
+
172
+ The general algorithm is:
173
+
174
+ ``` julia
175
+ function KrylovKitJL (args... ;
176
+ KrylovAlg = KrylovKit. GMRES, gmres_restart = 0 ,
177
+ kwargs... )
178
+ ```
You can’t perform that action at this time.
0 commit comments