Algorithms for Concepts in the Theory of Cooperative Games · APL andGames Algorithms for Concepts...
Transcript of Algorithms for Concepts in the Theory of Cooperative Games · APL andGames Algorithms for Concepts...
APL and Games
Algorithms for Concepts in the Theory ofCooperative Games
Joachim Rosenmuller1
1Institute of Mathematical EconomicsIMW
University of BielefeldD–33615 Bielefeld
Germany
May 31, 2011
II � �
We present a coarse untroduction into “A Programming Language” strem-lined as to lead to Programs for Cooperative Games and their solution con-cepts
Contents
1 Preliminaries 1
1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Arrays 5
1 Definitions and “shape” . . . . . . . . . . . . . . . . . . . . 7
3 Functions 13
5 Encode and Decode . . . . . . . . . . . . . . . . . . . . . . . . 14
8 Grade Up and Grade Down . . . . . . . . . . . . . . . . . . . 20
9 The Dyadic Transposition � . . . . . . . . . . . . . . . . . . . 23
4 Operators 29
1 Ravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2 Outer Product . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 Inner Product . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5 The definition of functions: Programming 41
1 The Definition of Functions – Programming in ��� . . . . . 42
6 The Coalitional function 47
1 Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7 Cephoids 55
III
IV � Contents �
1 Faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2 Duality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3 1st Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4 2nd Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5 3rd Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Bibliography 91
Chapter 1
Preliminaries
aplc1
This chapter constitutes a coarse introduction. Basically we assume that thereader is familiar with some basic procedures or operations as offered in any��� textbook. Thus, this chapter does not serve as a foundation for thebeginner; we claim neither completeness nor self evidence.
1
2 � Preliminaries � Chapter I �
1 Basicsaplc1s1
We do not really want to give an introductory course to ��� . Therefore,these preliminaries consist of some rough notes concerning the basic opera-tions or functions. It is hence tacitly assumed that the reader is informedabout basic features of ��� that can be acquired from any textbook andvia trial and error.
��� is A (very condensed) Programming Language. It is based on a set ofsymbols/fonts that reflect functions or operators as well as the arguments ofsuch finctins in a wide sense. Here is the ��� keyboard.
���������� �
�������������Æ
����DZ!�"#$%&'
()*+,-./0123
456789:;<=>?
@ABCDEFGHIJK
LMNOPQRSTUVW
XYZ[\]�^_`ab
cdefghijklmn
�opqrstuvwx
�yz{|}~����
����������
Elementary algebraic operation look quite familiar on first sight. We have(the program answering on the left margin):
�
��
�� ��
��
� Section 1: Basics � 3
� Æ �
�w�
� � �
��
�=�
��
�=`��a
�
�=`� ��a
�w�
However, it is advisable to regard operations like � as functions on reals orintegers, cartesian products of reals, etc. E.g., � : � × � → � suggestsan obvious function in 2 variables; of course the computer does not know“reals”, but for our purpose it is convenient not to emphasize this deficiency.
Chapter 2
Arrays
aplc2
Within this chapter we discuss arrays. Basically, an array is a variable.Intuitively, an array is a higher dimensional matrix; slightly more formally afunction from ( the Cartesian product of) finitely many index sets into thereals. (Yes, we recall that there are no reals in the computer...). An indexset is typically of the form
I = [1, n] := {1, . . . , n} ;
for some n ∈ � which we conveniently call an “interval”. In other words, weare just counting the rows, columns, sheaves, .... of K–dimensional matrixby means of appropriate intervals.
Here a problem may occur as we sometimes want to represent functions onthe Cartesian product of arbitrary finite index sets. As ��� does not knowsuch generalized matrices, we have to take care that a suitable bijection isintroduced which allows to treat our non–interval–like index set via somesuitable interval. For the user, this niceties may not be relevant, it is clear tohim how a generalized matrix has to look like. For Mathematical precisionone may think otherwise.
Arrays are the main substrate of ��� . They can easily be introduced byassigning values to the various entries via the “shape” operation. They caneasily be handled, i.e., extended, mutilated, composed, or partially adjustedby suitable operations. They have the usual structure assigned to themby elementary linear algebra, like we may add them, multiply them with aconstant, etc.. Also, there are several very general versions of a product oftwo arrays.
Moreover, turning to functions more involved, arrays serve as arguments of
5
6 � Arrays � Chapter II �
such functions. We will be able to program whatever a “function” could beand, as rule, it will be a function defined on a certain class of arrays.
Also, as arrays may have numerical or literal entries, we can manipulate textvariables that are certain arrays and convey messages, instructions, explana-tions, headers, ..... etc. during the process of programming or computing viaa program.
� Section 1: Definitions and ‘‘shape’’ � 7
1 Definitions and “shape”aplc2s1
We consider “intervals”
I = [1, n] := {1, . . . , n} (n ∈ �) ;
in addition we shall use the intervall
I = [1, 0] := ∅
in order to indicate the empty set.
Definition 1.1. Let I1, . . . , IK be intervals. An array (of degree K) is amapping
A : I1 × . . .× IK → � .
For convenience, the case K = 0 is included. An array
A :0∏
L=1
IL → �
is by convention a real number.
Note that ��� distinguishes between the real number a and the one di-mensional vector (a). The first object is given by the (mapping, function,aray)
A :0∏
L=1
IL → � , A[·] = a ,
while the second one is
A :1∏
L=1
IL → � , A[1] = a .
In particular, for K = 1, the array
K := [1, 0]→ �
is an array of degree 1 called zilde.
8 � Arrays � Chapter II �
Remark 1.2. The range of an array A can be the set ALPHABET :={CHARACTERS} instead of �. That is, the above definition should be aug-mented by an analogous definition of
C :
K∏L=1
IL → ALPHABET.
Definition 1.3. we shall use the following notation:
AK := {A A is a (numerical) array of degree K, }CK := {C C is a (character) array of degree K.}
Remark 1.4. 1. Note that the elements of A0,A1,C0, and C1 are the onlyones that ��� accepts directly via tha keyboard; we may use “assignment”← to simultaneously create an aray A ∈ A0 and attach a value to it. Sim-ilarly, we assign the values of a vector by using ← and typing the vectoras a string of numbers with emptyspaces in between. This “geometrical”representation of a vector is quite in accordance with the everyday usage inMathematics a = (a1, a2, a3, . . . , an).
However, in order to enter arrays of higher degrees, an appropriate procedurewill be necessary.
2. Real numbers and characters are arrays of degree 0, hence there is a formalidentification or “imbedding” indicated by
A0 = �, C0 = ALPHABET
3. Naturally, arrays of degree 2 are called matrices. While we regard them asmappings
A := I1 × I2 → �
orC := I1 × I2 → ALPHABET,
the computer (again in accordance with everyday Mathematics usage) writesthem as two dimensional arrays. The procedure to induce the maschinedoing so will be presented immediately.
Example 1.5.
L2� � � �� � �w��� `��a
L
� � � �� � �w��� �w����������
L �
� Section 1: Definitions and ‘‘shape’’ � 9
� � �� �� � �w��� �w���������
� � L
�� �� �� ��� � �� � �w��� �w���������
Definition 1.6 (The monadic 7 “reshape”). We define the monadic op-erator 7 as follows:
7 : AK → A1
7(A) := (n1, . . . , nK) = (|I1|, . . . , |IK |)
That is, 7(A) is an array of degree 1 or formally
7(A) : [1, . . . , K]→ �
the coordinates being 7[L] = nL for L = 1, . . . , K. In particular, if A ∈ A0
then we find 7A : [1, 0]→ �, thus 7A = K and similarly for A ∈ C0.
Remark 1.7. 1. For every array A we have 77A = (K) ∈ A1.
2. The arrays 4 ∈ A0 and (4) ∈ A1 are well distinguished, as a consequencewe observe 74 = K but 7(4) = (1). Both the latter quantities are vectors.Therefore we continue with 774 = (0), 77(4) = (1), etc.
Example 1.8.
L2� � � �� � `��a �w�
7L
�
77L
�
777L
�
=========================================
7�
`o/TN* v GwBw Ka
77�
�
o/TN* Gd c �B�DHC eBfG�Be H� U�v�Vv hB��B
7 CBDFC�d DhB kB�gDh�B�DHC Hf DhGd G�DBC�ckk
AhG�h G `�awqkBcCkE c fFCDhBC cIIkG�cDGH�
10 � Arrays � Chapter II �
Hf 7 dhHFke CBDFC� DhB kB�gDh Hf DhB G�DBC�ckk
U�v�V H� AhG�h `�a Gd eBfG�Be AGDh �ckFB ��
777�
�
MG�GkcCkEv
7^*^
`o/TN*a
77^*^
�
777^*^
�
OFCDhBC�HCBv
7^Ls qN*O^
7^Ls qN*O^
77^Ls qN*O^
�
7^ ^
`o/TN*a
77^ ^
�
777^ ^
�
Now we observe that ��� knows dyadic operators as well. These are func-tions defined on pairs of operators which may have to obey certain restric-tions. We start out with the dyadic version of the operator 7 that we havejust studied.
Definition 1.9 (The dyadic 7 “reshape”). 1. First let is introduce thespace of arrays which have values in the set of integers, i.e., the inte-
� Section 1: Definitions and ‘‘shape’’ � 11
gervalued generalized matrices. Formally, we introduce
(1) NK :=
{A ∈ AK A :
K∏L=1
IL → �0
}.
In particular, N1 denotes integer vectors.
2. The dyadic 7 is defined via
(2) 7 : N1 ×A1 →∞⋃
K=0
AK
as follows:
(a)(n1, . . . , nK)7(x1, . . . , xr) = B ∈ AK
(b) If nL ≥ 1 (L = 1, . . .K) and r ≥ ∏KL=1 nL then
B(1, 1, . . . , 1) = x1,
B(1, 1, . . . , 1, 2) = x2,
etc., lexicographically, i.e.
B(1, . . . , 1, •) = (x1, . . . , xnK)
B(1, . . . , 2, •) = (xnK+1, . . . , x2nK)
etc.
(c) If nL = 0 for some L ∈ {1, . . . , K}, then B “has no values” – butit is well defined. In other words, one dimension is 0 and henceB is a “flat” array – a relative of ZILDE. As we expect (and willsee immediately), ZILDE can be seen as a canonical member ofthis family, as K = 071 can be verified.
(d) If r >∏K
L=1 is true, then the remaining values of x are omitted.
(e) If r <∏K
L=1 is true, then the values of x are repeated. I.e.,
n7x = n7(x,x, . . . ,x)
holds true.
Remark 1.10. The following details are consequences from our definition:
12 � Arrays � Chapter II �
1. If x is a vector and n a natural number, then 7n7x = n.
2. (1)7(x1, . . . , xr) = (x1), K7(x1, . . . , xr) = x1, as the last object has thedimension as indicated in the first argument of the dyadic 7, hence it has tobe a real number.
Indeed we find in addition that 07(x1, . . . , xn) = K; hence, 7 is actuallydefined on N0 ×A1.
3. Alphabet–valued arrays B ∈ CK are generated in quite the same way
Chapter 3
Functions
aplc3
Functions are generally defined on (Cartesian products of) certain spaces ofarrays. Some of these we have implicitely been dealing with; any manipu-lation of an array is, in a sense, of course a function. Furthermore, there aquite a few function built in into the ��� language, these are called “systemfunctions”. Such functions may be elementary (e.g., addition or multiplica-tion) or more involved (see the following examples, e.g., encode and decodeor the dyadic transposition seen as a permutation acting on vectors, We willpresent a few of them from our more formal viewpoint but, again, no claimregarding completeness will be maintained.
Later on, however, we would like to generate additional functions for anyparticular purpose we are interested in. This technique is what in every-day language is called “Programming”. We postpone this presentation toChapter 5.
13
14 � Functions � Chapter III �
5 Encode and Decodeaplc3s5
Remark 5.1. Let b ∈ � represent the “basis of b-adic representation” and letx ∈ �0 be an arbitrary natuaral number including 0. Then there exists uniquelyn ∈ � minimally chosen and an integer vector x = (x0, . . . , xn) ∈ [0, b − 1]n suchthat
(1) x = x0 + x1b+ x2b2 + . . .+ xnb
n
holds true. x = (x0, . . . , xn) ∈ [0, b − 1]n is called the b-adic representation ofx.
Another way of representing x in terms of the basis b is indicating by the notation
(2)
x = x0 + b(x1 + x2b+ . . . xnbn−1)
= x0 + b(x1 + b(x2 + . . . xnbn−1))
...
= x0 + b(x1 + b(x2 + . . . b(xn−1 + bxn) . . .)).
Now, the term in parenthesis is the largest multiple of b contained in x. Thus,using the Gauss–bracket we obtain
(3)
x0 = x−[xb
]b
x1 = x− x0 −[x− x0
b
]b
...
xn = x− x0 − . . .− xn−1bn−1 −
[x− x0 − . . .− xn−1b
n−1
b
]b.
In other words, if we define successively “quotients” q1, q2, . . . , qn via
(4)
x =[xb
]b+ x0 := q1b+ x0
q1 =[q1b
]b+ x1 := q2b+ x1
......
qn−1 =[qn−1
b
]b+ xn−1 := qnb+ xn−1
qn < b, qn := xn,
� Section 5: Encode and Decode � 15
then it is clear that(x0, . . . , xn) = (x0, . . . , xn)
is the case. This way we see that the coefficients xi are obtained by successively“dividing with remainder”. This procedure is known as the Euklidean Algorithm.
There is a more general version of representing integers with respect to abasis which we describe shortly as follows.
Let b = (b1, . . . , bn+1) ∈ �n+1 be an integer vector and let x ∈ � be suchthat
x ≤ b1 + b1b2 + . . .+ b1b2 · · · bn+1
holds true. Then there exists uniquely (x0, . . . xn) ∈ �n+1 satisfying
(5) 0 ≤ xi < bi+1 (i = 0, . . . , n)
and
(6)x = x0 + x1b1 + x2b1b2 + . . . xnb1b2 · · · bn
= x0 + b1(x1 + b2(x2 + . . . b1(xn−1 + bnxn) . . .)).
Again, the coefficients (x0, . . . , xn) are obtained by the (slightly modified)Euklidean Algorithm. In the present context this is expressed via
(7)
x =
[x
b1
]b1 + x0 := q1b1 + x0
q1 =
[q1b2
]b2 + x1 := q2b2 + x1
......
qn−1 =
[qn−1
bn
]bn + xn−1 := qnbn + xn−1
qn < bn+1, qn := xn
with 0 ≤ xi < bi+1 for i = 0, . . . , n.
Now this is formalized suitably for the ��� –context as follows.
Definition 5.2 (Encode ~). We define
~ : N ×�0 → N0
(bn+1, . . . , b1)~x := (xn, xn−1, . . . x0)
such that
16 � Functions � Chapter III �
(8)x = x0 + x1b1 + x2b1b2 + . . . xnb1b2 · · · bn
= x0 + b1(x1 + b2(x2 + . . . b1(xn−1 + bnxn) . . .)).
with
(9) 0 ≤ xi < bi+1 (i = 0, . . . , n)
is satisfied.
Example 5.3. If the basis consists of the powers of an integer, then weobtain the first esamples of dyadic or decimal expansion:
� � � � ~
� � � �
�� �� �� �� �� ~ ���
� � � � �
Similarly, hexagesimal expansion can be generated as follows:
s2^��������LsqN*O^
^��������LsqN*O^U� `�7��a~��V
��
^��������LsqN*O^U� `�7��a~��V
�O
^��������LsqN*O^U� `�7��a~���V
��
^��������LsqN*O^U� `�7��a~���V
���
Here are some further conventions that extend the range of ~:
If � � �[� is the case, then ~ yields the result of the Euklidean algorithmup to n, that is, terminates at n:
� Section 5: Encode and Decode � 17
t2��
`t7�a~t��
� � � � � � � � � �
`t7��a~t��
� � � � � � � � � �
`t7��a~t �
� � � � � � � � � �
`t7��a~�=t
� � � � � � � � � �
`t7�a~�=t
� � � � � � � � � �
Also, there is an additional convention for 0 being introduced into the basis:the algorithm stops at n but yields the remainder. For example, we find
``�vt7�aa~�=��t
���� � � � � � � � � � �
``�vt7�aa~ � �=��t
���� � � � � � � � � � �
``� � �avt7�a~ `�=t �a
� � � � � � � � � � � � � �
``� � �avt7�a~ � �=��t
� � � ���� � � � � � � � � � �
``�� �� �� �avt7�a~ � �=��t
� � � ���� � � � � � � � � � �
18 � Functions � Chapter III �
That is, if the 0 appears at some instant, then ~ yields the remainder ofthe Euklidean algorithm and ignores all further data. This way ~ has beenextended as to be a mapping
(10) N0n ×�0 → N0n
Moreover, the action on vectors and matrices is defined coordinate wise: e.g.,if we start out with
r2�� ;�=�
r
� � � � � � � � �� �� �� �� �� ��
then we obtain
`�7�a~r
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
and as ~ lists the dyadic expansion backwards with regard to traditionalmathematical convention, we receive the dyadic expansion of the first 15integers and beginning with zero listed upside down. Note that this yieldsan obvious representation of all subsets of a set of 4 elements or rather theincidence vectors of these sets.
More generally, the mapping
~ = N0n ×AK → AK+1
is given by(bn, . . . , b0)~A = B
withB : [1, . . . , n+ 1]× I1 × . . . IK → �
� Section 5: Encode and Decode � 19
and
(11) B[; i1, . . . , iK ] := (bn, . . . , b0)~A/i1, . . . , iK)(Il ∈ Il(l = 1, . . . , K)
20 � Functions � Chapter III �
8 Grade Up and Grade Downaplc3s8
As previously we denote by A1 the space of vectors and by N1 the space ofinteger vectors. The function DZ is called grade up and is defined as follows:
Definition 8.1.
(1) DZ : A1 → N1.
For x = (x1, . . . , xn) satisfying
xi1 < xi2 < . . . < xin
with {i1, . . . , in} = {1, . . . , n}, we define
DZx := (i1, . . . , in).
If some coordinates are equal, the function respects the original ordering in-dicated by x.
That is, DZ orders the indices 1, . . . , n according to the size of the coordinatesof x. As a consequence,
x[DZx] = (xi1 , . . . , xin)
arranges the coordinates of x in increasing order and
x[(DZx)[1]
is the minimum of the coordinates of x.
Example 8.2.
p2�w� `���a �w� �
p
�w� �w�������� �w� �
DZp
� � � �
pUDZpV
� �w� �w� �w��������
pUDZpVU�V
�
� Section 8: Grade Up and Grade Down � 21
DZ �w� � � � �
� � � � �
� OCH�
DZ 7 � �
� � � � � �
� GD fHkkHAd DhcD AB hc�B
DZDZ 7 � �
� � � � � �
� 0f �HFCdB
DZDZ � 7 � �
� � � � � � �
-2� � � � � �
DZ-
� � � � � �
-UDZDZ`7-a7 � �V
� � � � � �
Let us discuss the action of DZ in connection with permutations. We wouldlike to represent tentatively a permutation by a vector. That is, if the per-mutation π is more elaborately given by
(2) π =
(1 2 . . . i . . . n
π(1) π(2) . . . π(i) . . . π(n)
),
then we represent this permutation by the vector in the lower row, i.e., by
(π(1), π(2), . . . , π(i) , . . . , π(n)).
Now, if π(i) = k holds true, then coordinate i of the vector π is the k′th inorder, i.e.,
(DZ)[k] = i.
22 � Functions � Chapter III �
However, the permutation π−1 as described by
(3) π−1 =
(1 2 . . . i . . . n
π−1(1) π−1(2) . . . π−1(i) . . . π−1(n)
),
also satidfies π−1(k) = i. From this we conclude that
DZπ = π−1
provided we interprete both sides as permutations.
A permutation π acts as well as a linear mapping π : �n → �n, theappropriate definition is
(4) (π(x))i := xπ−1(i) (x ∈ �n, i ∈ I).
This allows to interprete π as a “permutation of the axes” of �n. Now, ifX ∈ A1 represents x ∈ �n in ��� –code, then, as π−1 corresponds to DZπ,we obtain
(5) X[DZπ]i = X[DZπ[i]] = X[π−1(i)] = xπ−1(i).
Hence, the linear mapping π : �n → �n, is given by π(x) = X [DZπ] .
� Section 9: The Dyadic Transposition � � 23
9 The Dyadic Transposition �
aplc3s9
A permutation π : {1, . . . , K} → {1, . . . , K} may be described by
(1) π =
(1 2 . . . i . . . n
π(1) π(2) . . . π(i) . . . π(n)
),
and is canonically represented by the vector in the lower row, i.e., by
(π(1), π(2), . . . , π(i) , . . . , π(n)).
We shall now describe the action of permutations on arrays which result fromthe corresponding permutations of the intervals which constitute the domainof definition.
Definition 9.1. Let π be a permutation of {1, . . . , K} and let A ∈ AK, say
(2) A : I1 × . . .× IK → �,
then the array
(3) π�A : Iπ−1(1) × . . .× Iπ−1(K) → �
is defined by
(4) π�A[j1; . . . ; jK ] := A[jπ(1); . . . ; jπ(K)].
The reader should make sure that the operation is well defined. In particular,one has to check that the arguments of the transposed operator correspondto the correct intervals. Indeed, if
jl ∈ Iπ−1(l)
thenjπ(l) ∈ Iπ(π−1(l)) = Il,
thus, π�A is well defined.
Now we observe that the permutation π acts canonically on the dimensionvector of the array while transposition is applied. More detailed, the vector7A is canonically permutet in order to yield the dimension vector of thetransposed array. Indeed, we have
(5) (7π�A)l = |Iπ−1(l)| = (7A)π−1(l) = (π7A)l .
24 � Functions � Chapter III �
That is the vector x = 7A is nicely permuted via the usual convention((π(x))l = xπ−1(l)) in order to obtain the dimension vector 7 of the trans-posed version of A:
7π�A = π7A.
Now, as we have described the action of permutations by means of the oper-ator grade up DZ in Section 8, we expect that π(x) is represented in ��� –code by x[DZπ] Thus, we expect the equation
(6) 7π�A = (7A) [DZπ].
Example 9.2. We take a very simple array which however demonstrates theeffects nicely:
L2� � � 7 �� � ;�
L
�� �� ��
�� �� ��
1/
� � �
1/ � L
�� ��
�� ��
�� ��
7 1/ � L
� � �
`7LaUDZ1/V
� � �
It should be stressed that the application of π on vectors is suitably theone that acts inversely on the coordinates (the above mentioned convention).
� Section 9: The Dyadic Transposition � � 25
For one argument, this action exactly reflects the permutation of axis asindicated by π: e.g., if the axes of �3 are cyclically permuted by π = (2, 3, 1)then the vector x = (1, 2, 3) is thrown into πx = (3, 2, 1). For a secondargument, if v is a set function (a game) defined on the subsets of I, thenthe appropriate action induced by π yields the game πv which is given byπv(S) := v(π−1(S) (S ⊆ I). For set functions, this convention is preferableas π−1 preserves all set–operations and hence preserves additivity of a setfunction once it occurs. The action on vectors and the one on set functionscorrespond nicely in this case if a vector is seen as an additive set function.
The dyadic transposition may be generalized to the case that π is not apermutation but just a surjective mapping. Let L ≤ K and let
π : {1, . . . , K} → {1, . . . , L}be a surjective mapping. Define
(7) Iπl :=⋂
k∈π−1({l})Ik = [1, min
k∈π−1({l})ρk]
(such that Iπl = Iπ−1(l) holds true whenever π is bijective), then we define
(8)π�A : Iπ1 × . . .× IπL → �
π�A[j1; . . . ; jL] := A[jπ(1); . . . ; jπ(K)].
Observe the reaction of the dimension vector, the relation
(9) 7π�A = π (7A) .
generalizes the bijective case suitably, if we use the convention
π(x)l := mink∈π−1({l})
7k
in order to characterize the vector πx. This is verified via
(7π�A)l = min{ρk|π(k) = l} = mink∈π−1({l})
ρk.
In particular consider the mapping π : {1, . . . , K} → {1} which is suitablyrepresented by the vector (1, . . . , 1) or S7�, then
π�A[j1] = A[jπ(1); . . . ; jπ(K)] = A[j1; . . . ; j1]
or for short
1 1 . . . 1 �A[i] = `S7�a�A[i] = A[i; . . . ; i]
26 � Functions � Chapter III �
meaning that the application yields the diagonal, if K = 2 and hence A is amatrix, then � � �L is the vector of diagonal elements.
Similarly, if π{1, 2, 3} → {1, 2} is given by (122),then
1 2 2 �A[j1, j2] = A[j1, j2, j2]
or for short1 2 2�A[i, j] = A[i, j, j].
Analogously2 1 1�A[i, j] = A[j, i, i].
Example 9.3.
L
��� ��� ��� ��� ���
��� ��� ��� ��� ���
��� ��� ��� ��� ���
��� ��� ��� ��� ���
��� ��� ��� ��� ���
��� ��� ��� ��� ���
� � � � L
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
��� ��� ���
� � � � L
��� ��� ���
��� ��� ���
wwww DcjBd DhB eGcgH�ck Hf DhB fGCdD
� Section 9: The Dyadic Transposition � � 27
c�e dB�H�e IcCDGck �cDCG� &
c�e dB�H�e IcCDGck �cDCG��
L
111 ��� ��� ��� ���
��� 122 ��� ��� ���
��� ��� 133 ��� ���
211 ��� ��� ��� ���
��� 222 ��� ��� ���
��� ��� 233 ��� ���
Chapter 4
Operators
aplc4
Operators are maps defined on certain function spaces. This rather vaguedefinition can be made precise for a specific operator by indication the domainof definition and the range of the mapping as usual. However, as these quani-tites are not really present in the ��� workspace, it is now frequently nottoo rewarding to actually present a list of the details. Thus, one frequentlyexplains the action of an operator by indicating the arguments (functions)and the resulting images (also functions) via some direct presentation – notincluding the precise domain of definition etc.
29
30 � Operators � Chapter IV �
1 Ravelaplc4s1
We start with a rather simple example of an “operator”, called ravel andrepresented by the slash �. A preliminary definition would be given as follows.
Definition 1.1. Let f : �2 → � be a function. Then, for every n ∈ � thefunction
f� : �n → �
is defined by means of the following recursion:
For n = 2 the function f� equals f .
For n > 2 the function f� : �n → � is given via
f/(x1, . . . , xn) := f(x1, f/(x2, . . . , xn)).
Note that the operation is not commutative, in general the termf(f(x1, . . . , x(n−1)), xn) may well differ from the above.
Now, it would be more precise to introduce, say, the set Fn := {f |f : �n →� and to argue that � or rather • is a function
• � : F2 →∞⋃n=1
Fn .
However, the gain in precision is not very high compared to the loss inoverview and besides, in order to define the class Fn one would have to saya few words about “functions” or “all functions available ��� ” which thenleads possibly to more confusion. We shall, therefore, continue discussingoperators more informally and more to the liking of the computer scientist.
Example 1.2. The most simple functions on �2 are the dyadic operations+,− . . . etc. Clearly, for x ∈ �n we have
+/(x1, . . . , xn) = x1 + . . .+ xn
and
−/(x1, . . . , xn) = x1 − (. . .− (x(n−2) − (x(n−1) − xn))) .
� Section 1: Ravel � 31
This works with all further dyadic functions like = v Y v Z ....
As a first generalization we consider an operator • �[L] which is also actingon functions. To this end let A ∈ AK be an array, i.e.,
A : I1×, . . . ,×IK → �
and let L be such that 1 ≤ L ≤ K. Now, for fixed choice of indices(i1, . . . , i(L−1), i(L+1), . . . , iK) we obtain the vector
A(i1, . . . , i(L−1), •, i(L+1), . . . , iK) ∈ �|IL| ,
hence, whenever f is a function, then the function f/ admits this vector asan argument, hence the term
C(i1, . . . , i(L−1), i(L+1), . . . , iK) := f/A(i1, . . . , i(L−1), •, i(L+1), . . . , iK) ∈ �is well defined. Obviously, C is an array, C ∈ AK−1. This now defines thevalue of the function f/[L] applied on the array A, i.e.,
C(i1, . . . , i(L−1), i(L+1), . . . , iK) =:(f/[L](A)
)(i1, . . . , i(L−1), i(L+1), . . . , iK)
or ratherC := f/[L](A) .
Combining, we have defined a function
f/[L](A) : AK → AK−1 ,
and it is left to the reader to ponder about the operator /[L], it’s domain andit’s range .... We see that the operator ’ravels’ along the coordinate L andkeeps all other coordinates unchanged.
Remark 1.3. Two special cases are noteworthy, we have
f/[1] = f/ and f/[K] = f� ,
that is, f/ may be seen to work on arrays as well (not just on vectors as inthe initial definition), ravelling along the first coordinate. Similarly f� works onarrays, ravelling the last coordinate (!).
Consider the follwing obvious results.
Example 1.4.
32 � Operators � Chapter IV �
;��
� � � � � � � ��
x � � � � � � � ��
��
`���`�� �aa�
��
c�e
�x � � � � � � � ��
��
�x � � � � � � � �� ��
�
L�e fFCDhBC�HCB
L
� � ��
�� �� �� � ��
� � � � �
�� �� �� � ��
xU�VL
� �� �� � ��
xU�VL
�� �� � ��
� Section 2: Outer Product � 33
2 Outer Product
The outer product denoted by �wcan be seen as a version of the tensor prod-uct used in various contexts with physical background or in tensor analysis.�wis as well a map on functions of two variables (i.e., dyadic functions in��� slang). The result is a function of two variables, mainly, of two arrays.We omit a formal definition of the range. Note that the function which servesas an argument appears on the right side of the operator, so we are temptedto use the notation �w•, which should give raise to some obvious questionsin view of the order of execution in ��� .
Consider a function f ∈ F2. Then, for any K,L ∈ � the function
�wf
is defined on pairs of arrays, say A ∈ AK ,B ∈ AL, and yields another array,say
A (�wf)B =: C .
Now, if A : I1 × . . .× IK → � and B : J1 × . . .× JL → � is the case, thenC ∈ AK+L is an array of the form
C : I1 × . . .× IK × J1 × . . .× JL → �
which is given via
C(i1, . . . , iK , j1, . . . , jL) := A(i1, . . . , iK) f B(j1, . . . , jL)
for all(i1, . . . , iK , j1, . . . , jL) ∈ I1 × . . .× IK × J1 × . . .× JL .
In particular, if the arrays involved are vectors, say x and y, then we findthat C := x (�wf)y is a matrix given by
Ci,j = C(i, j) = xifyj = f(xi, yj) .
Introducing the particular version hen f = × holds true, we see that
Ci,j = xi × yj = xiyj
resembles indeed the most familiar version of a tensor product available.
Example 2.1. The outer product of two vectors may as well be defined forthe function + :
34 � Operators � Chapter IV �
�� � ;�
�� �� �� �� ��
;
� � � � � �
`�� � ;�a �w ;
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
c�e dkGghDkE gB�BCckG�Be
`��� � ;�a �w `�� � ;�a �w ;
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
� � � � �� � �w� ;
� � � � � � � �
� Section 2: Outer Product � 35
� � � � � � � �
� � � � � � � �
� � � � � � � �
� � � � � � � �
� � � � � � � �
� � � � � � � �
also, if both vectors are equal:
�
`;�a �w� ;�
� � � � � �
� � � � � �
� � � � � �
� � � � � �
� � � � � �
� � � � � �
`;�a �w� ;�
� � � � � �
� � � � � �
� � � � � �
� � � � � �
� � � � � �
� � � � � �
and we obtain the identity matrix via
`;�a �w� ;�
� � � � � �
� � � � � �
� � � � � �
36 � Operators � Chapter IV �
� � � � � �
� � � � � �
� � � � � �
� Section 3: Inner Product � 37
3 Inner Product
The inner product is a generalization of the concept as defined for vectors.It works on functions and the result is a inner (scalar) product on arraysbased on these two functions. As previously we start out with (in this castwo) functions defined for two variables, “dyadic” in ��� slang. The resultof the mapping “inner product” is one dyadic function.
The notation used is a dot ’ . ’ or rather ’ • . • ’ as it is employed frequentlyfor the inner (scalar) product of vectors. And indeed, it is convenient toinplement a recursice definition that starts out with n operation on pairsof vectors, i.e., the traditional scalar product. The operator / (Ravel) isinvolved in the following definition.
Definition 3.1. Let f, g ∈ F2. Then the function f.g ∈ F is defined by
innpfirstinnpfirst (1) x (f.g)y = f/(x1gy1, . . . , xngyn)
for any pairs of vectors x = (x1 . . . xn) and y = (y1 . . . yn) of equal length.
Note that for f = + our definition reduces to
x (+.g)y = + /(x1gy1, . . . , xngyn) = x1gy1 + . . .+ xngyn) ,
and hence when g happens to be the product, i.e., g = ×, then we find
x (+.×)y = + /(x1× y1, . . . , xn× yn) = x1× y1 + . . .+ xn × yn) , = xy
which is indeed the traditional inner or scalar product on vectors in �n.
Now we continue with the definition of the inner product as follows.
Definition 3.2. Let f ∈ F, g ∈ F be a pair of (dyadic) functions. Then, thefunction f.g ∈ F is given as follows: for any pair of arrays A : I1×. . .×IK →� and B : J1 × . . .× JL → � such that
IK = J1
holds true, the array C = A(f.g)B is described by
innpsecondinnpsecond (2)C : I1 × . . .× I(K−1) × J2 × . . .× JL → �
C(i1 . . . iK−1, j2 . . . jL) = A(i1 . . . iK−1, •) (f.g)B(•, j2 . . . jL)for all
(i1 . . . iK−1, j2 . . . jL) ∈ I1 × . . .× I(K−1) × J2 × . . .× JL ;
38 � Operators � Chapter IV �
here the second line of (2) of course refers to the definition provided in (1).
We specify this general definition immediately to the case in which f = +and g = ×. Assume also that A and B are matrices. Then we find for(i, j) ∈ I1 × J2:
(A+ .×B)(i, j) = Ai• + .×B•j+/Ai• ×B•j = (AB)ij ,
which shows that A+ .×B = AB is the conventional matrix product.
We demonstrate this by means of the following operations:
`�� � ;�a �w ;
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
�� �� �� �� �� �� � �
`��� � ;�a �w `�� � ;�a �w ;
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
��� ��� ��� ��� ��� ��� �� ��
� Section 3: Inner Product � 39
��� ��� ��� ��� ��� ��� �� ��
Also, the inner product can be used to generate a unit matrix or its relatives:
`;��a�w�`;��a
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
`;��a�w�`;��a
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � �
Chapter 5
Programming
aplc5
Now we would like to generate additional functions we are interested in. Thistechnique is what in everyday langage is called “Programming”. Technicallythe result of writing a “program” with respect to ��� syntax is a functionin the sense of Chapter 3. That is, functions defined by programs work onarguments that may be vectors or arrays.
41
42 � The definition of functions: Programming � Chapter V �
1 The Definition of Functions – Programming
in ���aplc2s5
The definition of a function takes place within “definition mode”. The shapeof the function is indicated by the interior of a neighborhood delimited by
\
[0] Function header[1] . . .[2] . . .. . .[..] . . .. . .[n] . . .\
However, in newer versions there are editors available in order to put thesystem into “definition mode.”
There are
1. Functions one, two, and no variable.
2. Functions with or without assignment
3. Functions with global and local variables
Functions are identified by a name. Within the definition, the name and theabove characteristica with respect to variables and assignments have to bespecified.
Fuctions are referred to by name and, if applicable, by indicating the variablesthey depend on. This amounts specifying arguments as we do for functionslike ;, 7, or ~.
Example 1.1. We start with a standard problem, the solutions of a quadraticequation x2 + ax+ b = 0 is given by
queququequ (1) x1,2 =−a±√a2 − 4b
2,
provided the discriminant (the term under the root) is nonnegative.
As a first attempt we write a function/program for two variables a and bthat yields the solution. This amounts to a function of two variables a and
� Section 1: The Definition of Functions -- Programming in ��� �43
b, which in the solution of 1 as its output. This output can be assigned to avariable.
U�V +2 L (.*( s
U�V N2`L=�a � ��s
U�V +2``�La `�v��a �` N = �w�aa�
Clearly, the function will come up with an ERROR code if the discriminanthappens to be negative. Thus, we cause the interpreter to exit the program(i.e., to move to line [0]) if this problem occurs:
U�V +2 L (.*( s
U�V N2`L=�a � ��s
U�V 3`N � �ax�
U�V +2``�La `�v��a �` N = �w�aa�
Now, this function ends up without any comment and result whenever thediscriminant is negative. This can be mended by sending the compiler to aline with label ’END’ whenever that happens.
U�V + 2 L (.*( s
U�V N 2 `L=�a � ��s
U�V 3 `N � �ax*tN
U�V + 2 ``�La `�v��a �` N = �w�aa�
U�V 3�
U�V *tN�
U�V ^N/Mq+/u/tLt, t*PL,/r*^
UV ^� LMM/Pt*N ,0 M0T.,/0t 0O (.*(^
UV + 2 �
and if we execute this we obtain
44 � The definition of functions: Programming � Chapter V �
� (.*( �
N/Mq+/u/tLt, t*PL,/r*
� LMM/Pt*N ,0 M0T.,/0t 0O (.*(
�
Example 1.2. There may be a good reason to avoid an ERROR messagewithout explicitely testing for the value of a certain variable. E.g. themonadic ��� –function ' yields the inverse of a matrix, provided the matrixis nonsingular, i.e., the determinant does not vanish. Now, when applyingthis function we don’t want to compute the determinant. On one hand, rightnow we do not even have a program available which performs this task. Andon the other hand, even if we had a program, we would prefer not to wasttime with computing a determinant. Because, whatever the function ' does,it is probably much faster that any self constructed program we can possiblearrange for at this stage. The following method indicates how to avoid theERROR message:
L1TLP MLr*N ��x��x���� �������
\*++qL,qQU_V\
U�V /tr 2 *++qL,qQ L�_*Tp
U�V � ,hGd fF��DGH� eB�H�dDCcDBd DhB hHkeHff Hf *++0+dw
U�V � )GDhHFD c�DGH� DhB fF��DGH� _Nu Gd cddGg�Be DH
U�V � _*Tp �� c�e Gd B�B�FDBe AhB�B�BC
U�V � c� *++0+ H��FCdw /� DhGd �cdB _Nu CBIkGBd �E
U�V � c��HF��G�g DhB DEIB Hf *++0+w
U�V � )GDhG� DhB ICBdB�D ICHgCc�
U�V � ^3*++^ Gd cddGg�Be DH _*Tp ��w
U�V �
U�V � ===================================================
U�V
UV
UV
U�V _*Tp2^3*++^
U��V /tr2'L
U��V 3�
U��V *++�
� Section 1: The Definition of Functions -- Programming in ��� �45
U��V ^t0 /tr*+M* *p/M,M^
U��V /tr2`7La7�
*++qL,qQ � � 7 ;��
t0 /tr*+M* *p/M,M
� � �
� � �
uL.2� � 7 � �� �� �
*++qL,qQ uL.
t0 /tr*+M* *p/M,M
� �
� �
u
� �
�� �
*++qL,qQ u
�w� ��w�
�w� �w�
*++qL,qQ � � 7 ;��
��w��������� ��w���������� �w���������
�w�������� �w���������� ��w���������
The above example shows a function of tw0 variables with assignment. Gen-erally the following forms appear:
NILADIC MONADIC DYADICwithout assignment: Ot Ot - p Ot -
with assignment: + 2Ot + 2 Ot - + 2p Ot -
The variables pv-v+ are local : they appear in the programming and executionmode but not in WORKSPACE. Further Variables can be made local byexplicetely registering them in the header, separated by a semicolon.
Branching can be set up in a program by refering the interpreter to move toseparate labels depending on arguments.
Example 1.3. The Newton method asks for the computation of√2 via
a0 = 2; an+1 =1
2an +
1
an(n = 1, 2, . . .)
√2 = lim
n→∞an
46 � The definition of functions: Programming � Chapter V �
This is reflected as follows:
U �V L 2 t*),0t T� t
U �V L2 �v`T��a7�
U �V t 2 �
U �V � s./TN/tP L T001�
U �V +*1�
U �V LUtV2`LUt��VÆ�a �ÆLUt��V
U �V �s+LtqQ/tP�
U V 3 `+*1v*tNaU� T � t 2 t �V
U V *tN�
U �V ^,hB dB@FB��B Gd�^
U��V L
Chapter 6
The Coalitional Function
aplc6
We are going to introduce central topics of Cooperative Game Theory in thecontext of ��� programming.
47
48 � The Coalitional function � Chapter VI �
1 Gamesaplc6s1
O-l �A�� Cooperative Game Theory deals with nonadditive set functions in-terpreted as coalitional functions or just games. More precisely, a game isa triple
(1) Δ := (I,P, v)
with the following ingredients: I := {1, . . . , n} is a finite set, the set ofplayers . P := {S S ⊆ I} is the power set of I and interpreted as thesystem of (feasible) coalitions . Finally,
(2) v : P→ �, v(∅) = 0
is the coalitional function . This function attaches to every coalition(group of players) S a real (“monetary”) value v(S), the “worth” of S.Coalition S can achieve v(S) by cooperation within some economic, political,social, ... context, the detailes are not specified. Thus, the set function vprovides the “incentive” for players to form coalitions. By a standard con-vention, the empty coalition achieves worth 0. A special case is provided bya simple game which is given whenever v takes only values 0 and 1, thus
(3) v : P→ {0, 1}, v(∅) = 0 .
We attempt to discuss the appropriate ��� –version of a game. First ofall, we identify coalitions S ∈ P with the incidence vector or indicator 1Swhich is given by
(4) 1S(i) = 1 (i ∈ I) , 1S(i) = 0 (i /∈ I).
we refer to this vector also as to the profile of S. Clearly, this concept isimmediately transferred to the ��� –context; a coalition or rather a profileof a coalition is an n–vector of zeros and ones. The power set or system ofcoalitions P is hence given by a matrix of all posible 0 − 1–vectors. This isobtained by decoding the numbers 0, 1, . . . , 2n−1 with respect to the dyadicbasis. We call this the “profile matrix”. The program “PROFILES” achievesthis as follows:
\1+0O/T*MU_V\
� Section 1: Games � 49
U�V o21+0O/T*M t
U�V � PB�BCcDBd DhB ICHfGkBd Hf ckk �HckGDGH�d Hf t IkcEBCdw
U�V � ,hB CBdFkD Gd c �����cDCG�� t CHAdv �=t �HkF��dw
U�V � MDc�ecCev BkBgc�D � �FD B�hcFdDd DhB )HCjdIc�B cD �� IkcEBCdw
U�V � `)M O.TTaw
U�V � =========================================================
U�V
UV o2`t7�a~�� ;�=t
1+0O/T*M �
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
The coalitions appear as the columns of the matrix 1+0O/T*M ordered accord-ing to the ordering of the natural numbers which are dydically represented.As a result, the lexicographic ordering is reversed, i.e., player N appears firstand the grand coalition last. (The lexicographic ordering ranks 0 above 1).
We list two alternatives of generating 1+0O/T*M which may seem less elegantfrom the ��� –puristic viewpoint but are faster and more efficient. Thereader is obliged to maske himself acquainted with the inherent structure.
\1+0OLM,U_V\
U�V 121+0OLM, t�/�T
U�V � PB�BCcDBd ICHfGkBd fcdDw
U�V � T/u/, *++0+ cD t � ��
U�V �
U�V � =============================================
U�V 12`�v�=ta7�
U�V /2t
50 � The Coalitional function � Chapter VI �
UV T001�3`��/2/��ax�
UV T2�=/
U�V 121vU�V`�=ta7`T7�avT7�
U��V 3T001
\1+0O/T/SU_V\
U�V +21+0O/T/S t�L�s
U�V � L ICHfBddGH�ck �BCdGH� DH �H�IFDB DhB ICHfGkB �cDCG�w
U�V � fcdD c�e BffG�GB�Dw
U�V � T/u/, *++0+ cD t � ��w
U�V
U�V
U�V s2L2�=t
UV +2`�vsa7�
UV u��3`L��ax�
U�V +2+vU�Vs7`�7L2L�ax� �
U��V 3u�
7 1+0O/T*M ��
�� �����
7 1+0O/T*M ��
7 1+0O/T*M ��
)M O.TT
1+0O/T*MUV o2`t7�a~�� ;�=t
�
7 1+0OLM, ��
T/u/, *++0+
1+0OLM,U�V 121vU�V`�=ta7`T7�avT7�
�
7 1+0OLM, ��
�� ���
7 1+0O/T/S ��
�� ���
Now to the coalitional function. In ��� context the coalitional function
v : P→ IR
� Section 1: Games � 51
is now represented by a function
c : {1S|S ∈ P} = {0, 1}N → �
or rather an arrayC : I1 × . . .× IN → �
withI1 = . . . = IN = [0, 1] .
As far as the index origin has been set to be _/02�, this convention is suffi-cient to describe games.
However, usually we prefer to have _/02�, in which case we should use anarray
C : I1 × . . .× IN → �
withI1 = . . . = IN = [1, 2] .
Both versions are in a sense isomorphic as mathematical objects so thatwe can indeed use any array on I1 × . . . × IN = [1, 2]N i.e., any C withρC = (2, . . . , 2) = Nρ2 for representation of a “game”. Note however that,in the second case the arguments have to be changed. In the first version theargument if C is just the 0− 1–vector 1S. In the second, one has to choose1S + 1Iso as to obtain a 1− 2–vector representing coalition S. Therefore, in��� –code, v(S) writes c[1S + 1I ].
There is a second approach to the coalitional function as an object in theWorkspace, simpler and for most purposes suficient. To describe this ap-proach, observer that the function v : P → � is as well described bya vector (v(S))S∈P which is of length 2n. Hence, a coalitional function in��� code could be just an vector V with dimension 7r � �=t (= 2n). Inthis case, the ordering of the coalition has to be fixed once for all so thatthe coordiantes of v seen as a vector are in unique correspondence to theelements of P. A most natural way would be to use the orderung indicatedby the matrix PROFILES.
Example 1.1. Consider the following two programs written to generate ad-ditive games.
\LNN/U_V\
52 � The Coalitional function � Chapter VI �
U�V r 2LNN/ )
U�V � *kBgc�D �BCdGH�w PB�BCcDBd DhB LNN/,/r*
U�V � qHckGDGH�ck OF��DGH� r �HCCBdIH�eG�g DH DhB
U�V � �BcdFCB G�eG�cDBe �E DhB �B�DHC ) `DhB ABGghDdaw
U�V � PB�BCcDBd c �=t �B�DHC CBICBdB�DG�g DhB �HckGDGH�ck
U�V � fF��DGH� G� DhB HCeBC Hf �HckGDGH�d ICBd�CG�Be �E
U�V � DhB �cDCG� 1+0O/T*Mw
UV �
UV � ==================================================
U�V �
U��V r2 ) w� 1+0O/T*M 7)
LNN/ � � ��
� �� �� � �� �� �� � �� �� � � �� ��
,hGd cDDc�hBe DH DhB �cDCG� 1+0O/T*M ��
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� �� �� � �� �� �� � �� �� � � �� ��
\LNN/,/rU_V\
U�V r2LNN/,/r )�t�T�/�1+0Oo*/T�(
U�V � PB�BCcDBd DhB �HckGDGH�ck fF��DGH� CBdFkDG�g fCH� c �BcdFCBx
U�V � rB�DHC Hf ABGghDd )w
U�V � /�IFD� rB�DHC Hf ABGghDd ) � `)U�Vv www v )UtVa w
U�V � 0FDIFD� OF�jDGH�x Pc�B r `ceeGDG�Ba �
U�V � cd c �=t � �B�DHC rU�V wwww rU�=tV
U�V � � G� DhB HCeBCG�g c��HCeG�g DH 1+0O/T*Mw
UV �
UV � ==========================================================
U�V T2�=t27)
U��V r2T7�
U��V /2��
� Section 1: Games � 53
U��V .1�3`t�/2/ �ax�
U��V (2�=/
U��V 1+0OqTut2T7`(7�av(7�
U��V r2r 1+0OqTut�)Ut�/V
U��V 3.1
LNN/,/r � � ��
� �� �� � �� �� �� � �� �� � � �� ��
Chapter 7
Cephoids
aplchcephoids
Within this chapter we provide a library for the computation of the data of acephoid. A cephoid is a special convex compact polyhedron: the Minkowskisum of a finite set of (“positive”) simplices. We aim for the computation ofthe maximal faces of such polyhedra. Within the presentation we will alsodeal with other data as well, e.g., the normal of a maximal face, the dualversion of a cephoid, the reference vector of a maximal face, etc.
55
56 � Cephoids � Chapter VII �
1 Introduction, Facesaplchcephs1
A cephoid is an algebraic (“Minkowski”) sum of finitely many simplices.Each of these simplices we assume to be spanned by the vector 0 ∈ �n andn additional positive vectors located on the axes of �n. Thus we speak of“deGua”–simplices in view of J.P. de Gua de Malves [1] who first discussed ageneralization of the Pythagorean Theorem, thereby dealing with a positivesimplex as described above.
To make this more precise, let a = (a1, . . . , an) > 0 ∈ �n, be a positivevector. Let I := {1, . . . , n} and denote by ei be the ith unit vector (i ∈ I).Also, let ai := aie
i (i ∈ I := {1, . . . , n}) denote the multiple of ei indicatedby the ith coordinate of a.
Then the vectors ai (i ∈ I) together with the vector 0 span a simplex (theconvex hull of these vectors), which is written Πa := conv ({0,a1, . . . ,an})(conv denoting the convex hull). Now Πa is called a deGua simplex .
Various subsimplices of a deGua simplex are of special interest. We denote byΔa := conv ({a1, . . . ,an, }) the simplex spanned by the vectors ai (i ∈ I)without the vector 0, this is the outward surface of Πa. Also, for ∅ =J ⊆ I, we write Δa
J := conv((a(i))i∈J) thus obtaining the subsimplex of Δa
corresponding to some subset J of the index set I.
Next, let a• = (a(k))Kk=1 be be a family of positive vectors in �n. We writeK := {1, . . . , K}. Then the algebraic or Minkowski sum
prismensummeprismensumme (1) Π = Πa•:=
K∑k=1
Πa(k)
=∑k∈K
Π(k)
Π is called a cephoid . Cephoids have been introduced in [5], see also [2],[4].Throughout this paper we assume that a cephoid is nondegenerate, see [5]for the details.
In ��� the data of a cephoid are given by K vectors arranged in a K ×N–matrix. generically denoted by A. that is, a cephoid is represented by aK × N array of shape ρ = 2. For example we have the 3 × 8 cephoid sT.*
given via
� Section 1: Faces � 57
�������������������������� ,Q* q*1Q0/N sT.* ���������
sT.*
��� ��� ��� �� ��� ��� ���
�� �� �� �� � ��
� ��� ��� �� � �� ��
7 sT.*
�
��������������������������������������������������������
Note that the array A denotes the family of vectors, not the algebraic sum– the cephoid – as such. It is our aim to compute the data of the cephoid bymeans of the appropriate computational tools, that is ��� programs.
Now, the outer surface (“Pareto surface”,“cephoidal surface” ) of a cephoidΠ is denoted by ∂Π. In order to describe the maximal faces of ∂Π, it isappropriate to recall the “Coincidence Theorem” ([5]). It states the following.
Theorem 1.1. Given some maximal face F of ∂Π, there is, for each k ∈Kan index set J (k) ⊆ I and a corresponding subsimplex Δ
(k)
J(k) of Δ(k) such that
deltafac1deltafac1 (2) F =
K∑k=1
Δ(k)
J(k)
holds true. Furthermore, there is a set of coefficients (unique up to a positivemultiple constant) c� = (c�k)k∈K such that F has the same normal as the
convex hull of the “adjusted” subfaces c�kΔ(k)
J(k).
In this context we prefer to also use the term “maximum” for the convex hullreferring to the partial ordering induced by inclusion on convex sets; hencethis convex hull is denoted by ∨
k∈Kc�kΔ
(k)
J(k).
58 � Cephoids � Chapter VII �
The sets J (k) are called the reference sets , the collection J =(J (k)
)k∈K
is the reference system of F . The reference system defines F uniquely.
E.g., a face of the cephoid sT.* called sT.*O�� is given by the referencesystem
bluef25bluef25 (3) J (1) = {5, 6}, J (2) = {1, 3, 4, 7}, J (3) = {1, 2, 5} .
the precise way to write this faces is
(4) sT.*O�� := Δa(1)
{56} +Δa(2)
{1347} +Δa(1)
{125},
where the vectors a(1),a(2),a(3) are given by the rows of the matrix sT.*.
To represent this by an appropriate array we choose a N × K matrix, thecolomns of which correspond to the various reference sets. Then we obtainfor sT.*O��:
===========================================
sT.*O��
� � �
� � �
� � �
� � �
� � �
� � �
� �
)+ sT.*O��
� � # � � � # � � � #
==========================================
The function )+ writes a face; it helps to obtain an immediate overview aboutthe index sets suggested by the array that is used for computational purposewithin ��� context. Within the above sketch we have used the function )+
in order to write the face sT.*O�� in a way which resembles formula (3).
The adjustment coefficients as mentioned above c�k are determined uniquelyup to a positive multiple. The set
L := {l ∈ I l appears in at least two of the sets J (k)}
� Section 1: Faces � 59
is called the adjustment set . It serves to determine the normal of F asfollows.We write L(k) := L ∩ J (k) and
(5) � :={(k, l) l ∈ L, J (k) � l
}=
{(k, l) l ∈ L(k)
}and obtain the linear adjustment system which is the homogeneous linearsystem of equations in variables (ck, λl), ((k, l) ∈ �), given by
linsysequlinsysequ (6) cka(k)l = λl ((k, l) ∈ �).
As shown in [5], this system (for fixed F ) has a unique solution (up to apositive constant) (c�•,λ
�•), the first ingredients of which yield the adjustment
coefficients. Moreover, the normal n� of F is obtained by computing
normalpermaxnormalpermax (7) a�i := maxk∈K
c�ka(k)i (i ∈ I)
and
normalpermax2normalpermax2 (8) n� =
(1
a�1, . . . ,
1
a�n
).
Finally, note that the linear functional x → n�x attains its maximum re-stricted to Π(k) = Πa(k)
exactly on Δ(k)
J(k). “Adjustment” means that the
maximal value of this functional relative to c�kΠ(k) (which is attained exactly
on c�kΔ(k)
J(k)) equals some common value t� for all k ∈K – which is why n� isindeed the normal to ∨
k∈Kc�kΔ
(k)
J(k)
as well as to F .
The computational procedures for to deal with these objects are constructedas follows. The solutions to the linear adjustment system are given by thefunction LNR.M,q0*O. Note that this is a function of two variables as theface is given via the reference system referring to the matrix A representinga cephoid. Thus we have
sT.*O�� LNR.M,q0*O sT.*
�w��������������� �w���������� �w�����������������
Next we determine the coefficient matrix of the linear adjustment system.To this end we rewrite the linear system (9) in the form
linsysequlinsysequ (9) cka(k)l = λl ((k, l) ∈ �),
such that the coefficients of the λρ are all equal to −1. The program q0�
*OOT/tLNR then yields for instance:
60 � Cephoids � Chapter VII �
===================================
sT.*O�� q0*OOT/tLNR sT.*
� � � � � � � � � �
� �� � �� � � � � � �
� � � �� � � � � � �
� � ��� � �� � � � � �
� � � � �� � � � �
� �� � � � � �� � � �
��� � � � � � � �� � �
� � � � � � � �� � �
��� � � � � � � � �� �
� �� � � � � � � � ��
===================================
Based on these procedures we are now in the position to compute the normalto a face. In order to do so we solve the linear adjustement system andthereafter just take the inverse vector (“coordinatewise”). The result is ourfirst basic function: ]t0+uLT which we represent fully as follows:
U �V t0+ 2 O ]t0+uLT L�q�qu�qM,L+
U �V
U �V � ==========================================================
U �V � q0u1.,*M ,Q* t0+uLT ,0 L OLq* O 0O L q*1Q0/N Lw
U �V � .M*M ,Q* T/t*L+ LNR.M,u*t,M-M,*uv ,Q.M q0u1.,*M
U �V � ,Q* M0T.,/0t ,0 ,Q* T/t*L+ LNR.M,u*t,M-M,*uv ,Q*t /tr*+,M
U �V � ,Q* r*q,0+ q00+N/tL,*)/M*w
U V � .M*N LM M.s+0.,/t*M L+* ,Q*+*O0+* O.tq,/0tM
� Section 1: Faces � 61
U V � = LNR.M,q0*OO =v = q0*OOT/tLNR =v = TuL,+/p = LtN
U �V � ,Q*/+ M.s+0.,/t*Mw
U��V � ==========================================================
U��V �
U��V q2 O LNR.M,q0*O L
U��V 3`q��ax*++0
U��V � q2� � �
U��V qu2 ```7LaU�Va x ``7qav�a7 qa�L
U��V qM,L+ 2 Y xU�V qu
U�V t0+2�ÆqM,L+
U�V 3�
U��V � OOOOOOOOOOOOOOOOOOOOOOOOOOO
U��V *++0�
U��V ^*++0+ )Q*t q0u1.,/tP L t0+uLT r/L = t0+uLTO = &^
U��V ^t0+uLT /M /MM.*N )/,Q �w^
U��V t0+ 2 �
62 � Cephoids � Chapter VII �
2 The Dual Cephoidaplchcephs2
To any cephoid represented by a matrix A we can construct its dual by justtaking the adjoint or transposed Matrix AT . Assume that A is a K × N–matrix, that is the cephoid
Π =K∑k=1
Πa(k)
is a sum of K deGua simplices in �n. Then, clearly the dual cephoid is asum of n simplices in �K . We write a
(i)k := a
(k)i (i ∈ I, k ∈K). and call the
family
(1)(a(i)
)i∈I
the dual family . The cephoid
(2) Π = Πa•=
∑i∈I
Πa(i)
is the dual cephoid .
The dual cephoid is at once seen to be given by �A. It is the nice result of[3] that the faces of the dual cephoid are obtained by simple operation fromthe faces of the primal cephoid. To be precise, let F be a maximal face of Π
given by its reference system J =(J (k)
)k∈K
. For i ∈ I we write
(3) J(i)
:={k ∈K i ∈ J (k)
},
then it turns out that
(4) J =(J
(i))i∈I
(called the dual reference system) defines a maximal face of Π. This waya bijective mapping between the faces of both the primal and dual cephoidis established. The dual face to some face F is, therefore, easily computed,we use function N.LTOLq* given as follows.
U�V N.LT 2 N.LTOLq* O�+
� Section 2: Duality � 63
U�V
U�V � ==========================================================
U�V � P*t*+L,*M ,Q* N.LT OLq* ,0 L OLq* O
U�V � ==========================================================
U�V +27O
U�V N.LT 2 ``� Oa��a � � +7 ;+U�V
Obviously, this operation can be performed with a family of faces, in partic-ular with the family of all faces of Π; this is done by the function N.LTOLu.
For example, turning to the 25th face of cephoid sT.* we obtain
sT.*O��
� � �
� � �
� � �
� � �
� � �
� � �
� �
)+ sT.*O��
� � # � � � # � � � #
===========
N.LTOLq* sT.*O��
� � � � � � �
� � � � � � �
� � � � � � �
)+ N.LTOLq* sT.*O��
� � # � # � # � # � � # � # � #
Now, the faces of the dual cephoid obey the same laws as the one of the primal
64 � Cephoids � Chapter VII �
cephoid. In particular, we can construct the linear adjustment system of thedual F to a face F . The dual adjustment set is then
(5)L :=
{k ∈K k is in at least two different J
(i)}
={k ∈K |J (k)| ≥ 2
}which yields the set
(6)� :=
{(i, s) s ∈ L, J
(i) � s}
={(i, s) s ∈ L
(i)}
={(i, s) i ∈ J (s), J (s) ≥ 2
}.
analogously to (9) of Section 1. Hence the dual linear adjustment sys-tem is the linear system of equations in variables (n•, μ•)
duallinsystduallinsyst (7) a(i)s ni = μs ((i, s) ∈ �).Now, in [3] it is shown that the adjustment coefficients of the primal faceconstitute the normal of the dual face and vice versa. In particular, thesystem (7) directly serves to compute the normal of the primal face.
Based on this result we obtain a second method of computing the normal toa face of a cephoid.
U�V t0+uLT* 2 OLq* ]t0+uLTN L
U�V
U�V � ==========================================================
U�V � q0u1.,*M ,Q* t0+uLT 0O L OLq* r/L N.LT/,- ,Q*0+-w
U�V � ,QL, /Mv q0u1.,*M ,Q* LNR.M,u*t, q0*OO/q/*t,M 0O ,Q*
U�V � N.LT OLq* +*TL,/r* ,0 ,Q* ,+LtM10M*N uL,+/p L�, w
U�V � ==========================================================
UV
UV t0+uLT* 2`N.LTOLq* OLq*a LNR.M,q0*O � L
� Section 2: Duality � 65
When comparing both methods and the results obtained by computing thenormals via the two programs obtained, a caveat is in order. Both the lin-ear adjustment systems are homogeneous systems of degree 1, that is, thesolution space is one–dimensional (i.e. the solutions are just unique up to amultiple constant – so is the normal to a face).
We obtain a solution by requiring a variable to satisfy λ1 = 1 within thesystem. But the transposition of the matrix and the dual face operationinvolved in program ]t0+uLTN may change this normalizations, so both re-sults may differ. For example, we seem to have a discrepancy in the followingcomputations, but it turns out that the first result is a multiple of the second.
sT.*O�� ]t0+uLT sT.*
�w���������������� �w�������������� �w������������
�w����������������� �w������������
�w����������� �w�������������
sT.*O�� ]t0+uLTN sT.*
�w��������������� �w������������������ �w�����������������
�w����������������� �w���������������
�w���������������� �w����������
`sT.*O�� ]t0+uLTN sT.*a Æ sT.*O�� ]t0+uLT sT.*
�w��������������� �w�������������� �w�������������
�w������������� �w���������������
�w�������������� �w���������������
66 � Cephoids � Chapter VII �
3 The First Algorithmaplc7*s3
Within this section we describe and implement an algorithm for computingall maximal faces of a (non–degenerate) cephoid. To this end, we employa recursive procedure describing the number and nature of maximal facesof such a cephoid Π =
∑k∈K. The procedure – and hence the idea of
our algorithm – in this case is derived from [5]. We shall use the fact that,for n ≥ K every maximal face of a cephoid Π can be found on the n − 1boundaries, i.e., has a nonempty intersection with the outward surface of oneof the lower dimensional cephoids ΠI\{i} for some i ∈ I.
Let J ⊆ I. We say that a maximal face F of Π has a proper J–cut if
(1) dim (F ∩�nJ+) = |J | − 1
holds true, i.e., the intersection has the dimension of the �nJ+–boundary of
the (outer) surface ∂Π of Π. Another way of interpreting this definition is as
follows. Consider, for any a(k) the restriction to �nJ called a
(k)J . Then
ΠJ =∑k∈K
Πa(k)J ⊂ �n
J+
is a cephoid in �nJ+. It is not hard to see that F has a proper J–cut if and
only ifF ∩�n
J+
is a maximal face of ΠJ .
Proper cuts are ordered by inclusion. A minimal proper cut is a propercut with minimal dimension, that is with minimal size of J . We call F anl–based face if the dimension of the minimal proper cut is l − 1.
Thus, a 1–based face contains a vertex, a 2–based face cuts properly into a2 dimensional subcephoid of Π, etc.
Now, based on Proposition 6.1 of [5] we formulate the following remark.
maxlm1 Lemma 3.1. Let F be a maximal face of Π. Then F is an l–based face forsome l ≤ min{K − 1, n}. The set J that yields the minimal proper cut isexactly the set L of reference indices of F . In particular, if K ≤ n holdstrue, then any maximal face is l based with some l ≤ n− 1.
As a consequence, for K ≤ n any maximal face of a cephoid Π induces amaximal face of a lower dimensional cephoid of dimension of at most K−1 ≤
� Section 3: 1st Algorithm � 67
n − 1. This lower dimensional maximal face however has the same set ofreference indices L. As the reference indices uniquely determine a maximaleface, we can identify the original face by it lower dimensional induced version.
This fact clearly hints to a recursive procedure in order to compute all max-imal faces of a cephoid: we look to the maximal faces of (n− 1)–dimensionalsubcephoids and try to augment the corresponding reference sets accordingly.
This augmentation is performed by means of the linear adjustment system.For, given the set L (which stems from a face F (−i) of some (n− 1) dimen-sional cephoid Π(−i) ), we can compute the normal, say n�, to the correspond-ing face F in n dimensions. Now, given this normal, the reference system ofthe face is obtained at once. For, the reference set J (k) of F is described bythe fact that the functional x → n�x attains its maximum relatively to Δ(k)
exatly on Δ(k)
J(k). Therefore, given n�, the set J (k) consists of just those i ∈ I
that maximize the expression a(k)in� = a(k)i n�
i .
Let us describe a more formal approach as follows.
We write
(2) a• :=(a(k)
)κ∈K
for a family of positive vectors generating a cephoid. Consider the mapping(3)
F(K, n; �) :{a• :=
(a(k)
)κ∈K a• is non-degenerate
}→ P
((P(I))K
)( where P(•) denotes the power set) which associates with a set of positivevectors in �n
+ a finite set F(K, n;a•) of reference systems (J (1), . . . ,J (K))corresponding to the faces of Π =
∑i∈K Π(k). We base an algorithm on
the following Theorem that is proved in [5]:
Theorem 3.2. The function F(K, n; �) can be recursively computed usingthe functions F(K ′, n; �) (K ′ < K) and the functions F(K, n′; �) (n′ < n).
Proof:
1stSTEP : We start with n = 2. In this case the cephoidal surface consistsof line segments. For arbitrary K assume that the slopes of line segmentsa(k)1
a(k)2
are strictly decreasing in k. Then the faces of Π are given by
facesn2facesn2 (4) F (k) :=∑l<k
a(l)1 +Δa(k)
+∑l>k
a(l)2 .
68 � Cephoids � Chapter VII �
Equivalently, the corresponding index sets are given by
indexn2indexn2 (5)
J (1) = . . . = J (k−1) = {1},J (k) = {1, 2},
J (k+1) = . . . = J (K) = {2}.The correponding matrix representing such a face in our code is given by
(1 · · ·1 1 0 · · ·00 · · ·0 2 2 · · ·2
).
Thus, in this situation, the maximal faces are just the translates of the linesegments and the computation is rather straightforward.
In general, as the line segments involved will not be ordered according todecreasing slopes, one has to employ a suitable permutation generating thecorrect ordering.
This way, all faces are completely described in case that n = 2 holds true;an ��� –function representing this algorithm is ]OLqt�:
\ OLu 2 ]OLqt� L�S�t�T�(�.1,+/�T0),+/
U�V �
U�V � ==========================================================
U�V � q0u1.,*M ,Q* OLq*M 0O Lt S�� q*1Q0/N
U�V � ==========================================================
U�V � ,Q* NL,L�
U�V S2 `7LaU�V � t 2 `7LaU�V
UV 3`t��ax)L+t
UV � ,Q* 1*+u.,L,/0t�
U�V (2LU��VÆLU��V
U��V 1/2DZDZ(
U��V � ����������������������������������������������������������
U��V � ,Q* .11*+ ,+/LtPT* ����uL,+/p�
U��V .1,+/ 2 `;Sa�w� ;S
U��V � ,Q* T0)*+ ,+/LtPT* ����uL,+/p�
U��V T0),+/ 2 � � `;Sa �w� ;S
U��V �3�
U�V � ����������������������������������������������������������
� Section 3: 1st Algorithm � 69
U�V � ,LS/tP L OLq* s- +*L++LtP/tP ,Q* q0T.utM 0O s0,Q ,+/LtPT*M�
U��V �
U��V T2�
U��V OLu 2 �7�
U��V � q0.t,/tP ,Q* q0T.utM�
U��V � ����������������������������������������������������������
U��V .1�3`S�T 2 T �ax�
U��V OLu 2 OLuv y`�vSa7` .1,+/UT�VU1/Vav`T0),+/UT�VaU1/V
U��V 3 .1
U�V )L+t�
U�V ^t /M t0, � /t 1+0P+Lu =OLqt�=^
U��V ^OLu/T- /M /MM.*N )/,Q �7�^
U��V OLu2�7�
\
As an example we compute the faces of two columns of the transposed matrixof sT.*:
sT.*
��� ��� ��� �� ��� ��� ���
�� �� �� �� � ��
� ��� ��� �� � �� ��
`� sT.* aU�� �V
��� �
��� ���
��� ���
�� ��
��� �
��� ��
��� ��
)+- ]OLqt� `� sT.* aU�� �V
� � # � # � # � # � # � # � #
� # � # � � # � # � # � # � #
� # � � # � # � # � # � # � #
� # � # � # � # � � # � # � #
� # � # � # � # � # � � # � #
70 � Cephoids � Chapter VII �
� # � # � # � # � # � # � � #
� # � # � # � � # � # � # � #
2ndSTEP : For completeness we consider the case K = 2 for dimensionn ≥ 3 that has been treated in Section 4 of [5]. We do not have to developa separate program for this case if we are willing to employ duality theory.However, we want to shortly describe the “duality free” procedure.
In case of two cephoids we call the deGua simplices involved Πa and Πb. Now,for any two prisms Πa and Πb, there is an ordering ≺ of I that completelydescribes all faces via
facepermfaceperm (6) F≺i := Δ(a)
S≺i+Δ
(b)
T≺i
(i ∈ I).
with
(7) T≺j := {i ∈ I i ≺ j} ∪ {j} S≺
j := {i ∈ I j ≺ i} ∪ {j}denoting the predecessors (resp. successors) of j ∈ I including j.
Now, for n = 3, determine i ∈ I = {1, 2, 3} such that bi admits the normalof Δa. Next, determine j ∈ I = {1, 2, 3} such that aj admits the normal ofΔb. Let k be the third index. Then the ordering is i ≺ k ≺ j.
For n > 3, suppose the procedure is known for n− 1. Compute the orderingon I \ {n} by projecting all prisms and the sum in �n
I\{n}. Likewise proceed
in order to obtain an ordering on I \ {1}. The orderings are necessarily con-sistent and define an ordering on I. This generates all faces and index setsvia (6).
Here is a corresponding program. Note that the procedure includes morerecursion, hence is less “��� ”–elegant but possibly faster ....
U �V OLu 2 ]OLqS�ts*T L�(�1/�T�u�S
U �V
U �V
U �V � ==========================================================
U �V � P*t*+L,*M LTT OLq*M 0O L q*1Q0/N P/r*t r/L ,Q* uL,+/p L
U �V � O0+ O0+ S � �v /w*wv O0+ L /M L � �t uL,+/pv
� Section 3: 1st Algorithm � 71
U �V � ,Q.M q0tM/M,M 0O ,)0 +0)Mw
U V � ===========================================
U V
U �V S2`7LaU�V
U��V ( 2 LU��VÆLU��V
U��V
U��V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U��V � OLq*M L+* q0tM,+.q,*N ,LS/tP /t,0 Lqq0.t,
U��V � ,Q* 0+N*+/tP 0+ 1*+u.,L,/0t
U��V � ,QL, /M P*t*+L,*N s- ,Q* M/o* 0O ,Q* MT01*M 0O ,Q*
U��V � M,+L/PQ, T/t*M q0++*M10tN/tP ,0 ,Q* q0T.utM 0O L
U�V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U�V 1/ 2 DZ(
U��V �1/
U��V �^^
U��V �^ )* uL- T/M, ,Q* 1*+u.,L,/0t /t qLM* /, /M t**N*N�^
U��V ��(
U��V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U��V T2� � u2�`�vSa7`;SavS7�
U��V uU1/U�V�V2 `1/U�Vv1/U�Va
U��V
U�V OLu 2y u
U�V � ������������������������������������������������
U��V .1�
U��V 3`S�T2T �ax *tN
U��V uU1/UT��V�V2 `�v1/UT��Va
U��V uU1/UTV�V2 `1/UTVv1/UTVa
U��V OLu2OLuv y u
U��V 3.1
U��V *tN�
72 � Cephoids � Chapter VII �
3rdSTEP :
Now we proceed by induction in K and n. For K > n, we may use dualityin order to convert our problem to a situation in which K < n holds true.We may therefore assume K ≤ n to be the case.
4thSTEP : If K ≤ n then, for any maximal face F , we know that F is anl–based face with l ≤ K − 1 ≤ n − 1. Consider the representation by thereference system, say
summandssssummandsss (8) F =K∑k=1
Δ(k)
J(k)
and let L ⊆ I with |L| = l be the set of adjustment indices. As l ≤ n− 1 istrue, there is at least one index in I that is not an element of L. Assume forthe sake of simplicity that this index is n.
Consider the projection on �nI\{n}. Then we have Δ
(k)
J(k)∩�nI\{n} = Δ
(k)
J(k)\{n}.
As F I\{n} is maximal with respect to ΠI\{n} =∑K
k=1Δ(k)I\{n} we note that
(9) F I\{n} =
K∑k=1
Δ(k)
J(k)\{n}.
Hence, F I\{n} is an l–based face with the same set of boundary indices L. Asthe dimension has been reduced by one, F I\{n} or rather the reference systemcan be computed using the procedures defining the functions F(K, n′; �) forn′ < n.
5thSTEP :
Now, the set L of adjustment indices obtained for some face F I\{n} recur-sively is as well the adjustment set for the face F . The set L determinesthe face F uniquely and the way to handle this computationally is indicatedby the adjustment system. The adjustment system can be set up (in full ndimensions) and yields the normal of F . The normal in turn determines theextremals of F as, for any k ∈K, these are those vectors a(k)i (i ∈ I) thatmaximize the inner product with the normal relative to Δ(k).
6thSTEP : We have to observe that the transition from F to F I\{n} is notunique. In other words, a face F may have quite a few descendants inn− 1 dimensions or less, thus appear several times when the recursion fromlower dimensions to n is enacted. To prevent multiple listings, we have toeliminate double appearances of faces. A possible procedure is to appeal to
� Section 3: 1st Algorithm � 73
the reference vectors (and not to the reference sets) as these provide less datato check through. The reference vector determines a face uniquely, hence itsuffices to carry on a list of reference vectors and delete multiple listingsaccordingly.
We provide the Function ]Oq+ that incorporates the algorithm describedabove.
U �V OLqPT0s 2 ]Oq+ L�S�t�N�+rPT0s�S��+rPT���L��OLu��+*Ou��S��O��/��O�+�
U �V �
U �V � ==========================================================
U �V � P*t*+L,*M LTT OLq*M 0O L q*1Q0/N +*1+*M*t,*N s- ,Q*
U �V � S � t uL,+/p Lw sLM*N 0t ,Q* +*q.+M/r* LTP0+/,Qu .M/tP
U �V � ,Q* uL,+/p 0O +*O*+*tq* r*q,0+Mw
U �V � ==========================================================
U V � 0.,1., /M L OLu/T- 0O OLq*Mv /w*wv L r*q,0+ *LqQ q0u10t*t,
U V � 0O )Q/qQ /M Lt /tqT.N*N t � S uL,+/p +*1+*M*t,/tP L OLq*w
U �V � ==========================================================
U��V �
U��V �NL,L�
U��V S 2 `7LaU�V
U��V t 2 `7LaU�V
U��V � S � � 0+ t��� +*N.q,/0t ,0 1+0P+LuM Lqq0+N/tPT-w
U��V � ������������������������������������������������
U��V 3`S��axq0tS
U�V OLqPT0s 2 ]OLqS�ts*T L
U�V 3�
U��V � ������������������������������������������������
U��V q0tS�
U��V �
U��V 3`t��axq0tt
U��V OLqPT0s 2 ]OLqt�Ss*T
U��V 3�
U��V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U��V q0tt�
U�V � /O t *pq**NM Sv ,Q*t .M* ,Q* N.LT r*+M/0t�
U�V 3`t�Sax1+/uLT
U��V OLqPT0s 2 N.LTOLu ]Oq+ � L
74 � Cephoids � Chapter VII �
U��V 3�
U��V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U��V 1+/uLT�
U��V OLqPT0s 2 �7�
U��V � ,Q* uL,+/p 0O +*O*+*tq* r*q,0+M `Svta�
U��V +rPT0s 2 S LTT+*Or*qM t
U��V � ����������������������������������������������������������
U�V � s*P/t 0O +0.,/t*�
U�V � /t/,/L,* +0)M 0O +rPT0s�
U��V S�2�
U��V .1� 3` S � S�2S� �ax�
U��V � +0)M 0O +rPT0s )/,Q *t,+- � L, S��
U��V � ����������������������������������������������������������
U��V +rPT�� 2 `+rPT0sU�S�V��axU�V +rPT0s
U��V 3 `� � `7+rPT��aU�Vax.1
U��V �
U��V � N*,*+u/t* OLq*M 0O ,Q* q*1Q0/N 0s,L/t*N s- L�`�S�av
U�V � /,M OLq*M LtN ,Q* q0++*M10tN/tP +*Or*q,0+Mw
U�V � ,Q/M q0t,L/tM /tN.q,/0tM,*1 www
U��V L� 2 `� � S� � ;SaxU�VL
U��V OLu� 2 ]Oq+ L�
U��V +*Ou� 2 +*Or*quL, OLu�
U��V �
U��V �
U��V � /t/,/L,* +0)M 0O +rPT��
U��V �
U��V S�2�
U�V .11� 3 ` `7+rPT��aU�V � S� 2 S� �axN*T*,
U�V � +*N.q* ,Q* +0) 0O +rPT�� L, QLtN L, S��
U��V +� 2 +rPT��US��V
U��V +� 2 `� � S� � ;Sax+�
U��V � LtN q0tM/N*+ ,Q* OLq* P*t*+L,*N O0+ ,Q/M r*q,0+
U��V � )+, ,Q* +*N.q*N uL,+/p L��
U��V O� 2 OLu� M**SOLq* +*Ou�vU�V +�
U��V � T00S O0+ ,Q* 01,/uLT r*+,*p 0O L�`S�a +*TL,/r* ,0 O��
U��V /� 2 O� .t/(.*r*+,p L�vU�VLUS��V
U��V � *p,*tN O� LsN LNN ,0 ,Q* OLu/T- /t q0tM,+.q,/0t�
U�V O 2 `S�v/�a M.s*p,O O�
U�V OLqPT0s 2 OLqPT0svU�V y O
U��V 3.11
U�V �
� Section 3: 1st Algorithm � 75
U�V � ����������������������������������������������������������
U�V N*T*,�
U�V +rPT0s 2 S� qLtqT +rPT0s
U�V 3.1
q.e.d.
76 � Cephoids � Chapter VII �
4 The Second Algorithmaplc7*s4
This algorithm is historically based on the first procedure for enumeratingall faces of a cephoid, see Section 6 of [5]. This original version does notmake use of duality theory, it is fully located in the primal domain.
We distinguish two cases as follows.
Assume first of all K < n. Then any maximal face is l–based with l ≤(K − 1) ≤ (n − 2). That is, a maximal face is essentially determined by aboundary face with at least two dimensions less. This gives rise to a recursiveprocedure: we compute all those boundary faces and extend them to the fulldimension. The matter of extension is also different from the one employedin our first algorithm: for a face of an (n − 2)– dimensional sub–cephoid isit seen that the extension is a rather direct procedure.
Assume then that K ≥ n is the case. According to Corollary 6.8 in [5] weknow that in this case any maximal face of a cephoid has at most (n−1) < Knontrivial reference sets. Thus, we can compute the maximal faces for asum of K0 = n − 1 cephoids. The remaining summands correspond to onedimensional reference sets, in other words, they are vertices of the variousΔ(k). These vertices are uniquely determined according to Theorem 4.2 of[5].
We attempt to describe this step of the algorithm in more detail followingthe 4th step of the proof of Theorem 6.2 in [5].
So we assume K ≤ n − 1. Let F be a maximal face, we know that F is anl–based face with l ≤ K − 1 ≤ n − 2. Consider the representation by thereference system, say
summandssssummandsss (1) F =
K∑k=1
Δ(k)
J(k)
and let L ⊆ I with |L| = l be the set of adjustment indices. As l ≤ n− 2 istrue, there are at least two indices in I that are not elements of L. Assumefor the sake of simplicity that these indices are 1, n.
Now, first of all, consider the projection on �nI\{n}. Then we have Δ
(k)
J(k) ∩�n
I\{n} = Δ(k)
J(k)\{n}.As F I\{n} is maximal with respect to ΠI\{n} =∑K
k=1Δ(k)I\{n}
we note that
(2) F I\{n} =
K∑k=1
Δ(k)
J(k)\{n}.
� Section 4: 2nd Algorithm � 77
Hence, F I\{n} is an l–based face with the same set of boundary indices L.Now F I\{n} or rather the reference system can be computed using the proce-dures defining the functions F(K, n′; �) for n′ < n. This is so as the dimensionhas been reduced properly.
The same procedure can now be followed using the projection on �nI\{1}.
Then, for any k we have computed recursively the index sets
J (k) \ {n} , J (k) \ {1} ,
and asJ (k) = (J (k) \ {n}) ∪ (J (k) \ {1}) .
Instead of two indices this procedure can be performed with any finite numberof indexes not in L.
Thus, for any k ∈K, the index set J (k) is determined via
(3) J (k) =⋃i/∈L
(J (k) \ {i}
)
which defines the face F of Π or an element of F(K, n;a•).
78 � Cephoids � Chapter VII �
5 The Third Algorithmaplc7*s5
Our third algorithm results from the Bijection Theorem regarding faces andreference vectors of a cephoid, see Theorem 3.2 as well as Corollaries 3.3. and3.4 of [3]. Accordingly, we seek to construct all faces by running through alist of the reference vectors and computing to each such reference vector theappropriate face.
The procedure is recursive as well. It is based on the idea that, for n ≤ K, areference vector has at least one coordinate that equals 1. Indeed, accordingto the definition, a reference vector r = (r1, . . . , rK) has to satisfy rk ≤n (k ∈K) and
K∑κ=1
rk = K + n− 1 .
Now, if rk ≥ 2 holds true for all k ∈K, then we have
n+K − 1 =∑k∈K
rk ≥ 2K,
that is, n− 1 ≥ K.
Hence we are going to deal with the case n ≤ K and the alternative n > Kis treated via an application of Duality Theorem as in the First Algorithm.
Now, consider the case that rK = 1. Then we observe that the vector(r1, . . . , r(K−1)) is a reference vector for the cephoid Π0 :=
∑k∈K\{K}Δ
(k).in view of∑
k∈K\{K}rk =
∑k∈K
rk − 1 = (n +K − 1)− 1 = n+ (K − 1)− 1 .
Therefore, we can obtain the maximal face F 0 of Π0 corresponding to thisreference vector by a recursive procedure as Π0 is a sum of K − 1 deGuasimplices in �n. It remains to construct the maximal face of Π that resultsfrom adding a (unique) vertex a(K)i of Δ(K) to F 0.
Now, this vertex does indeed exist uniquely as is stated in Theorem 4.2 andCorollary 4.4 of [2]. There it is shown that, given the normal n0 of F 0, thereis exactly one vertex a(K)i0 of Δ(K) that admits of this normal, i.e., containsn0 within its normal cone. Of course, this is the unique vertex a(K)i0 thatmaximizes the inner product with n0 over all vertices of Δ(K).
Therefore, adding a(K)i0 to F 0 yields a maximal face of Π which has thecorrect reference vector r. This describes our third procedure for enumeratingall faces of a cephoid.
� Section 5: 3rd Algorithm � 79
We shall implement this procedure in ��� – code as follows.
1stSTEP : If n = 2 or K = 2 is the case then treat this case directly byprograms \OLqt� and \OLqt�Ss*T v \OLqS�ts*T respectively.
2ndSTEP : If n− 1 ≥ K is the case, apply dualization twice, i.e., essentiallytreat the case n ≤ K − 1.
3rdSTEP : Henceforth assume n ≤ K.
4thSTEP : Given the family a(•) ={a(k)
}k∈K , take any subset of k − 1
elements of this famlily. Consider e.g. {1, . . . , (K − 1)} for the sake of the
argument. Then, by recursion compute all faces of the family{a(k)k∈K−{K}
}.
To any such face F (0), compute the normal n(0). Find the unique vertex a(i0)
of Δ(K) which admits n(0) as a normal. Then F (0) + a(i0) is a face of theoriginal family a(•)
A more detailed description is provided by the following matrix.
)M = q*1QLTP+ =
)M ,0 q0u1.,* LTT OLq*M 0O L q*1Q0/N Lqq0+N/tP ,0 ,Q* ,Q/+N
LTP0+/,Qu )Q/qQ /M sLM*N 0t +*q.+M/0t LT0tP +*O*+*tq* r*q,0+Mw
======================================================================
,Q/M )M q+*L,*N N*q*us*+ ���� x RLt.L+����
======================================================================
uL,+/p = /tO0 =
wa
L q*1Q0/N /M +*1+*M*t,*N s- L S�t uL,+/pw ,Q* +0)M 0O ,Q/M uL,+/p
q0++*M10tN ,0 ,Q* N* P.L M/u1T/q*M /tr0Tr*Nw ,QL, /Mv LU/�V +*OT*q,M
L M/1T*p M1Ltt*N s- r*q,0+M L�`Sa � U�vwwwvLUS�/Vv�wwwv�V `/��vwwwvta
/t +�t[ O0+ S��vwwwvSSw
*pLu1T*� q*1Q10/N =sT.*= /M L M.u 0O � r*q,0+M /t +�
sT.*
��� ��� ��� �� ��� ��� ���
�� �� �� �� � ��
� ��� ��� �� � �� ��
80 � Cephoids � Chapter VII �
wa
L OLq* 0O L q*1Q0/N /M +*1+*M*t,*N s- L t�S uL,+/pw ,Q/M uL,+/p
+*1+*M*t,M ,Q* +*O*+*tq* OLu/T- 0O ,Q* OLq*v *LqQ +0) q0++*M10tN/tP
,0 Lt /tN*p / 6 // LtN *LqQ q0T.ut 10/t,/tP ,0 L N* P.L M/u1T*p Sw
,Q.Mv q0T.ut S +*OT*q,M ,Q* /tN*p M*, R�`Sa y // 0O ,Q* +*O*+*tq*
OLu/T- N*Mq+/s/tP ,Q* OLq*w
*pLu1T*� sT.*O /M ,Q* M.u 0O ,)0 .t/, r*q,0+M *�� LtN ,Q* O.TT
M/u1T*p N*T,L�`�a
sT.*O
� � �
� � �
� � �
� � �
� � �
� � �
� �
OLq*M qLt s* r/M.LT/o*N s- O.tq,/0t = )+ = )Q/qQ )+/,*M
,Q* +*O*+*tq* OLu/T- /t L u0+* N/+*q, )L-w
*pLu1T*�
)+ sT.*O
� # � # � � � � � � #
wa
L OLu/T- 0O OLq*M /M L r*q,0+v ,Q* q00+N/tL,*M 0O )Q/qQ
L+* /tqT.M/0tM 0O ,Q* u*us*+M 0O ,QL, OLu/T-w ,Q.Mv )* QLr*
7 rr���OLq*t � �� LtN 7 rr���OLq*tU�V � o/TN* )Q/T*
7 zrr���OLq*tU�V � � � v LM ,Q* /tqT.N*N � M, q00*+N/tL,* /M
L � � uL,+/p tLu*T-
zrr���OLq*tU�V
� � � �
� � � �
� � � �
,QL, /M
)+ zrr���OLq*tU�V
� Section 5: 3rd Algorithm � 81
� # � # � # � � � #
t0)v ,Q* )Q0T* OLu/T- qLt s* r/M.LT/o*N r/L ,Q* O.tq,/0t =)+-=
LM O0TT0)M�
)+- rr���OLq*t
� # � # � # � � � #
� # � # � � # � � #
� # � # � � � # � #
� # � � # � � # � #
� # � � � # � # � #
� # � � # � # � � #
� � � # � # � # � #
� � # � � # � # � #
� � # � # � � # � #
� � # � # � # � � #
����������������������������������������������������������������������
wa
O.tq,/0t =+*Or*quL,=
M-t,Lp
+M 2 +*Or*quL, 1
� ===============================================
� 1 /M L OLu/T- 0O OLq*M� ,-1/qLTT- LTT OLq*M 0O
� L q*1Q0/Nv Q*tq* L N*Mq+/1,/0t 0O ,Q* M.+OLq* 0O
� ,QL, q*1Q0/Nw ,QL, /Mv 1 /M L r*q,0+ ,Q* q00+N/tL,*M
� 0O )Q/qQ L+* /tqT.N*N t � S uL,+/q*M +*1+*M*t,/tP
� OLq*Mw ,Q* O.tq,/0t =+*Or*quL,= -/*TNM ,Q*
� q0++*M10tN/tP +*O*+*tq* r*q,0+Mw LM *LqQ OLq* M.11T/*M
� L +*O*+*tq* r*q,0+v ,Q* +*M.T, /M L uL,+/p ,Q*
� +0)M 0O )Q/qQ 1+0r/N* ,Q* +*O*+*tq* r*q,0+M 0O ,Q*
� OLq*M 0O ,Q* OLu/T- 1w
� ==============================================
*pLu1T*v +*O*++/tP ,0 ,Q* Ls0r* OLu/T- =rr���OLq*t= �
+*Or*quL, rr���OLq*t
� � � �
� � � �
� � � �
82 � Cephoids � Chapter VII �
� � � �
� � � �
� � � �
� � � �
� � � �
� � � �
� � � �
����������������������������������������������������������������������
wa
O.tq,/0t = LNR.M,q0*O =
M-t,Lp�
q 2 OLq* LNR.M,q0*O L
� ==========================================================
� q0u1.,*M ,Q* LNR.M,u*t, q0*OO/q/*t,M 0O L OLq* =OLq*=
� 0O L q*1Q0/N ,QL, /M P/r*t s- L uL,+/p Lw
� ==========================================================
M.s+0.,/t*M .M*N�
= q0*OOT/tLNR =
`P*t*+L,*M ,Q* q0*OO/q/*t,uL,+/p 0O ,Q*
T/t*L+ LNR.M,u*t, M-M,*uav
= T/t*(M0Tr =
`M0Tr*M ,Q* T/t*L+ *(.L,/0t Lp � sa
*pLu1T*�
sT.*O LNR.M,q0*O sT.*
�w���������� �w���������� �w��������
����������������������������������������������������������������������
wa
O.tq,/0t = ]t0+uLT =
M-t,Lp�
t0+ 2 O ]t0+uLT L
� ==========================================================
� q0u1.,*M ,Q* t0+uLT r/L ,Q* T/t*L+ LNR.M,u*t,M-M,*u LtN
� ,Q* LNR.M,u*t,q0*OO/q/*t,Mw
� Section 5: 3rd Algorithm � 83
� ������������������
� sLM*N 0t 1+0P+Lu = LNR.M,q0*O = .tN ,Q* M.s+0.,/t*M /tr0Tr*N
� ,Q*+*/tw ,QL, /M M.s�v M.s�v LNR.M,/tNv TuL,+/pv T/t*(M0Trw
� � ==========================================================
*pLu1T*�
sT.*O ]t0+uLT sT.*
�w�������� �w��� �w��������� � �w��������� �w������ �w���������
����������������������������������������������������������������������
wa
O.tq,/0t = .t/(.*r*+,p =
�
� ==========================================================
� P/r*t M0u* OLq* O� 0O L q*1Q0/N q*1Q LtN L r*q,0+ r*q
� 1+0P+Luu N*,*+u/t*M ,Q* .t/(.* /tN*p /� M.qQ ,QL,
� q00+N/tL,* /� uLp/u/o*M r*qwt0+uLT O�w ,Q.Mv
� O� r*qU/�Vw*�/� /M L qLtN/NL,* O0+ L OLq* 0O L q*1Q0/N
� )/,Q S � N*P.LMw
� ��������������
� /t1.,�
� qr /M q*1Q
� r*q
� ,QL, /Mv r*q QLM T*tP,Q LM P/r*t s- t.us*+ 0O q0T.utM 0O
� q*1Qw ,Q*+*O0+* M-t,Lp u.M, s*
�
� = /� 2 O� .t/(.* L�vU�V r*q = w
�
*pLu1T*�
sT.*O .t/(.*r*+,p sT.*vU�V� � � � � � �
�
����������������������������������������������������������������������
waO.tq,/0t = ]OLqt�SL+s =
� ==========================================================
� O0+ t�� LtN S L+s/,+L+- � �v 1+0P+Lu q0u1.,*M ,Q* OLq* ,0
� +*O*+*tq* r*q,0+ +�`�vwww�v�v�wwww�a 0O L q*1Q0/N P/r*t s-
84 � Cephoids � Chapter VII �
� L `S��a�uL,+/p Lw
� ==========================================================
M-t,Lp�
OLq* 2 + ]OLqt�SL+s L
s*/M1/*T�
`� sT.*aU�� �V
��� ��
��� ��
���
�� ��
��� ��
��� �
��� ��
� � � � � � � ]OLqt�SL+s `� sT.*aU�� �V
� � � � � � �
� � � � � � �
����������������������������������������������������������������������
wa
O.tq,/0t = M.s*p,O =
�
� ==========================================================
� M.s+0.,/t* O0+ wwww
� P/r*t L OLq* O 0O N/u*tM/0t `ML-a t � `S��av
� 1+0P+Lu *p,*tNM O /tLMu.qQ LM Lt LNN/,/0tLT
� q0T.ut /M /tM*+,*N LM q0T.ut S�w ,Q/M q0T.ut /M ,Q* r*S,0+
� `�vwwwv�vS�v�vwwwv�a 0O T*tP,Q Sw Q*tq* ,Q* +*M.T,/tP OLq*
� QLM N/u*tM/0tM t � Sw
�
� Q-10,Q*,/qLTT-v L=/� /M ,Q* uLp/u/o/tP r*q,0+ +*M.T,/tP
� O+0u 1+0P+Lu = .t/(.*r*+,p = )Q/T* S� /M L q00+N/tL,*
� L, )Q/qQ M0u* +*O*+*tq* r*q,0+ + MQ0)M L �w
�
� S�/� /M `S�v/�aw Q*tq* M-t,Lp MQ0.TN s*
� = `S�v/�a M.s*p,O O =
�
� *pLu1T*�
sT.*O
� Section 5: 3rd Algorithm � 85
� � �
� � �
� � �
� � �
� � �
� � �
� �
� � M.s*p,O sT.*O `QL*tP, N/* T*,o,* M1LT,* Lta
� � � �
� � � �
� � � �
� � � �
� � � �
� � � �
� � �
� ==========================================================
�
����������������������������������������������������������������������
wa
O.tq,/0t = ]Oq+ =
�
� M-t,Lp�
OLu 2 ]Oq+ L
�
� ==========================================================
� P*t*+L,*M LTT OLq*M 0O L q*1Q0/N +*1+*M*t,*N s- ,Q*
� S � t uL,+/p Lw sLM*N 0t ,Q* +*q.+M/r* LTP0+/,Qu .M/tP
� ,Q* uL,+/p 0O +*O*+*tq* r*q,0+Mw
� ==========================================================
� 0.,1., /M L OLu/T- 0O OLq*Mv /w*wv L r*q,0+ *LqQ q0u10t*t,
� 0O )Q/qQ /M Lt /tqT.N*N t � S uL,+/p +*1+*M*t,/tP L OLq*w
� ==========================================================
*pLu1T*�
)+- ]Oq+ r/*+r/*+
� # � � � � # � # � #
� # � � � # � � # � #
� # � � � # � # � � #
� # � � # � � � # � #
� # � � # � � # � � #
� # � � # � # � � � #
86 � Cephoids � Chapter VII �
� # � # � � � � # � #
� # � # � � � # � � #
� # � # � � # � � � #
� # � # � # � � � � #
� � � � # � # � # � #
� � � # � # � � # � #
� � � # � # � # � � #
� � # � # � � � # � #
� � # � # � � # � � #
� � # � # � # � � � #
� � � # � � # � # � #
� � # � � � # � # � #
� � # � � # � # � � #
� � # � � # � � # � #
�
����������������������������������������������������������������������
wa
O.tq,/0t = ]Oq+,/u* =
�
� M-t,Lp�
OLq*M 2 ]Oq+,/u* L
� ===============================================================
� ,Q/M /M O.tq,/0t =]Oq+=w Q0)*r*+v L ,/u* u*LM.+/tP /M
� /tqT.N*Nw ,Q* ,0,LT ,/u* O0+ ,0 q0u1T*,* ,Q* q0u1.,L,/0t
� 0O LTT OLq*M 0O L q*1Q0/N /M +*q0+N*Nw
� ===============================================================
� NL,L LO,*+ *p*q.,/0t L11*L+ /t L PT0sLT rL+/LsT* = +*q0+N =
� ,Q/M .M*M ,Q* T/,*+LT rL+/LsT `O0+ua = +*qO0+u = LM 1+0r/N*N
� /t ,Q* )Mw
������������������������������������������������������������
*pLu1T*�
q*1Q0/N = TL+sT.* = /M P/r*t r/L ,Q* uL,+/p
��� ��� ��� �� ��� ��� ���
�� �� �� �� � ��
� ��� ��� �� � �� ��
�� � �� �� �� �� ���
�� �� �� �� �� � �
� �� � ��� �� �� �
� Section 5: 3rd Algorithm � 87
OLq*M L+* T/M,*t /t rL+/LsT* = TL+sTOLq*M =w ,Q* ,/u* *TL1M*N
,0 q0u11.,* ,Q*M* OLq*M `Ls0., � u/t ��w� M*qMa )LM M,L,*N /t
= +*q0+N = LM O0TT0)M�
+*q0+N
���������������,/u* *TL1M*N +*q0+N����������������
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww�
s*P/t� �
���� � �� �� � �� ��
���������������������������� �
*tN� �
���� � �� �� � �� ��
============================
- u N h � d dx���� �
============================ ��
*TL1M*N ,/u*� ��
� � � � � �� ���
============================ ��
For completeness we reproduce here the final result of this WS which isprovided by the function = ]Oq+ =
U �V OLqPT0s 2 ]Oq+ L�S�t�N�+rPT0s�S��+rPT���L��OLu��+*Ou��S��O��/��O�+�
U �V �
U �V � ==========================================================
U �V � P*t*+L,*M LTT OLq*M 0O L q*1Q0/N +*1+*M*t,*N s- ,Q*
U �V � S � t uL,+/p Lw sLM*N 0t ,Q* +*q.+M/r* LTP0+/,Qu .M/tP
U �V � ,Q* uL,+/p 0O +*O*+*tq* r*q,0+Mw
U �V � ==========================================================
U V � 0.,1., /M L OLu/T- 0O OLq*Mv /w*wv L r*q,0+ *LqQ q0u10t*t,
U V � 0O )Q/qQ /M Lt /tqT.N*N t � S uL,+/p +*1+*M*t,/tP L OLq*w
U �V � ==========================================================
U��V �
U��V �NL,L�
U��V S 2 `7LaU�V
U��V t 2 `7LaU�V
U��V � S � � 0+ t��� +*N.q,/0t ,0 1+0P+LuM Lqq0+N/tPT-w
U��V � ������������������������������������������������
88 � Cephoids � Chapter VII �
U��V 3`S��axq0tS
U�V OLqPT0s 2 ]OLqS�ts*T L
U�V 3�
U��V � ������������������������������������������������
U��V q0tS�
U��V �
U��V 3`t��axq0tt
U��V OLqPT0s 2 ]OLqt�Ss*T
U��V 3�
U��V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U��V q0tt�
U�V � /O t *pq**NM Sv ,Q*t .M* ,Q* N.LT r*+M/0t�
U�V 3`t�Sax1+/uLT
U��V OLqPT0s 2 N.LTOLu ]Oq+ � L
U��V 3�
U��V � wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
U��V 1+/uLT�
U��V OLqPT0s 2 �7�
U��V � ,Q* uL,+/p 0O +*O*+*tq* r*q,0+M `Svta�
U��V +rPT0s 2 S LTT+*Or*qM t
U��V � ����������������������������������������������������������
U�V � s*P/t 0O +0.,/t*�
U�V � /t/,/L,* +0)M 0O +rPT0s�
U��V S�2�
U��V .1� 3` S � S�2S� �ax�
U��V � +0)M 0O +rPT0s )/,Q *t,+- � L, S��
U��V � ����������������������������������������������������������
U��V +rPT�� 2 `+rPT0sU�S�V��axU�V +rPT0s
U��V 3 `� � `7+rPT��aU�Vax.1
U��V �
U��V � N*,*+u/t* OLq*M 0O ,Q* q*1Q0/N 0s,L/t*N s- L�`�S�av
U�V � /,M OLq*M LtN ,Q* q0++*M10tN/tP +*Or*q,0+Mw
U�V � ,Q/M q0t,L/tM /tN.q,/0tM,*1 www
U��V L� 2 `� � S� � ;SaxU�VL
U��V OLu� 2 ]Oq+ L�
U��V +*Ou� 2 +*Or*quL, OLu�
U��V �
U��V �
U��V � /t/,/L,* +0)M 0O +rPT��
U��V �
U��V S�2�
� Section 5: 3rd Algorithm � 89
U�V .11� 3 ` `7+rPT��aU�V � S� 2 S� �axN*T*,
U�V � +*N.q* ,Q* +0) 0O +rPT�� L, QLtN L, S��
U��V +� 2 +rPT��US��V
U��V +� 2 `� � S� � ;Sax+�
U��V � LtN q0tM/N*+ ,Q* OLq* P*t*+L,*N O0+ ,Q/M r*q,0+
U��V � )+, ,Q* +*N.q*N uL,+/p L��
U��V O� 2 OLu� M**SOLq* +*Ou�vU�V +�
U��V � T00S O0+ ,Q* 01,/uLT r*+,*p 0O L�`S�a +*TL,/r* ,0 O��
U��V /� 2 O� .t/(.*r*+,p L�vU�VLUS��V
U��V � *p,*tN O� LsN LNN ,0 ,Q* OLu/T- /t q0tM,+.q,/0t�
U�V O 2 `S�v/�a M.s*p,O O�
U�V OLqPT0s 2 OLqPT0svU�V y O
U��V 3.11
U�V �
U�V � ����������������������������������������������������������
U�V N*T*,�
U�V +rPT0s 2 S� qLtqT +rPT0s
U�V 3.1
Bibliography
GUA83 [1] J. P. de Gua de Malves, Article on : The n-dimensional PythagoreanTheorem, in: Histoire de l’Academie des Sciences pour l’ann’ee 1783, cf.Guggenheimer, Mathematical Reviews 1136610.
PALROM04II [2] D. Pallaschke and J. Rosenmuller, Computing the Minkowski sum ofprisms, Journal of Global Optimization 35 (2006), 321–341.
PALROM07IMW [3] , Cephoids: Duality and reference vectors, Working paper No. 389,Institute of Mathematical Economics, University of Bielefeld. To appearin Pacific Journal of Optimization, 2007.
PALROM04III [4] , A superadditive solution for cephoidal bargaining problems, In-ternational Journal of Game Theory 35 (2007), 569–590.
PALROM04I [5] , Cephoids: Minkowski sums of deGua simplexes, Journal of Op-timization 59(4) (2010), 515–540.
91