! u`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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@AHVmatrices.Create a mutable matrix without initializationmatricesDerived methodsNone >@AHSVX!) matrices/Default algorithm is O((m*n) * O(unsafeIndex)). matrices:Extract a row. Default algorithm is O(n * O(unsafeIndex)).matrices=Extract a column. Default algorithm is O(m * O(unsafeIndex)).matricesHExtract the diagonal. Default algorithm is O(min(m,n) * O(unsafeIndex)).matricesDerived methodsReturn the number of rowsmatricesReturn the number of columnsmatricesIndexingmatrices*O(m*n) Create a list by concatenating rowsmatricesO(m*n) Matrix constructionmatrices`O(m*n) Create matrix from list of lists, it doesn't check if the list of list is a valid matrixmatricesO(m*n) Create matrix from rowsmatricesExtract a row. matricesO(m) Return the rows!matricesExtract a row."matricesO(m*n) Return the columns#matricesO(m*n) List of listsmatricesnumber of columnsmatricesrow list   !"#$   !"#$None=>?@A"%matricesmutable matrix %&' %&'None 7=>?@AHV0_ *matrices,Row-major matrix supporting efficient slice.,matrices!O(m*n) Create matrix from columns-matrices$O(m*n) Convert different matrix type.matricesO(1) Extract sub matrix/matricesO(m*n) Matrix transpose0matrices O(m*n) Create an identity matrix1matricesMO(m*n) Create a square matrix with given diagonal, other entries default to 02matricesIO(m*n) Create a rectangular matrix with default values and given diagonal:matrices^O(m*n) Apply the monadic action to every element and its index, yielding a matrix of results.<matricesVO(m*n) Apply the monadic action to every element and its index, ignoring the results..matrices"upper left corner of the submatrixmatrices$bottom right corner of the submatrix1matricesdiagonal2matrices default valuematricesdiagonal3matrices default valueG   !"#$*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWG*+  ! , "#-/.0123458679:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW$None,H3ematrices.Create a mutable matrix without initialization ^_`abcdef ^_`abcdefNone,HSXDrmatricesO(m*n) Matrix constructiontmatrices`O(m*n) Create matrix from list of lists, it doesn't check if the list of list is a valid matrixumatricesO(m*n) Create matrix from rowsvmatrices!O(m*n) Create matrix from columnsymatricesO(m) Return the rows{matrices*O(m*n) Create a list by concatenating rows|matricesO(m*n) List of lists}matricesO(m*n) Matrix transpose~matricesO(1) Extract sub matrixmatrices O(m*n) Create an identity matrixmatricesMO(m*n) Create a square matrix with given diagonal, other entries default to 0matricesIO(m*n) Create a rectangular matrix with default values and given diagonalmatrices^O(m*n) Apply the monadic action to every element and its index, yielding a matrix of results.matricesVO(m*n) Apply the monadic action to every element and its index, ignoring the results.~matrices"upper left corner of the submatrixmatrices$bottom right corner of the submatrixmatricesdiagonalmatrices default valuematricesdiagonalmatrices default valueEghijklmnopqrstuvwxyz{|}~Eghijklmnopqrstuvwxyz{|}~None 7=>?@AHVJ5matrices"Compressed Sparse Row (CSR) matrixmatricesrConstruct CSR from ascending association list. Items must be sorted first by row index, and then by column index.`matrices%mutable sparse matrix not implemented   !"#  !  "#None,HL%matrices.Create a mutable matrix without initialization None,>HSX\matricesO(m*n) Matrix constructionmatrices`O(m*n) Create matrix from list of lists, it doesn't check if the list of list is a valid matrixmatricesO(m*n) Create matrix from rowsmatrices!O(m*n) Create matrix from columnsmatricesO(m) Return the rowsmatrices*O(m*n) Create a list by concatenating rowsmatricesO(m*n) List of listsmatricesO(m*n) Matrix transposematricesO(1) Extract sub matrixmatrices O(m*n) Create an identity matrixmatricesMO(m*n) Create a square matrix with given diagonal, other entries default to 0matricesIO(m*n) Create a rectangular matrix with default values and given diagonalmatrices^O(m*n) Apply the monadic action to every element and its index, yielding a matrix of results.matricesVO(m*n) Apply the monadic action to every element and its index, ignoring the results.matrices"upper left corner of the submatrixmatrices$bottom right corner of the submatrixmatricesdiagonalmatrices default valuematricesdiagonalmatrices default valueCC None=?@A_[matricesmutable matrix   None 7=>?@AHVam matricesSymmetric square matrix matrices#Upper triangular imap, i.e., i <= j $         $    None,Hc5matrices.Create a mutable matrix without initialization   None,>HSXs(matricesO(m*n) Matrix construction*matrices`O(m*n) Create matrix from list of lists, it doesn't check if the list of list is a valid matrix+matricesO(m*n) Create matrix from rows,matrices!O(m*n) Create matrix from columns/matricesO(m) Return the rows1matrices*O(m*n) Create a list by concatenating rows2matricesO(m*n) List of lists3matricesO(m*n) Matrix transpose4matricesO(1) Extract sub matrix5matrices O(m*n) Create an identity matrix6matricesMO(m*n) Create a square matrix with given diagonal, other entries default to 07matricesIO(m*n) Create a rectangular matrix with default values and given diagonal?matrices^O(m*n) Apply the monadic action to every element and its index, yielding a matrix of results.AmatricesVO(m*n) Apply the monadic action to every element and its index, ignoring the results.4matrices"upper left corner of the submatrixmatrices$bottom right corner of the submatrix6matricesdiagonal7matrices default valuematricesdiagonal8matrices default valueC !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_C !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_a !"#$%&'()*+,-./01,23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde,"#$,.')(*+4&-/%07689:;<=@>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ 1fgghijklmnopqr,   " #  $ , .   ' ) ( * + 4 &  - / % 0 7 6 8 9 : ; < = @ > ? 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 [ \ _    1 s s t u u > ? Q G v w x y z   ,         " #  $ , .   ' ) ( * + 4 &  - / % 0 7 6 8 9 : ; < = @ > ? 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 [ \ _    1{|%matrices-0.5.0-FMMu8pFXACi4pkCcGE7sA2Data.Matrix.Class.MutableData.Matrix.ClassData.Matrix.Generic.MutableData.Matrix.GenericData.Matrix.Mutable Data.MatrixData.Matrix.Sparse.GenericData.Matrix.Storable.MutableData.Matrix.Storable%Data.Matrix.Symmetric.Generic.MutableData.Matrix.Symmetric.GenericData.Matrix.Unboxed.MutableData.Matrix.UnboxedMMatrixdim unsafeRead unsafeWritenew replicatewritereadMatrix unsafeIndexunsafeFromVectorflatten unsafeTakeRowunsafeTakeColumntakeDiagthaw unsafeThawfreeze unsafeFreezeMutablerowscols!toListempty fromVectorfromListmatrix fromListsfromRowstakeRowtoRows takeColumn toColumnstoListscreate$fMMatrixMMatrixva$fNFDataMMatrix fromColumnsconvert subMatrixtridentdiagdiagRect fromBlocks isSymmetricforcemapimapfoldlmapMimapMmapM_imapM_forMforM_zipWithzipWith3zipWith4zipWith5zipWith6izipWith izipWith3 izipWith4 izipWith5 izipWith6zipzip3zip4zip5zip6zipWithM zipWithM_unzipunzip3unzip4unzip5unzip6sequence sequence_generate$fMatrixMatrixva$fNFDataMatrix $fEqMatrix $fShowMatrix $fReadMatrix$fGenericMatrix AssocListCSRZerozero fromAscAL$fZero[] $fZeroDouble $fZeroInt $fMatrixCSRva $fShowCSR $fReadCSR$fEqCSR $fGenericCSR SymMMatrix$fMMatrixSymMMatrixva SymMatrix$fMatrixSymMatrixva$fShowSymMatrix$fReadSymMatrix$fGenericSymMatrix $fEqSymMatrixD:R:MutableCSR