# \#iterative-solvers

**URL:** https://discourse.julialang.org/tag/iterative-solvers/1131.md

[Latest](https://discourse.julialang.org/latest.md) · [Categories](https://discourse.julialang.org/categories.md) · [Tags](https://discourse.julialang.org/tags.md)

---

## [Defining a preconditioner for IterativeSolvers](https://discourse.julialang.org/t/defining-a-preconditioner-for-iterativesolvers/86977)

<div class="topic-metadata">

**Author:** [@Gravlax](https://discourse.julialang.org/u/Gravlax)\
**Replies:** 18\
**Last updated:** [March 20, 2026, 3:10pm UTC](https://discourse.julialang.org/t/defining-a-preconditioner-for-iterativesolvers/86977 "2026-03-20T15:10:30Z")

</div>

Dear all, I would like to solve a linear(ised) system of equations using IterativeSolvers, however I am not sure how to define the preconditioner. The preconditonner is a symmetric positive-definite sparse matrix and t…

---

## [Block matrix linear solve performance](https://discourse.julialang.org/t/block-matrix-linear-solve-performance/129353)

<div class="topic-metadata">

**Author:** [@Karajan](https://discourse.julialang.org/u/Karajan)\
**Replies:** 6\
**Last updated:** [June 15, 2025, 5:41pm UTC](https://discourse.julialang.org/t/block-matrix-linear-solve-performance/129353 "2025-06-15T17:41:51Z")

</div>

Hi there! I have located a bottleneck in my simulations I could use some help with. I think this is mainly a linear algebra problem rather than pure Julia performance, but I know very little about that field so I’m not …

---

## [How to use GPU acceleration to solve linear equation Ax=b](https://discourse.julialang.org/t/how-to-use-gpu-acceleration-to-solve-linear-equation-ax-b/120841)

<div class="topic-metadata">

**Author:** [@automaticvehiclerook](https://discourse.julialang.org/u/automaticvehiclerook)\
**Replies:** 9\
**Last updated:** [October 5, 2024, 5:35am UTC](https://discourse.julialang.org/t/how-to-use-gpu-acceleration-to-solve-linear-equation-ax-b/120841 "2024-10-05T05:35:07Z")

</div>

In my experiment,I want to solve the equation Ax=b on GPU to accelerate the process.I have tried the iterative solver from Kryvol.jl and cuSOLVER,but the GPU is still slower than CPU.Is that normal? using CUDA using Spa…

---

## [Convergence of gmres from IterativeSolvers in minimal examples](https://discourse.julialang.org/t/convergence-of-gmres-from-iterativesolvers-in-minimal-examples/115852)

<div class="topic-metadata">

**Author:** [@Pablo\_Marchant](https://discourse.julialang.org/u/Pablo_Marchant)\
**Replies:** 7\
**Last updated:** [June 23, 2024, 2:55pm UTC](https://discourse.julialang.org/t/convergence-of-gmres-from-iterativesolvers-in-minimal-examples/115852 "2024-06-23T14:55:07Z")

</div>

Hi all, I’m trying to see if I can apply gmres in a domain specific problem I have, where I need to solve a system Ax=b where A is a non-symmetric square block tridiagonal matrix. I have not managed to get this to work,…

---

## [Preconditioner for Block PSD linear system](https://discourse.julialang.org/t/preconditioner-for-block-psd-linear-system/114519)

<div class="topic-metadata">

**Author:** [@mleprovost](https://discourse.julialang.org/u/mleprovost)\
**Replies:** 2\
**Last updated:** [June 22, 2024, 5:17am UTC](https://discourse.julialang.org/t/preconditioner-for-block-psd-linear-system/114519 "2024-06-22T05:17:07Z")

</div>

Hello, I am interested in solving the linear system M x = b with an iterative method, where M is positive definite (PD) with the following block structure: M = \\begin{bmatrix} \\Sigma\_a & 0\\\\ 0 & \\Sigma\_b \\end{bmatrix…

---

## [Using multiple in-place krylov solver from Krylov.jl](https://discourse.julialang.org/t/using-multiple-in-place-krylov-solver-from-krylov-jl/111028)

<div class="topic-metadata">

**Author:** [@erny123](https://discourse.julialang.org/u/erny123)\
**Replies:** 5\
**Last updated:** [April 15, 2024, 6:56am UTC](https://discourse.julialang.org/t/using-multiple-in-place-krylov-solver-from-krylov-jl/111028 "2024-04-15T06:56:22Z")

</div>

I’m trying to solve several linear equations that each change with each step of time. For example, I have a 100x300 grid that I need to solve for every time step. I’m trying to use the in-place solvers from Krylov.jl. …

---

## [Using LinearMaps.jl Inversemap for Preconditioning IterativeSolvers.jl](https://discourse.julialang.org/t/using-linearmaps-jl-inversemap-for-preconditioning-iterativesolvers-jl/110070)

<div class="topic-metadata">

**Author:** [@erny123](https://discourse.julialang.org/u/erny123)\
**Replies:** 1\
**Last updated:** [March 13, 2024, 5:03pm UTC](https://discourse.julialang.org/t/using-linearmaps-jl-inversemap-for-preconditioning-iterativesolvers-jl/110070 "2024-03-13T17:03:40Z")

</div>

I’ve seen some examples of creating a matrix-free method via linear operators, structs, and linear maps for IterativeSolvers.jl and LinearMaps.jl . However, I haven’t seen any examples of creating matrix-free preconditio…

---

## [IterativeSolvers.jl not working as expected with mutating and allocation](https://discourse.julialang.org/t/iterativesolvers-jl-not-working-as-expected-with-mutating-and-allocation/110277)

<div class="topic-metadata">

**Author:** [@erny123](https://discourse.julialang.org/u/erny123)\
**Replies:** 9\
**Last updated:** [March 5, 2024, 9:49pm UTC](https://discourse.julialang.org/t/iterativesolvers-jl-not-working-as-expected-with-mutating-and-allocation/110277 "2024-03-05T21:49:00Z")

</div>

I’m trying to solve a simple linear system. However, it seems like the preallocated versions of any IterativeSolvers.jl functions are either much slower or allocating more memory. Here’s the example: using IterativeSol…

---

## [Using Zygote.jl with IterativeSolvers.jl](https://discourse.julialang.org/t/using-zygote-jl-with-iterativesolvers-jl/107634)

<div class="topic-metadata">

**Author:** [@leespen1](https://discourse.julialang.org/u/leespen1)\
**Replies:** 11\
**Last updated:** [February 25, 2024, 9:08pm UTC](https://discourse.julialang.org/t/using-zygote-jl-with-iterativesolvers-jl/107634 "2024-02-25T21:08:40Z")

</div>

I have a code which solves an initial value problem of ODEs parameterized by a control vector, then uses the solution as an argument to calculate an objective function, which I compute the gradient of (by my own methods…

---

## [How to add other arguments to function turned to LinearOperator?](https://discourse.julialang.org/t/how-to-add-other-arguments-to-function-turned-to-linearoperator/110475)

<div class="topic-metadata">

**Author:** [@erny123](https://discourse.julialang.org/u/erny123)\
**Replies:** 3\
**Last updated:** [February 21, 2024, 9:16pm UTC](https://discourse.julialang.org/t/how-to-add-other-arguments-to-function-turned-to-linearoperator/110475 "2024-02-21T21:16:47Z")

</div>

Trying to write a matrix-free solver using LinearOperators.jl and Krylov.jl However, from this: Introduction to Linear Operators I’m seeing that you can only use functions that follow the 5-argument (and 3) mul! operat…

---

## [Time Dependent Linear Map](https://discourse.julialang.org/t/time-dependent-linear-map/110192)

<div class="topic-metadata">

**Author:** [@leespen1](https://discourse.julialang.org/u/leespen1)\
**Replies:** 5\
**Last updated:** [February 14, 2024, 5:43pm UTC](https://discourse.julialang.org/t/time-dependent-linear-map/110192 "2024-02-14T17:43:04Z")

</div>

I am trying to implement an initial problem. Let the system of ODEs be \\frac{d\\vec{y}}{dt} = A(t;\\vec{\\theta})\\vec{y}, \\quad \\vec{y}(0) = \\vec{y}\_0, \\quad 0 \\leq t \\leq T. The matrix A depends on the time t, as well a…

---

## [How Preconditioners work for multiple eigenpairs](https://discourse.julialang.org/t/how-preconditioners-work-for-multiple-eigenpairs/103456)

<div class="topic-metadata">

**Author:** [@Neo](https://discourse.julialang.org/u/Neo)\
**Replies:** 4\
**Last updated:** [September 3, 2023, 6:16am UTC](https://discourse.julialang.org/t/how-preconditioners-work-for-multiple-eigenpairs/103456 "2023-09-03T06:16:25Z")

</div>

I am using Preconditioners.jl to precondition the eigensolver lobpcg in IterativeSolvers.jl. But the preconditioners didn’t worked for more than one vectors. Any ideas? This works when I need only one eigenpair. using …
