summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/apl/solutions.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/fonts/apl/solutions.tex')
-rw-r--r--Master/texmf-dist/source/fonts/apl/solutions.tex198
1 files changed, 0 insertions, 198 deletions
diff --git a/Master/texmf-dist/source/fonts/apl/solutions.tex b/Master/texmf-dist/source/fonts/apl/solutions.tex
deleted file mode 100644
index 85e37305451..00000000000
--- a/Master/texmf-dist/source/fonts/apl/solutions.tex
+++ /dev/null
@@ -1,198 +0,0 @@
-
-%==========================================================================
-% Solutions to above sample exercises
-%==========================================================================
-
-%\advance\vsize by 3truecm
-
-\choosett{apl}
-
-\noindent
-\header%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\vskip 1cm
-
-\noindent
-As the index of the neutral element we use the index origin \BX@IO@ which
-usually has the value @0@. Then $S(N)=
-\{0,\dots,N-1\}$, given by the vector \IO@N@.
-An example on groups are the cyclic groups $({\bf Z}_n,+)$
-the group tables of which are generated by the \APL\ function @ZNPLUS@:
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL Z_ZNPLUS N;@BXIO
-[1] @BXIO_0
-[2] Z_N@AB(@ION)@SO.+@ION
- @DL
-\endtt
-}\smallskip
-
-\item{1.} The matrices represent binary operations of $S(N)$,
- since they are $N\times N$-matrices with elements from
- $S(N)$. They are all associative and also commutative except for
- the case (b). This can be seen by the function @TEST@:
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL Z_TEST B
-[1] " B IS A BINARY OPERATION. THE FUNCTION RETURNS A BOOLEAN 2-VECTOR
-[2] " (B ASSOCIATIVE, B COMMUTATIVE)
-[3] Z_(&/&/&/B[B;]=B[;B]),&/&/B=@TRB
- @DL
-\endtt
-}\smallskip
-
-\item{2.}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL P_X GPOWER N;I
-[1] " G GLOBAL
-[2] P_@BXIO @DM I_0
-[3] TEST:@GO(N<I_I+1)/0
-[4] P_G[P;X]
-[5] @GOTEST
- @DL
-\endtt
-}\smallskip
-
-\item{3.}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL P_X BGPOWER N;IJ
-[1] " G GLOBAL
-[2] P_@BXIO
-[3] NEXTJ:@GO(0=N,IJ_2@ABN)/0,SQX
-[4] P_G[P;X]
-[5] SQX:X_G[X;X]
-[6] N_(N-IJ)%2
-[7] @GONEXTJ
- @DL
-\endtt
-}
-
-\item{} A comment: if $i_j=0$, then the power is not increased,
- but the square $x^{2^{j+1}}=(x^{2^j})^2$ is computed.
- The number of iterations is $k$; $n = i_0+i_12+\cdots+i_k2^k \ge 2^k$,
- when $i_k \not= 0$, and hence $k \le \log_2(n)$.
- Thus, the complexity is $O(\log_2(n))$.
-\smallskip
-
-\vfill\eject
-\item{4.}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL Z_A GTSGP G
-[1] " RETURNS THE SUBGROUP OF G GENERATED BY A
-[2] Z_,A
-[3] TEST:@GO(&/&/G[Z;Z]@EPZ)/FOUND
-[4] Z_Z UNION G[Z;Z]
-[5] @GOTEST
-[6] FOUND:Z_Z[@GUZ]
- @DL
-\endtt
-}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL Z_A UNION B;V;@BXIO
-[1] V_(,A),,B
-[2] @BXIO_1
-[3] Z_,CLEAN((@ROV),1)@ROV
- @DL
-\endtt
-}
-
-The auxiliary function @CLEAN@ was given earlier.
-\bigskip
-
-\item{5.}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL Z_INV G
-[1] " RETURNS THE VECTOR OF INVERSE ELEMENTS OF G
-[2] (@BXIO=,G)/,(@ROG)@ROG[@BXIO;]
- @DL
-\endtt
-}\smallskip
-
-\item{6.}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL H_A BGTSGP G;Y
-[1] " RETURNS THE SUBGROUP OF G GENERATED BY A
-[2] H_Y_@BXIO
-[3] B:@GO(0=@ROY_(,G[Y;A])MINUS H)/0
-[4] H_H UNION Y
-[5] @GOB
- @DL
-\endtt
-}
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL Z_A MINUS B
-[1] Z_(@NTA@EPB)/A
- @DL
-\endtt
-}\smallskip
-
-\item{7.} If the elements of $G_i$ have been indexed by the interval
- $[0,n_i-1]$, the elements of $G_1\times G_2$ become indexed
- in a natural way by the elements of the Cartesian product
- $[0,n_1-1]\times[0,n_2-1]$. With the bijection
- $(i,j) \mapsto in_2+j:[0,n_1-1]\times[0,n_2-1]
- \longrightarrow[0,n_1n_2-1]$
- (the inverse $k\mapsto((k-(k \bmod n_2))/n_2,k \bmod n_2)$
- selects the quotient and remainder in the division by $n_2$)
- we get $[0,n_1n_2-1]$ as the index set.
-
-\vfill\eject
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- @DL G_G1 PROD G2;@BXIO;I;J;IREM;JREM;N1;N2;N
-[1] N_(N1_(@ROG1)[1])#N2_(@ROG2)[1] @DM I_@BXIO_0
-[2] G_(N,N)@RO0
-[3] JLOOP:J_0
-[4] CORE:G[I;J]_(G1[(I-IREM)%N2;(J-JREM)%N2]#N2)+G2[IREM_N2@ABI;JREM_N2@ABJ]
-[5] @GO(N>J_J+1)/CORE
-[6] @GO(N>I_I+1)/JLOOP
- @DL
-\endtt
-}
-
-Example:
-
-\hskip\parskip\vbox{\hsize=15truecm
-\begintt
- (ZNPLUS 2) PROD ZNPLUS 10
- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
- 1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19 10
- 2 3 4 5 6 7 8 9 0 1 12 13 14 15 16 17 18 19 10 11
- 3 4 5 6 7 8 9 0 1 2 13 14 15 16 17 18 19 10 11 12
- 4 5 6 7 8 9 0 1 2 3 14 15 16 17 18 19 10 11 12 13
- 5 6 7 8 9 0 1 2 3 4 15 16 17 18 19 10 11 12 13 14
- 6 7 8 9 0 1 2 3 4 5 16 17 18 19 10 11 12 13 14 15
- 7 8 9 0 1 2 3 4 5 6 17 18 19 10 11 12 13 14 15 16
- 8 9 0 1 2 3 4 5 6 7 18 19 10 11 12 13 14 15 16 17
- 9 0 1 2 3 4 5 6 7 8 19 10 11 12 13 14 15 16 17 18
-10 11 12 13 14 15 16 17 18 19 0 1 2 3 4 5 6 7 8 9
-11 12 13 14 15 16 17 18 19 10 1 2 3 4 5 6 7 8 9 0
-12 13 14 15 16 17 18 19 10 11 2 3 4 5 6 7 8 9 0 1
-13 14 15 16 17 18 19 10 11 12 3 4 5 6 7 8 9 0 1 2
-14 15 16 17 18 19 10 11 12 13 4 5 6 7 8 9 0 1 2 3
-15 16 17 18 19 10 11 12 13 14 5 6 7 8 9 0 1 2 3 4
-16 17 18 19 10 11 12 13 14 15 6 7 8 9 0 1 2 3 4 5
-17 18 19 10 11 12 13 14 15 16 7 8 9 0 1 2 3 4 5 6
-18 19 10 11 12 13 14 15 16 17 8 9 0 1 2 3 4 5 6 7
-19 10 11 12 13 14 15 16 17 18 9 0 1 2 3 4 5 6 7 8
-\endtt
-}
-
-\end
-
-