úÎ8d1µ€      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  None<=DR.Create a mutable matrix without initializationDerived methodsNone9;<=mutable matrix €    € None :<=DORT/Default algorithm is O((m*n) * O(unsafeIndex)).:Extract a row. Default algorithm is O(n * O(unsafeIndex)).=Extract a column. Default algorithm is O(m * O(unsafeIndex)).HExtract the diagonal. Default algorithm is O(min(m,n) * O(unsafeIndex)).Derived methodsReturn the number of rowsReturn the number of columnsIndexing*O(m*n) Create a list by concatenating rowsO(m*n) Matrix construction `O(m*n) Create matrix from list of lists, it doesn't check if the list of list is a valid matrix!O(m*n) Create matrix from rows"Extract a row.#O(m) Return the rows$Extract a row.%O(m*n) Return the columns&O(m*n) List of lists number of columnsrow list !"#$%&'    !"#$%&'  !"#$%&'  !"#$%&'None 59:;<=DR(Symmetric square matrix+#Upper triangular imap, i.e., i <= j()*+,-. "'()*+,-()  "'*+,-()*+,-.None9:;<=3mutable matrix34567 345 34534567None8 5888None 59:;<=DR:"Compressed Sparse Row (CSR) matrix>rConstruct CSR from ascending association list. Items must be sorted first by row index, and then by column index. 9:;<=>‚?@AB  !"#$%&9:;<=><=:;9  "$> !#%& 9:;<=>‚?@ABNoneG 5GGG NoneH 5HHH None 59:;<=DR I+Row-major matrix supporting efficient sliceK!O(m*n) Create matrix from columnsL$O(m*n) Convert different matrix typeMO(1) Extract sub matrixNO(m*n) Matrix transposeO O(m*n) Create an identity matrixPMO(m*n) Create a square matrix with given diagonal, other entries default to 0QIO(m*n) Create a rectangular matrix with default values and given diagonalY^O(m*n) Apply the monadic action to every element and its index, yielding a matrix of results.[VO(m*n) Apply the monadic action to every element and its index, ignoring the results.0IJKLM"upper left corner of the submatrix$bottom right corner of the submatrixNOPdiagonalQ default valuediagonalR default valueSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxF  !"#$%&'IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvFIJ  "$ !K#%&LNMOPQRSTWUVXYZ[\]^_`abcdefghijklmnopqrstuv'/IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx None}E   !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv}}} None~E   !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv~~~ NoneE   !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvƒ !"#$%&'()*+,-./01234456789:;<=.>?@AABCDEFGHIJKL    M N O P Q R S T U V 5 6 W X Y Z [ \ ] 8 ^ _ ` a b c d e f 7 g h i j k l m n o p q r s t u v w x y z   {{|}%matrices-0.4.5-FxXj00niP442mTwOHbDHPtData.Matrix.Generic.MutableData.Matrix.Symmetric.MutableData.Matrix.GenericData.Matrix.Symmetric!Data.Matrix.Dense.Generic.MutableData.Matrix.MutableData.Matrix.Sparse.GenericData.Matrix.Storable.MutableData.Matrix.Unboxed.MutableData.Matrix.Dense.GenericData.Matrix.StorableData.Matrix.Unboxed Data.MatrixMMatrixdim unsafeRead unsafeWritenew replicatewriteread SymMMatrix$fMMatrixSymMMatrixvaMatrix unsafeIndexunsafeFromVectorflatten unsafeTakeRowunsafeTakeColumntakeDiagthaw unsafeThawfreeze unsafeFreezeMutablerowscols!toListempty fromVectorfromListmatrix fromListsfromRowstakeRowtoRows takeColumn toColumnstoListscreate SymMatrixmapimapzipzipWith$fMatrixSymMatrixva$fShowSymMatrix$fReadSymMatrix$fGenericSymMatrix $fEqSymMatrix$fMMatrixMMatrixva$fNFDataMMatrix AssocListCSRZerozero fromAscAL $fMatrixCSRva$fZero[] $fZeroDouble $fZeroInt $fShowCSR $fReadCSR$fEqCSR $fGenericCSR fromColumnsconvert subMatrixtridentdiagdiagRect fromBlocks isSymmetricforcefoldlmapMimapMmapM_imapM_forMforM_zipWith3zipWith4zipWith5zipWith6izipWith izipWith3 izipWith4 izipWith5 izipWith6zip3zip4zip5zip6zipWithM zipWithM_unzipunzip3unzip4unzip5unzip6sequence sequence_generate$fMatrixMatrixva$fNFDataMatrix $fShowMatrix $fReadMatrix $fEqMatrix$fGenericMatrixidxbinarySearchByBounds