<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>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>3</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/chap9.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>../tutorial/chap9.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.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/aboutParallel.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>6</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>

