Skip to content

Duality of view between named variables and flat vectors in Julia

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

oschulz/ValueShapes.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ValueShapes.jl

Documentation for stable version Documentation for development version License Build Status Codecov

Documentation

ValueShapes provides Julia types to describe the shape of values, like scalars, arrays and structures.

Shapes provide a generic way to construct uninitialized values (e.g. multidimensional arrays) without using templates.

Shapes also act as a bridge between structured and flat data representations: Mathematical and statistical algorithms (e.g. optimizers, fitters, solvers, etc.) often represent variables/parameters as flat vectors of nameless real values. But user code will usually be more concise and readable if variables/parameters can have names (e.g. via NamedTuples) and non-scalar shapes. ValueShapes provides a duality of view between the two different data representations.

See the documentation for details:

ValueShapes is designed to compose well with ElasticArrays, ArraysOfArrays and TypedTables (and similar table packages). ValueShapes package has some overlap in functionality with TransformVariables, but provides a duality of view instead of transformations (and therefore uses data views instead of data copies, where possible).