Releases: leftaroundabout/linearmap-family
Releases · leftaroundabout/linearmap-family
v0.3.0.1
http://hackage.haskell.org/package/linearmap-category-0.3.0.1
Make TensorSpace
a subclass of PseudoAffine
.
This has been made possible by a splitoff of the manifolds package into a main part (which actually depends on linearmap-category
) and a small core part, which we now depend on.
v0.2.0.0: Handle the remaining missing-method gaps.
http://hackage.haskell.org/package/linearmap-category-0.2.0.0/
- Changed the handling of constraints like
DualVector (DualVector v) ~ v
. These equality constraints were apparently quite difficult for the compiler to handle (#1). Also, they would often get expanded to something very unreadable in error messages. The new release therefore has encapsulated these constraints in GADTs. - Chose a better representation for the tensor products and dual vectors of
LinearMap
. Previously, the dual of such a map would be stored as a mapping in the inverse direction, but this required some awkward tensor-fmapping and contractions (“tracing out the result”). It also was problematic for the ordering or baseis – if the dual-maps were essentially in transposed order. TheFiniteDimensional
instance did not correctly consider this.
Now we haveDualVector (a+>b) = a ⊗ DualVector b
, which can quite easily (probably also more cache-friendly) be calculated.
v0.1.0.1
http://hackage.haskell.org/package/linearmap-category-0.1.0.1
Bugs in the first release that are fixed now:
pseudoInverse
did not properly do one-sided inverses of injections / surjections, which it rather should if it's called pseudo-inverse!- It did not even handle some degenerate cases of isomorphisms (zero components in decomposition vectors).
- There were quite a lot of straightforward instances missing, in particular
Show
instances. - More thorough testing, especially for the issues mentioned above.