úÎP±.      !"#$%&'()*+,- (c) 2014 Kai ZhangBSD3None!"234mutable matrix+row-major matrix supporting efficient slice./01./01None!" 2      2 None  None  None  (c) 2014 Kai ZhangBSD3None!"33doesn't check if the list of list is a valid matrix%Fcreate a square matrix with given diagonal, other entries default to 0&Bcreate a rectangular matrix with default values and given diagonal !"#$%diagonal& default valuenumber of rowsnumber of columnsdiagonal' default value()* !"#$%&'()*# !"$%&'()* !"#$%&'()*None+ !"#$%&'()*+++None, !"#$%&'()*,,, (c) 2014 Kai ZhangBSD3None!" !"#$%&'()* None- !"#$%&'()*---3         !"#$%&'()*+,-./0    $1234matrices-0.2.0Data.Matrix.Generic.TypesData.Matrix.Generic.MutableData.Matrix.MutableData.Matrix.Storable.MutableData.Matrix.Unboxed.MutableData.Matrix.Generic.BaseData.Matrix.StorableData.Matrix.Unboxed Data.MatrixData.Matrix.GenericMMatrixMatrix fromMVectorthaw unsafeThawfreeze unsafeFreezewrite unsafeWriteread unsafeRead replicatenewrowscols! unsafeIndexmatrixflatten fromVectortoListtoRows toColumnsfromRows fromColumnstoLists fromListstakeRow takeColumn subMatrixtridentdiagdiagRect fromBlocks isSymmetricforcemap $fShowMatrix $fShowMatrix0<$>