Skip to content

A Fortran library to practice and learn fundamental linear algebra numerical methods

Notifications You must be signed in to change notification settings

ejovo13/formath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Formath

Ubuntu macOS Windows

Formath is a Fortran library that implements a framework for computing fundamental linear algebra routines like QR decomposition, vector operations (projections, householder transformations), Iterative and Direct eigenvalue methods.

Formath contains two base derived types, the vector (rank1 array), and matrix (rank1 array of vectors). These based types allow for the rigourous definition of a vector, including some basic operators defined on vectors.

A Matrix object allows certain Linear Algebra algorithms to be called from and object-oriented interface. Implementing these fundamental routines from the ground up is a necessary exercise to intimately know these algorithms.

Build

Formath has no dependencies and can be built using cmake. Formath was succesfully built on my linux machine when using gfortran.

During the build process, bin, lib, and modules directories will get built. Upon installation (calling make install) the Formath library will install the binaries and libraries in standard GNU locations under /usr/local/ as the CMAKE_INSTALL_PREFIX. Installation will also install Cmake package config files so that Formath can be used flawlessly in other Cmake projects. An example gist of using Formath in a different project is here.

Documentation

Complete documentation generated with FORD is hosted here.

Tests

After having build Formath with cmake, call make test to assure that all the programs compile and run properly.

FPM

Formath is currently incompatible with the work-in-prograss Fortran Packaging Manager, fpm. I hope to make this compatible with FPM soon.

About

A Fortran library to practice and learn fundamental linear algebra numerical methods

Resources

Stars

Watchers

Forks

Packages

No packages published