# Fortran's libraries: Picard Iteration and PCG method

**URL:** <https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517>\
**Category:** Help\
**Created:** [April 6, 2023, 7:11pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517 "2023-04-06T19:11:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sshatanawi](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@sshatanawi](https://fortran-lang.discourse.group/u/sshatanawi)\
**Post date:** [April 6, 2023, 7:11pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517/1 "2023-04-06T19:11:06Z")

</div>

Hello everyone,

Does Fortran have inbuilt library for solving system of linear/ nonlinear equations using Picard iteration and Precondition Conjugate gradient (PCG) method?  
What other libraries can I use to solve system of linear/nonlinear equations by Fortran?  
Thank you for your help!

---

<div class="post-metadata">

**Author:** ![pniklewicz](https://avatars.discourse-cdn.com/v4/letter/p/848f3c/32.png) [@pniklewicz](https://fortran-lang.discourse.group/u/pniklewicz)\
**Post date:** [April 6, 2023, 8:57pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517/2 "2023-04-06T20:57:54Z")

</div>

you can use IBM ESSL library. It’s avaiable for IBM AiX or LInux on power platform. I’m not sure if it’s include PCG. you can also try [PETSc 3.19 — PETSc 3.19.0 documentation](https://petsc.org/release/)

---

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [April 6, 2023, 11:37pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517/3 "2023-04-06T23:37:33Z")

</div>

> [@sshatanawi](#):
>
> What other libraries can I use to solve system of linear/nonlinear equations by Fortran?

In my [list](https://github.com/Beliavsky/Fortran-code-on-GitHub) are

[HOMPACK90](https://github.com/vtopt/hompack90): solves nonlinear systems of equations by homotopy methods. There are subroutines for fixed point, zero finding, and general homotopy curve tracking problems, utilizing both dense and sparse Jacobian matrices, and implementing three different algorithms: ODE-based, normal flow, and augmented Jacobian. Associated paper: [Algorithm 777: HOMPACK90: a suite of Fortran 90 codes for globally convergent homotopy algorithms](https://dl.acm.org/doi/10.1145/279232.279235), by Layne T. Watson et al.

[Nonlinear Equation Solver with Modern Fortran (nlesolver-fortran)](https://github.com/jacobwilliams/nlesolver-fortran): basic Newton-Raphson type nonlinear equation solver for dense systems with m functions of n input variables, by Jacob Williams. Uses LAPACK routines (dgesv or dgels) to solve the linear system.

[Numerical methods in Fortran](https://github.com/planelles20/numerical-methods-fortran): solving linear, nonlinear equations, integral, ordinary differential equations, … using numerical methods in Fortran, by Carlos Planelles Alemany

[Minpack](https://github.com/certik/minpack): library for solving nonlinear equations and nonlinear least squares problems, with with CMake makefiles and examples by certik et al.

[nonlin](https://github.com/jchristopherson/nonlin): solves systems of nonlinear equations, by jchristopherson

---

<div class="post-metadata">

**Author:** ![sshatanawi](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@sshatanawi](https://fortran-lang.discourse.group/u/sshatanawi)\
**Post date:** [April 10, 2023, 5:33pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517/4 "2023-04-10T17:33:26Z")

</div>

Thank you for your help 🙂

---

<div class="post-metadata">

**Author:** ![sshatanawi](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@sshatanawi](https://fortran-lang.discourse.group/u/sshatanawi)\
**Post date:** [April 10, 2023, 5:34pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517/5 "2023-04-10T17:34:14Z")

</div>

Thank you for your help 🙂

---

<div class="post-metadata">

**Author:** ![pcosta](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/pcosta/32/5504_2.png) [@pcosta](https://fortran-lang.discourse.group/u/pcosta)\
**Post date:** [April 10, 2023, 6:59pm UTC](https://fortran-lang.discourse.group/t/fortrans-libraries-picard-iteration-and-pcg-method/5517/6 "2023-04-10T18:59:31Z")

</div>

> [@sshatanawi](#):
>
> Does Fortran have inbuilt library for solving system of linear/ nonlinear equations using Picard iteration and Precondition Conjugate gradient (PCG) method?  
> What other libraries can I use to solve system of linear/nonlinear equations by Fortran?  
> Thank you for your help!

You may also want to consider the [_hypre_](https://github.com/hypre-space/hypre) library, which is highly performing and though not written in Fortran has Fortran bindings.
