An open API service indexing awesome lists of open source software.

https://github.com/hpac/matrixgenerator.jl


https://github.com/hpac/matrixgenerator.jl

Last synced: 6 months ago
JSON representation

Awesome Lists containing this project

README

          

# MatrixGenerator.jl
[![Build Status](https://travis-ci.org/HPAC/MatrixGenerator.jl.svg?branch=julia_v1.x)](https://travis-ci.org/HPAC/MatrixGenerator.jl)

Julia package supporting benchmarking of functions with automatic export of measurement data to a CSV file and generation of matrices with desired shapes and properties. Requires Julia in version 0.6 or newer.

**Supported matrix shapes:** full, symmetric, upper/lower triangular (non-square as well), diagonal, banded (partial support)

When multiple shape properties are provided, the generator tries to find the largest matrix shape satisfying all requirements. For all example, merging ```General``` matrix type with ```LowerTriangular``` creates a lower triangular matrix.

For diagonal and triangular matrices, the range provided in ```Properties.Random()``` currently gets ignored.

**Support matrix properties:** random, constant, symmetric positive-definite, orthogonal

Short example of using the library
```julia
using MatrixGenerator
# creates 3x3 random matrix with entries in range [0, 1)
generate([3, 3], [Shape.General, Properties.Random])
# creates 3x3 random symmetric matrix with entries in range [-5, 5)
generate([3, 3], [Shape.Symmetric, Properties.Random(-5, 5)])
# creates 5x2 upper triangular constant matrix
generate([5, 2], [Shape.UpperTriangular, Properties.Constant(3.0)])
# 4x4 diagonal and symmetric positive-definite matrix
generate([4,4], [Shape.UpperTriangular, Shape.General, Shape.Diagonal, Properties.SPD])

```