i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 24<=K     Safe-Inferred<=K2 !"#$%&'()*+ !"#$%&'()*++)*'(%&$#"! / !"#$%&'()*+ Safe-Inferred<=KM-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 0, typically just an .1(A list of all possible indices. Unlike indices# in Matrix, this does not need the Matrix5 argument, because the types determine the contents.2^A good way of converting from one index type to another index type, typically in another base.0,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012      "$),-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012 )+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,,-./102$"-,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012      Safe-Inferred 246=HKM!33~ is shown as the contents, without the quotes. One use is a matrix of S, so that you can do show-style functions using fmap.5A 59 is an array with the sized determined uniquely by the type of the index type, ix. 88# looks up an element in the matrix.99+ turns a matrix into an always finite list.::R turns a finite list into a matrix. You often need to give the type of the result.;;R turns a finite list into a matrix. You often need to give the type of the result.<< is a version of 1F that takes a type, for forcing the result type using the Matrix type.=what is the length of a matrix?>> extracts the index/value pairs.AA- is for use to force typing issues, and is 0.BB& returns a matrix filled with indexes.CSame as for lists.DD^ takes a matrix, and calls a function for each element, to give a new matrix of the same size.EE8 creates a matrix out of a mapping from the coordinates.FF is the 2D matrix multiply.GG a 2D matrix.H/return the identity for a specific matrix size.Istack two matrixes I each other.Jstack two matrixes J each other.Kappend two 1-d matrixesL2look at a matrix through a lens to another matrix.M;look at a matrix through a functor lens, to another matrix.Ngrab part of a matrix.Oslice a 2D matrix into rows.Pslice a 2D matrix into columns.Q/join a matrix of matrixes into a single matrix.R/join a matrix of matrixes into a single matrix.S*generate a 2D single row from a 1D matrix.T&generate a 1D matrix from a 2D matrix.U-generate a 2D single column from a 1D matrix.V&generate a 1D matrix from a 2D matrix.WVvery general; required that m and n have the same number of elements, rebundle please.XX- 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 ] 13456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc5"$),-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]15768c9:;<=>?@ABCDEbFGHIJKLMNOPQRSTUVWa`X_34^YZ[\].3457689:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc Safe-Inferred 246=HKMhh^ looks up an element in the sparse matrix. If the element is not found in the sparse matrix, h returns the default value.k%Make a Matrix sparse, with a default zero value.defghijklmnopqrs defghijklmnopdesfghijklmnrqopdefghijklmnopqrs Safe-InferredM.tuvwxyz{|}~"tuvwxyz{|}~"~}|{zyxwvut-tuvwxyz{|}~ Safe-Inferred=KMcommon; numerically boolean.2 !"#$%&'()*+,-.##1 !"#$%&'()*+,-. Safe-InferredM   /       !"#$%&'()*+,--..//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012345677898:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[88\]^_`DabAWZ[cdefghijklmnopqrstuvwxyz{|}~     sized-types-0.3.5.1Data.Sized.VectorData.Sized.Arith Data.Sized.IxData.Sized.MatrixData.Sized.Sparse.MatrixData.Sized.SignedData.Sized.UnsignedData.Sized.SampledBoundstoBounds fromBoundsrangeVectorvector!toListassocssizeboundsindicesixmap transposeidentityrowscolsabovebesideshow'fooseeIn2D showMatrix' $fShowVector $fShowVector0 $fBounds(,) $fBoundsInt$fFunctorVectorAPP0APP1LOGSUCCMULSUBNOTADDX1_X0_X0N1X256X255X254X253X252X251X250X249X248X247X246X245X244X243X242X241X240X239X238X237X236X235X234X233X232X231X230X229X228X227X226X225X224X223X222X221X220X219X218X217X216X215X214X213X212X211X210X209X208X207X206X205X204X203X202X201X200X199X198X197X196X195X194X193X192X191X190X189X188X187X186X185X184X183X182X181X180X179X178X177X176X175X174X173X172X171X170X169X168X167X166X165X164X163X162X161X160X159X158X157X156X155X154X153X152X151X150X149X148X147X146X145X144X143X142X141X140X139X138X137X136X135X134X133X132X131X130X129X128X127X126X125X124X123X122X121X120X119X118X117X116X115X114X113X112X111X110X109X108X107X106X105X104X103X102X101X100X99X98X97X96X95X94X93X92X91X90X89X88X87X86X85X84X83X82X81X80X79X78X77X76X75X74X73X72X71X70X69X68X67X66X65X64X63X62X61X60X59X58X57X56X55X54X53X52X51X50X49X48X47X46X45X44X43X42X41X40X39X38X37X36X35X34X33X32X31X30X29X28X27X26X25X24X23X22X21X20X19X18X17X16X15X14X13X12X11X10X9X8X7X6X5X4X3X2X1SizeaddIndextoIndexIndexall coerceSizeSMatrix NullMatrixfromListmatrixlength//accumzeroOfcoordzipWithforEachforAllmmappendixfmapcropAtcolumnsjoinRows joinColumnsunitRowunRow unitColumnunColumnsquash showMatrixshowAsEshowAsFscanMscanLscanR$fShowS $fShowMatrix$fFoldableMatrix$fTraversableMatrix$fApplicativeMatrix$fFunctorMatrix fromAssocList toAssocListfillprunesparserowSets columnSetsS32S31S30S29S28S27S26S25S24S23S22S21S20S19S18S17S16S15S14S13S12S11S10S9S8S7S6S5S4S3S2SignedtoMatrix fromMatrixU32U31U30U29U28U27U26U25U24U23U22U21U20U19U18U17U16U15U14U13U12U11U10U9U8U7U6U5U4U3U2U1UnsignedSampled mkSampled $fEnumSampled$fFractionalSampled $fRealSampled $fNumSampled $fReadSampled $fShowSampled $fOrdSampled $fEqSampledTFCo:R:APP0X1_TFCo:R:APP0X0_ TFCo:R:APP0X0 TFCo:R:APP0N1TFCo:R:APP1X1_TFCo:R:APP1X0_ TFCo:R:APP1X0 TFCo:R:APP1N1 TFCo:R:LOGX1_ TFCo:R:LOGX0_ TFCo:R:LOGX0TFCo:R:SUCCX1_TFCo:R:SUCCX0_ TFCo:R:SUCCX0 TFCo:R:SUCCN1 TFCo:R:MULxN1TFCo:R:MULxX1_TFCo:R:MULxX0_ TFCo:R:MULxX0 TFCo:R:NOTX1_ TFCo:R:NOTX0_ TFCo:R:NOTX0 TFCo:R:NOTN1 TFCo:R:ADDX0a TFCo:R:ADDaX0TFCo:R:ADDX1_X1_TFCo:R:ADDX1_X0_TFCo:R:ADDX1_N1TFCo:R:ADDX0_X1_TFCo:R:ADDX0_X0_TFCo:R:ADDX0_N1TFCo:R:ADDX0N1TFCo:R:ADDN1X1_TFCo:R:ADDN1X0_TFCo:R:ADDN1N1ghc-prim GHC.TypesIntmkX0_mkX1_$fShowX0$fIxX0 $fBoundedX0 $fShowX1_$fNumX1_ $fEnumX1_$fIxX1_$fOrdX1_$fEqX1_ $fShowX0_$fNumX0_ $fEnumX0_$fIxX0_$fOrdX0_$fEqX0_ $fIntegralX0_ $fRealX0_ $fSizeX0_ $fBoundedX0_TFCo:R:IndexX0_ $fSizeX1_TFCo:R:IndexX1_ $fIntegralX1_ $fRealX1_ $fBoundedX1_$fNumX0$fEnumX0$fRealX0 $fIntegralX0$fSizeX0TFCo:R:IndexX0 $fSize(,,,)TFCo:R:Index(,,,) $fSize(,,)TFCo:R:Index(,,) $fSize(,)TFCo:R:Index(,)$fSize()TFCo:R:Index()baseGHC.ShowshowmkSigned$fBoundedSigned $fBitsSigned $fEnumSigned $fRealSigned $fNumSigned$fIntegralSigned $fReadSigned $fShowSigned $fOrdSigned $fEqSigned mkUnsigned$fSizeUnsigned $fIxUnsignedTFCo:R:IndexUnsigned$fBoundedUnsigned$fBitsUnsigned$fEnumUnsigned$fRealUnsigned $fNumUnsigned$fIntegralUnsigned$fReadUnsigned$fShowUnsigned $fOrdUnsigned $fEqUnsigned