Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gha3mi/forinv
ForInv - A Fortran library for inverse and pseudo-inverse calculations.
https://github.com/gha3mi/forinv
fortran fortran-package-manager inverse pseudoinverse svd
Last synced: about 1 month ago
JSON representation
ForInv - A Fortran library for inverse and pseudo-inverse calculations.
- Host: GitHub
- URL: https://github.com/gha3mi/forinv
- Owner: gha3mi
- License: bsd-3-clause
- Created: 2023-06-19T13:51:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-13T09:57:09.000Z (about 1 year ago)
- Last Synced: 2023-12-13T10:50:23.296Z (about 1 year ago)
- Topics: fortran, fortran-package-manager, inverse, pseudoinverse, svd
- Language: Fortran
- Homepage:
- Size: 658 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![GitHub](https://img.shields.io/badge/GitHub-ForInv-blue.svg?style=social&logo=github)](https://github.com/gha3mi/forinv)
[![Version](https://img.shields.io/github/v/tag/gha3mi/forinv?color=blue&logo=github&style=flat)](https://github.com/gha3mi/forinv/releases)
[![Documentation](https://img.shields.io/badge/ford-Documentation%20-blueviolet.svg)](https://gha3mi.github.io/forinv/)
[![License](https://img.shields.io/github/license/gha3mi/forinv?color=green)](https://github.com/gha3mi/forinv/blob/main/LICENSE)
[![Build](https://github.com/gha3mi/forinv/actions/workflows/ci.yml/badge.svg)](https://github.com/gha3mi/forinv/actions/workflows/ci.yml)**ForInv**: A Fortran library for inverse and pseudo-inverse calculations.
## Requirements
To use the `forinv` module, you need the following:- Fortran compiler
- LAPACK or MKL## fpm dependency
If you want to use `ForInv` as a dependency in your own fpm project,
you can easily include it by adding the following line to your `fpm.toml` file:```toml
[dependencies]
forinv = {git="https://github.com/gha3mi/forinv.git"}
```## Usage
Here is an example of how to use the `forinv` module in your Fortran code:
```fortran
program mainuse kinds
use forinv, only: invimplicit none
! Declare variables
real(rk), dimension(:, :), allocatable :: A, A_inv! Initialize matrix A
...! Call pseudoinverse function
A_inv = inv(A)end program main
```## How to run tests and examples
**Clone the repository:**
You can clone the `ForInv` repository from GitHub using the following command:
```shell
git clone https://github.com/gha3mi/forinv.git
``````shell
cd forinv
```**Run tests:**
To set the stack size to unlimited, use the following command: `ulimit -s unlimited`.
```shell
fpm @gfortran-test
``````shell
fpm @ifort-test
``````shell
fpm @ifx-test
``````shell
fpm @nvfortran-test
```## API documentation
The most up-to-date API documentation for the master branch is available
[here](https://gha3mi.github.io/forinv/).
To generate the API documentation for `ForInv` using
[ford](https://github.com/Fortran-FOSS-Programmers/ford) run the following
command:```shell
ford ford.yml
```## Contributing
Contributions to `ForInv` are welcome! If you find any issues or would like to suggest improvements, please open an issue.