dot package:lapack

forVector2 number_ $ \xs ys ->
Vector.dot xs ys
==
Matrix.multiply (Matrix.singleRow xs) (Matrix.singleColumn ys) ! ((),())
QC.forAll (QC.choose (1,100)) $ \dim ->
QC.forAll (QC.choose (0, dim-1)) $ \i ->
QC.forAll (QC.choose (0, dim-1)) $ \j ->
Vector.dot
(Vector.unit (shapeInt dim) i)
(Vector.unit (shapeInt dim) j)
==
(fromIntegral (fromEnum (i==j)) :: Number_)