5.~      !"#$%&'()*+,-./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:;<=DRI+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 diagonal.IJKLM"upper left corner of the submatrix$bottom right corner of the submatrixNOPdiagonalQ default valuediagonalR default valueSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvD  !"#$%&'IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstDIJ  "$ !K#%&LNMOPQRSTWUVXYZ[\]^_`abcdefghijklmnopqrst'-IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv None{C   !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst{{{ None|C   !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst||| None}C   !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst}}} !"#$%&'()*+,-./01234456789:;<=.>?@AABCDEFGHIJKL    M N O P Q R S T U V 6 5 W X Y Z [ 8 \ ] ^ _ ` a b c d 7 e f g h i j k l m n o p q r s t u v w x   yyz{%matrices-0.4.4-AXQCu0PJRRs31meNobWJY9Data.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 isSymmetricforcefoldlmapMmapM_forMforM_zipWith3zipWith4zipWith5zipWith6izipWith izipWith3 izipWith4 izipWith5 izipWith6zip3zip4zip5zip6zipWithM zipWithM_unzipunzip3unzip4unzip5unzip6sequence sequence_generate$fMatrixMatrixva$fNFDataMatrix $fShowMatrix $fReadMatrix $fEqMatrix$fGenericMatrixidxbinarySearchByBounds