#E5FF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE None&'.HSXF NoneSGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     None  None Safe8None.k qlinearMacro constructor for [matrix| 1 2; 3 4 |][1,2][3,4]:t [matrix| 1 2; 3 4|],[matrix| 1 2; 3 4|] :: Num a => Matrix 2 2 aqlinearMacro constructor for .[vector| 1 2 3 4 |][1][2][3][4]:t [vector| 1 2 3 4 |]*[vector| 1 2 3 4 |] :: Num a => Vector 4 aNone None=?SXk( qlinearPolymirphic identity matrixdIdentity matrix can udjust to other matrix with known size. If size is unknown, just set it yourselfe :: Identity 4 Int [1,0,0,0] [0,1,0,0] [0,0,1,0] [0,0,0,1]e ~+~ [matrix| 1 2; 3 4 |][2,2][3,5]  None.SXkn qlinearMacro constructor for operator[operator| (x, y) => (y, x) |][0,1][1,0]:[operator| (x, y) => (2 * x, y + x) |] ~*~ [vector| 3 4 |][6][7]Do note,constructor  doesn't prove4 linearity. It just builds matrix of given operator. None  None.HSXk qlinear4Typesafe index. To construct it use TypeApplications Index @1 @3 Index 1 3:t Index @1 @3Index @1 @3 :: Index 1 3  None =?HSUVXk"sqlinearDeterminant of matrixdet [matrix| 1 0; 0 1|]1det [matrix| 1 3; 4 2|]-10qlinearTypesafe algebraic complement2To use it you have to know i and j at compile time6algebraicComplement [matrix| 1 2; 3 4 |] (Index @1 @1)4AalgebraicComplement [matrix| 1 2 3; 4 5 6; 7 8 9 |] (Index @1 @1)-3qlinearAlgebraic complement.0Use it if you don't know indices at compile time0algebraicComplement' [matrix| 1 2; 3 4 |] (1, 1)Just 42algebraicComplement' [matrix| 1 2; 3 4 |] (34, 43)Nothing;algebraicComplement' [matrix| 1 2 3; 4 5 6; 7 8 9 |] (1, 1) Just (-3)qlinearAdjugate matrixadjugate [matrix| 1 2; 3 4|][4,-2][-3,1] None .=?HVk#"None .=?HVk#')(')(None$NoneSX4 :qlinearAdds two matrices#[matrix| 1 2 |] ~+~ [matrix| 2 3 |][3,5];qlinear"Multuplies all elements of matrix m by k5 *~ [matrix| 1 2 3; 4 5 6 |] [5,10,15] [20,25,30]<qlinearAdds a to all elements of matrix m[matrix| 1 2 3 |] ~+ 8 [9,10,11]=qlinearFlipped ~+ :)>qlinear'Substracts second matrix from first one'[matrix| 1 2 3 |] ~-~ [matrix| 3 2 1 |][-2,0,2]?qlinearMultiplies two matrix)[matrix| 1 2; 3 4 |] ~*~ [matrix| 1; 2 |][5][11]@qlinear#Generalized matrices multiplicationAqlinearGeneralized matrices additionBqlinearTransposes matrix"transpose [matrix| 1 2 3; 4 5 6 |][1,4][2,5][3,6]CqlinearNagates all elements of matrixneg [matrix| 1 2 3 |] [-1,-2,-3]DqlinearLength of vectorlength [vector| 3 4 |]5.0length [vector| 1 1 |]1.4142135623730951EqlinearInverted matrixinverted [matrix| 1 2; 3 4|]Just [-2.0,1.0] [1.5,-0.5]inverted [matrix| 1 4; 1 4|]Nothing;qlinearkqlinearm@qlinear operation "*"qlinear operation "+"Aqlinear operation "+":;<=>?@ABCDED@CBAE;?<=:>None4 :;<=>?@ABCDE!     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV WXYZ[\Z[]Z[^Z[_Z[`ZabZacZdeZdfZdgZdhZdiZdjZdkZdlZdmZdnZdoZdpZdqZdrZdsZdtZduZdvZdwZdxZdyZdzZd{Zd|Zd}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZZZZ      !" # $ % & ' ( ) * +   , - . / 0 1 2&$3456789qlinear-0.1.0.1-inplaceQLinear.MatrixQLinear.Constructor.MatrixQLinear.IdentityQLinear.Constructor.Operator QLinear.IndexQLinear.OperationsQLinear.Integration.Linear.FromQLinear.Integration.Linear.ToInternal.MatrixInternal.Quasi.ParserInternal.Quasi.Operator.ParserInternal.Quasi.Matrix.ParserInternal.Quasi.QuasiInternal.Quasi.Matrix.QuasiMatrixVectorInternal.Quasi.Operator.QuasiInternal.DeterminantQLinearsizevaluematrixvector HasIdentityzerooneIdentitye$fHasIdentityaoperatorIndex $fShowIndexdetalgebraicComplementalgebraicComplement'adjugate FromLinearQ fromLinear$fFromLinearV4$fFromLinearV40$fFromLinearV41$fFromLinearV42$fFromLinearV3$fFromLinearV30$fFromLinearV31$fFromLinearV32$fFromLinearV2$fFromLinearV20$fFromLinearV21$fFromLinearV22$fFromLinearV1$fFromLinearV10$fFromLinearV11$fFromLinearV12ToLinearLtoLinear$fToLinearMatrix$fToLinearMatrix0$fToLinearMatrix1$fToLinearMatrix2$fToLinearMatrix3$fToLinearMatrix4$fToLinearMatrix5$fToLinearMatrix6$fToLinearMatrix7$fToLinearMatrix8$fToLinearMatrix9$fToLinearMatrix10$fToLinearMatrix11$fToLinearMatrix12$fToLinearMatrix13$fToLinearMatrix14~+~*~~++~~-~~*~mulMatricesWithzipMatricesWith transposeneglengthinvertedghc-prim GHC.TypesCharbase Data.Char isSeparatorisNumberisMarkisLetter digitToIntGHC.Read readLitChar lexLitChar GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlphaisSymbol isPunctuation isHexDigit isOctDigitisDigitisSpace isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryFormatControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparator Surrogate PrivateUse NotAssignedGHC.CharchrGHC.Show intToDigit showLitCharGHC.Baseordparsec-3.1.14.0Text.Parsec.CharstringsatisfyanyCharcharoctDigithexDigitdigitletteralphaNumloweruppertab endOfLinecrlfnewlinespacespacesnoneOfoneOfText.Parsec.Combinator parserTraced parserTracemanyTill notFollowedByeofanyTokenchainr1chainl1chainlchainrcountendByendBy1sepEndBy sepEndBy1sepBy1sepBymany1 skipMany1betweenoptional optionMaybeoptionchoiceText.Parsec.Prim updateStatesetState modifyStateputStategetStateupdateParserStatesetParserStategetParserStatesetInput setPositiongetInput getPosition parseTest runParser runParserTrunPrunPT manyAccumskipManymany tokenPrimEx tokenPrimtoken lookAheadtrytokenslabelslabel<|> parserPlus parserZero parserFailmergeErrorReply parserBind parserReturn parsecMapmkPT runParsecT unexpectedsysUnExpectError unknownErrorParsecTParsecConsumedEmptyReplyErrorOkState stateInputstatePos stateUserStreamunconsText.Parsec.ErrorshowErrorMessages mergeErrorsetErrorMessage setErrorPosaddErrorMessagenewErrorMessagenewErrorUnknownerrorIsUnknown errorMessageserrorPos messageStringMessage SysUnExpectUnExpectExpect ParseErrorText.Parsec.PossetSourceColumn setSourceLine setSourceNameincSourceColumn incSourceLine sourceColumn sourceLine sourceName SourceNameLineColumn SourcePosParserparse satisfyOneOfexprchar'var definitionlambdas parameterslineunitnum inBracketsnestedisNotDefinedAsunwrap checkSizematrixOfOperatorunsafeAlgebraicComplementcrosscut'cut