Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.47 KB

README.md

File metadata and controls

26 lines (19 loc) · 1.47 KB

MatrixGenerator.jl

Build Status

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

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])