https://github.com/hpac/matrixgenerator.jl
https://github.com/hpac/matrixgenerator.jl
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hpac/matrixgenerator.jl
- Owner: HPAC
- License: gpl-3.0
- Created: 2017-08-07T14:23:33.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-12-13T11:10:34.000Z (over 6 years ago)
- Last Synced: 2025-02-07T15:45:22.638Z (over 1 year ago)
- Language: Julia
- Size: 120 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# MatrixGenerator.jl
[](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])
```