<Chapter><Heading> Arrays and Pseudo lists</Heading> <Section><Heading> &nbsp;</Heading> 
<ManSection> <Func Name="Array" Arg="A,f"/> <Description> <P/> Inputs an array <M>A</M> and a function <M>f</M>. It returns the the array obtained by applying <M>f</M> to each entry of <M>A</M> (and leaves <M>A</M> unchanged). <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>4</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="PermuteArray" Arg="A,f"/> <Description> <P/> Inputs an array <M>A</M> of dimension <M>d</M> and a permutation <M>f</M> of degree at most <M>d</M>. It returns the array <M>B</M> defined by <M>B[i1][i2]...[id] = A[f(i1)][f(i2)]...A[f(id)]</M> (and leaves <M>A</M> unchanged). <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayDimension" Arg="A"/> <Description> <P/> Inputs an array <M>A</M> and returns its dimension. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayDimensions" Arg="A"/> <Description> <P/> Inputs an array <M>A</M> and returns its dimensions. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArraySum" Arg="A"/> <Description> <P/> Inputs an array <M>A</M> and returns the sum of its entries. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayValue" Arg="A,x"/> <Description> <P/> Inputs an array <M>A</M> and a coordinate vector <M>x</M>. It returns the value of the entry in <M>A</M> with coordinate <M>x</M>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayValueFunctions" Arg="d"/> <Description> <P/> Inputs a positive integer <M>d</M> and returns an efficient version of the function ArrayValue for arrays of dimension <M>d</M>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayAssign" Arg="A,x,n"/> <Description> <P/> Inputs an array <M>A</M> and a coordinate vector <M>x</M> and an integer <M>n</M>. It sets the entry of <M>A</M> with coordinate <M>x</M> equal to <M>n</M>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayAssignFunctions" Arg="d"/> <Description> <P/> Inputs a positive integer <M>d</M> and returns an efficient version of the function ArrayAssign for arrays of dimension <M>d</M>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ArrayIterate" Arg="d"/> <Description> <P/> Inputs a positive integer <M>d</M> and returns a function ArrayIt(Dimensions,f). This function inputs a list Dimensions of <M>d</M> positive integers and also a function <M>f(x)</M>. It applies the function <M>f(x)</M> to each integer list <M>x</M> of length <M>d</M> with entries <M>x[i]</M> in the range [1..Dimension[i]]. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="BinaryArrayToTextFile" Arg="file,A"/> <Description> <P/> Inputs a string containing the address of a file, and an array <M>A</M> of 0s and 1s. The array represents a pure cubical complex. A representation of this complex is written to the file in a format that can be read by the CAPD (Computer Assisted Proofs in Dynamics) software developed by Marian Mrozek and others. <P/> The second input <M>A</M> can also be a pure cubical complex. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="FrameArray" Arg="A"/> <Description> <P/> Inputs an array <M>A</M> and returns the array obtained by appending a 0 to the beginning and end of each "row" of the array. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>1</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="UnframeArray" Arg="A"/> <Description> <P/> Inputs an array <M>A</M> and returns the array obtained by removing the first and last entry in each "row" of the array. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="Add" Arg="L,x"/> <Description> <P/> Let <M>L</M> be a pseudo list of length <M>n</M>, and <M>x</M> an object compatible with the entries in <M>L</M>. If <M>x</M> is not in <M>L</M> then this operation converts <M>L</M> into a pseudo list of length n+1 by adding <M>x</M> as the final entry. If <M>x</M> is in <M>L</M> the operation has no effect on <M>L</M>. <P/><B>Examples:</B> <URL><Link>../tutorial/chap4.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutBogomolov.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutQuandles2.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutQuandles.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutquasi.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>8</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="Append" Arg="L,K"/> <Description> <P/> Let <M>L</M> be a pseudo list and <M>K</M> a list whose objects are compatible with those in <M>L</M>. This operation applies Add(L,x) for each x in <M>K</M>. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutBogomolov.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutParallel.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>3</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="ListToPseudoList" Arg="L"/> <Description> <P/> Inputs a list <M>L</M> and returns the pseudo list representation of <M>L</M>. <P/><B>Examples:</B> 
</Description> </ManSection> </Section> </Chapter>