!/!#       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-HUVgasp9A class for categories. Instances should satisfy the laws f   = f -- (right identity)   f = f -- (left identity) f  (g  h) = (f  g)  h -- (associativity) 9 Safe&',7=>?@APXkgaspMultiplicative monoidgaspModule*gaspAdditive monoidM  !$#"%&'()*-,+./0123456789:;<=>?@ABCDEFGHIJKLMNOPQM7456123./08*-,+()9:;<=>?&'@%ABC!$#"DEFG HIJKLMNO  PQ 777878 7"6)0+6None%&'+,-.1456=>?@AHMSUVXgkD gasp0View of the matrix as a composition of functors.gasp/Matrix type. (w s) is a column. (v s) is a row.gasp=Make a Euclidean vector out of a traversable functor. (The p)gasp/Representation of vector as traversable functorgaspHadamard productgaspCross product in 3 dimensions +https://en.wikipedia.org/wiki/Cross_productgaspFVector scaling. If Module a (f a), then (*^) must be the same as (*<).gaspTensor productgasp3d rotation around given axisgasp%3d rotation mapping the direction of from to that of to997       !"#$%&'()*+,-./0122344566789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#gasp-1.3.0.0-Jrb6xwcDlrXHUK8885R7LeAlgebra.CategoryAlgebra.ClassesAlgebra.LinearCategoryCon.id$fCategoryTYPE->IntegralquotremquotRem toIntegerEuclideanDomain stdAssociatestdUnit normalizedivmoddivModField fromRationalDivisionrecip/^Ring fromIntegerPreRingSemiRingMultiplicative*one^+Module*^Group-negatemultAbelianAdditive DecidableZeroisZero TestEqual=.=Additive+zerotimes ExponentialfromExponentialProduct fromProductSumfromSumNatural timesDefaultnameLaw law_zero_plus law_plus_zerolaw_plus_assoc law_times laws_additivesumlaw_decidable_zero law_plus_commlaws_abelian_additive multDefaultlaw_negate_minuslaw_mult laws_grouplaws_abelian_grouplaw_module_zerolaw_module_onelaw_module_sumlaw_module_sum_leftlaw_module_mul laws_moduleproductfromIntegerDefaultgcd ifThenElse $fBinarySum$fAdditiveComplex$fAdditiveRatio $fAdditiveMap$fSemigroupSum $fMonoidSum$fTestEqualMap$fTestEqualInt$fDecidableZeroMap$fDecidableZeroFloat$fDecidableZeroDouble$fDecidableZeroInt$fDecidableZeroWord8$fDecidableZeroWord16$fDecidableZeroWord32$fDecidableZeroCInt$fDecidableZeroInteger$fAbelianAdditiveComplex$fAbelianAdditiveRatio$fAbelianAdditiveMap$fAbelianAdditiveFloat$fAbelianAdditiveDouble$fAbelianAdditiveInt$fAbelianAdditiveCInt$fAbelianAdditiveInteger$fGroupComplex $fGroupRatio $fGroupMap $fGroupFloat $fGroupDouble $fGroupWord8 $fGroupWord16 $fGroupWord32 $fGroupCInt $fGroupInt$fGroupInteger$fMultiplicativeRatio$fMultiplicativeFloat$fMultiplicativeDouble$fMultiplicativeInt$fMultiplicativeWord8$fMultiplicativeWord16$fMultiplicativeWord32$fMultiplicativeCInt$fMultiplicativeInteger$fAdditiveFloat$fAdditiveDouble $fAdditiveInt$fAdditiveCInt$fAdditiveWord8$fAdditiveWord16$fAdditiveWord32$fAdditiveInteger$fMultiplicativeProperty$fMultiplicativeExponential$fMonoidProduct$fSemigroupProduct$fModuleRatioRatio $fModuleaMap$fModuleFloatFloat$fModuleDoubleDouble$fModuleCIntCInt$fModuleIntInt$fModuleIntegerInteger $fRingComplex$fModuleaComplex$fModuleComplexComplex$fMultiplicativeComplex $fRingRatio $fRingFloat $fRingDouble $fRingInt $fRingCInt $fRingInteger$fDivisionRatio$fDivisionFloat$fDivisionDouble$fDivisionExponential$fFieldComplex$fDivisionComplex$fModuleRatioDouble $fFieldRatio $fFieldFloat $fFieldDouble$fEuclideanDomainInt$fEuclideanDomainCInt$fEuclideanDomainInteger$fIntegralInteger $fGenericSumOrthoMatMat2x2Mat3x3FlatfromFlatMatfromMatSqMatV2V3Euclid fromEuclidV3'V2'V1'VNextVZeroInnerProdSpaceinnerVectorR VectorSpacepureMat⊙·sqNormnorm×indexflatMatmatFlat*<<+> matVecMul rotation2dcrossProductMatrix⊗ tensorWithidentitydiagonal rotation3drotationFromTo transposematMul$fApplicativeVZero$fApplicativeVNext$fInnerProdSpaceEuclid$fModulesEuclid $fGroupEuclid$fAbelianAdditiveEuclid$fAdditiveEuclid$fCategory->Mat $fModulesMat $fGroupMat$fAbelianAdditiveMat $fAdditiveMat$fApplicativeFlat$fDivisionOrthoMat$fMultiplicativeOrthoMat$fFunctorVZero$fFoldableVZero$fTraversableVZero $fShowVZero $fEqVZero $fOrdVZero$fFunctorVNext$fFoldableVNext$fTraversableVNext $fShowVNext $fEqVNext $fOrdVNext$fFunctorEuclid$fFoldableEuclid$fTraversableEuclid $fShowEuclid $fEqEuclid $fOrdEuclid$fApplicativeEuclid $fShowMat $fShowFlat $fFunctorFlat$fFoldableFlat