Fortran's libraries: Picard Iteration and PCG method

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!

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

In my list are

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, by Layne T. Watson et al.

Nonlinear Equation Solver with Modern Fortran (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: solving linear, nonlinear equations, integral, ordinary differential equations, … using numerical methods in Fortran, by Carlos Planelles Alemany

Minpack: library for solving nonlinear equations and nonlinear least squares problems, with with CMake makefiles and examples by certik et al.

nonlin: solves systems of nonlinear equations, by jchristopherson

Thank you for your help :slight_smile:

Thank you for your help :slight_smile:

You may also want to consider the hypre library, which is highly performing and though not written in Fortran has Fortran bindings.