# Bicgstabl from IterativeSolvers.jl gives different result every time

**URL:** <https://discourse.julialang.org/t/bicgstabl-from-iterativesolvers-jl-gives-different-result-every-time/70527>\
**Category:** General Usage\
**Tags:** question, package\
**Created:** [October 28, 2021, 1:49am UTC](https://discourse.julialang.org/t/bicgstabl-from-iterativesolvers-jl-gives-different-result-every-time/70527 "2021-10-28T01:49:51Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![antoine-levitt](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/antoine-levitt/32/4008_2.png) [@antoine-levitt](https://discourse.julialang.org/u/antoine-levitt)\
**Post date:** [October 28, 2021, 6:05am UTC](https://discourse.julialang.org/t/bicgstabl-from-iterativesolvers-jl-gives-different-result-every-time/70527/6 "2021-10-28T06:05:40Z")

</div>

Imposing deterministic results in parallel programs is very hard. It is not sloppy to be aware of the error model of your computer and programming to it. Of course it’s nice to avoid variability when you can but it’s a losing battle so you might as well just give up and embrace it. The way I think about it is that every floating point operation on a computer produces a random relative error of size eps(). Similarly I think of solvers as giving a random result whose residual is smaller than the tolerance I give it. It’s not completely accurate, but it’s a good mental model.

---

_[View the full topic](https://discourse.julialang.org/t/bicgstabl-from-iterativesolvers-jl-gives-different-result-every-time/70527)._
