free-vector-spaces
Version 0.1.5.0 revision 1 uploaded by leftaroundabout.
Package meta
- Synopsis
- Instantiate the classes from the vector-space package with types from linear
- Description
The linear package offers efficient vector types — where vector means element of a free vector space, i.e. fixed-length arrays of numbers. The entire interface of that library is based on this concept of free vectors with a canonical coordinate representation.
While this is practically speaking often useful, it is also
Questionable in terms of conceptual elegance. The idea of a vector has originally not much to do with number-arrays; in physics a vector is just a quantity with magnitude and direction. Only by fixing a basis can a coordinate representation arise from that.
Not as safe as we'd like. The typical linear-algebra languages like Matlab or Fortran are notorious for hard-to spot mistakes that often arise from the total reliance on coordinate representations (every vector/linear map is just a matrix of number).
linear
already avoids most of these problems because it can at least check dimensions at compile-time and usually doesn't need any indices, but some trouble still remains. E.g., two different 3-dimensional spaces are indistinguishable by the type system (unless you wrap one of them in anewtype
, however that also needs to be parameterised on the coordinate type to work with the rest of the library).
The vector-space library has arguably a better (albeit less complete) interface. To gain access to that interface with the more efficient types from
linear
, we here provide the necessary orphan instances.- Author
- Justus Sagemüller
- Bug reports
- n/a
- Category
- Math
- Copyright
- n/a
- Homepage
- https://github.com/leftaroundabout/free-vector-spaces
- Maintainer
- (@) sagemueller $ geo.uni-koeln.de
- Package URL
- n/a
- Stability
- n/a