war      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"# !"##!"  !""# $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%6return the size (number of possible elements) in type ix. &$add an arbitary index to a specific ix position. ' look at an ix as an (, typically just an . () A list of all possible indices.  Unlike indices# in Matrix, this does not need the Matrix 5 argument, because the types determine the contents. *_A good way of converting from one index type to another index type, typically in another base.  !$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()* !#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$$%&')(*$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'%&'()*++,+/ is shown as the contents, without the quotes. C One use is a matrix of S, so that you can do show-style functions  using fmap. ,-A /-8 is an array with the sized determined uniquely by the  type of the index type, ix. ./00$ looks up an element in the matrix. 11, turns a matrix into an always finite list. 22S turns a finite list into a matrix. You often need to give the type of the result. 33S turns a finite list into a matrix. You often need to give the type of the result. 44 is a version of )G that takes a type, for forcing the result type using the Matrix type. 5 what is the length of a matrix? 66 extracts the index/ value pairs. 7899. is for use to force typing issues, and is 0. ::' returns a matrix filled with indexes. ;Same as for lists. <<_ takes a matrix, and calls a function for each element, to give a new matrix of the same size. ==9 creates a matrix out of a mapping from the coordinates. >> is the 2D matrix multiply. ?? a 2D matrix. @0return the identity for a specific matrix size. Astack two matrixes A each other. Bstack two matrixes B each other. Cappend two 1-d matrixes D3look at a matrix through a lens to another matrix. E<look at a matrix through a functor lens, to another matrix. Fgrab part of a matrix. Gslice a 2D matrix into rows. H slice a 2D matrix into columns. I0join a matrix of matrixes into a single matrix. J0join a matrix of matrixes into a single matrix. K+generate a 2D single row from a 1D matrix. L'generate a 1D matrix from a 2D matrix. M.generate a 2D single column from a 1D matrix. N'generate a 1D matrix from a 2D matrix. OWvery general; required that m and n have the same number of elements, rebundle please. PP- displays a 2D matrix, and is the worker for . , GHCi> matrix [1..42] :: Matrix (X7,X6) Int  [ 1, 2, 3, 4, 5, 6,  7, 8, 9, 10, 11, 12,  13, 14, 15, 16, 17, 18,  19, 20, 21, 22, 23, 24,  25, 26, 27, 28, 29, 30,  31, 32, 33, 34, 35, 36,  37, 38, 39, 40, 41, 42 ]  QRSTU5!$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU+-/.0123456789:;<=>?@ABCDEFGHIJKLMNOP+,QRSTU++,,-/../0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU VWXYZZG looks up an element in the sparse matrix. If the element is not found  in the sparse matrix, Z returns the default value. [\]%Make a Matrix sparse, with a default zero value. ^_`ab VWXYZ[\]^_`ab VWXYZ[\]^_`ab VWWXYZ[\]^_`ab$cdefghijklmnopqrstuvwxyz{|}~"cdefghijklmnopqrstuvwxyz{|}~"~}|{zyxwvutsrqponmlkjihgfedc"cdefghijklmnopqrstuvwxyz{|}~%common; numerically boolean. ###       !"#$%%&&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-.//01023456789:;<=>?@ABCDEFGHIJKLM00NOPQR<ST9UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uvuvtsized-types-0.3.4.0Data.Sized.VectorData.Sized.Arith Data.Sized.IxData.Sized.MatrixData.Sized.Sparse.MatrixData.Sized.SignedData.Sized.UnsignedData.Sized.SampledBoundstoBounds fromBoundsrangeVectorvector!toListassocssizeindicesixmap transposeidentityrowscolsabovebesideseeIn2D showMatrix'APP0APP1LOGSUCCMULSUBNOTADDX1_X0_X0N1X256X255X254X253X252X251X250X249X248X247X246X245X244X243X242X241X240X239X238X237X236X235X234X233X232X231X230X229X228X227X226X225X224X223X222X221X220X219X218X217X216X215X214X213X212X211X210X209X208X207X206X205X204X203X202X201X200X199X198X197X196X195X194X193X192X191X190X189X188X187X186X185X184X183X182X181X180X179X178X177X176X175X174X173X172X171X170X169X168X167X166X165X164X163X162X161X160X159X158X157X156X155X154X153X152X151X150X149X148X147X146X145X144X143X142X141X140X139X138X137X136X135X134X133X132X131X130X129X128X127X126X125X124X123X122X121X120X119X118X117X116X115X114X113X112X111X110X109X108X107X106X105X104X103X102X101X100X99X98X97X96X95X94X93X92X91X90X89X88X87X86X85X84X83X82X81X80X79X78X77X76X75X74X73X72X71X70X69X68X67X66X65X64X63X62X61X60X59X58X57X56X55X54X53X52X51X50X49X48X47X46X45X44X43X42X41X40X39X38X37X36X35X34X33X32X31X30X29X28X27X26X25X24X23X22X21X20X19X18X17X16X15X14X13X12X11X10X9X8X7X6X5X4X3X2X1SizeaddIndextoIndexIndexall coerceSizeSMatrix NullMatrixfromListmatrixlength//accumzeroOfcoordzipWithforEachforAllmmappendixfmapcropAtcolumnsjoinRows joinColumnsunitRowunRow unitColumnunColumnsquash showMatrixshowAsEshowAsFscanMscanLscanR fromAssocList toAssocListfillprunesparserowSets columnSetsS32S31S30S29S28S27S26S25S24S23S22S21S20S19S18S17S16S15S14S13S12S11S10S9S8S7S6S5S4S3S2SignedtoMatrix fromMatrixU32U31U30U29U28U27U26U25U24U23U22U21U20U19U18U17U16U15U14U13U12U11U10U9U8U7U6U5U4U3U2U1UnsignedSampled mkSampledboundsshow'fooghc-prim GHC.TypesIntmkX0_mkX1_baseGHC.ShowshowmkSigned mkUnsigned