# free-vector-spaces: Instantiate the classes from the vector-space package with types from linear

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 a`newtype`

, 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.

## Modules

[Index] [Quick Jump]

## Downloads

- free-vector-spaces-0.1.5.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)

#### Maintainer's Corner

For package maintainers and hackage trustees

Candidates

- No Candidates

Versions [RSS] | 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.4.0, 0.1.5.0, 0.1.5.1, 0.1.5.2 |
---|---|

Dependencies | base (>=4.6 && <5.1), lens (>=4 && <6), linear (>=1.18 && <1.23), MemoTrie, pragmatic-show (>=0.1.2 && <0.2), template-haskell, vector, vector-space (>=0.11 && <0.18) [details] |

License | BSD-3-Clause |

Author | Justus Sagemüller |

Maintainer | (@) jsag $ hvl.no |

Category | Math |

Home page | https://github.com/leftaroundabout/free-vector-spaces |

Source repo | head: git clone git://github.com/leftaroundabout/free-vector-spaces.git |

Uploaded | by leftaroundabout at 2022-06-01T14:56:06Z |

Distributions | NixOS:0.1.5.2 |

Reverse Dependencies | 4 direct, 4 indirect [details] |

Downloads | 3955 total (24 in the last 30 days) |

Rating | (no votes yet) [estimated by Bayesian average] |

Your Rating | |

Status | Docs available [build log] Last success reported on 2022-06-01 [all 1 reports] |