diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index c507d41..27d1d8a 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -427,98 +427,1702 @@ AffineSpace(dim,K):Exports == Implementation where )set message auto off )clear all ---S 1 of 1 -)show AlgebraGivenByStructuralConstants +\end{chunk} +\subsection{Some examples of algebras in genetics} +Literature: +[WB] A. Woerz-Busekros: Algebras in Genetics, LNB 36, +Springer-Verlag, Berlin etc. 1980. + +Reed, Mary Lynn, "Algebraic Structure of Genetic Inheritance" +Bulletin of the American Mathematical Society, 1997, pp 107-130 + +Gonshor, H., "Contributions to Genetic Algebras" +Proc. Edinburgh Mathmatical Society (Series 2), vol 17, no 4, +1971, pp 289--298 + +\subsection{Commutative, non-associative algebras} +A Gonshor genetic algebra ([WB], p. 41-42) of dimension 4: + +The coefficient ring: +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 1 of 98 +R := FRAC POLY INT --R ---R AlgebraGivenByStructuralConstants(R: Field,n: PositiveInteger,ls: List(Symbol),gamma: Vector(Matrix(R))) is a domain constructor ---R Abbreviation for AlgebraGivenByStructuralConstants is ALGSC ---R This constructor is exposed in this frame. ---R Issue )edit bookvol10.3.pamphlet to see algebra source code for ALGSC ---R ---R------------------------------- Operations -------------------------------- ---R ?*? : (SquareMatrix(n,R),%) -> % ?*? : (R,%) -> % ---R ?*? : (%,R) -> % ?*? : (%,%) -> % ---R ?*? : (Integer,%) -> % ?*? : (PositiveInteger,%) -> % ---R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % ---R ?-? : (%,%) -> % -? : % -> % ---R ?=? : (%,%) -> Boolean 0 : () -> % ---R alternative? : () -> Boolean antiAssociative? : () -> Boolean ---R antiCommutative? : () -> Boolean antiCommutator : (%,%) -> % ---R apply : (Matrix(R),%) -> % associative? : () -> Boolean ---R associator : (%,%,%) -> % basis : () -> Vector(%) ---R coerce : Vector(R) -> % coerce : % -> OutputForm ---R commutative? : () -> Boolean commutator : (%,%) -> % ---R convert : Vector(R) -> % convert : % -> Vector(R) ---R coordinates : % -> Vector(R) ?.? : (%,Integer) -> R ---R flexible? : () -> Boolean hash : % -> SingleInteger ---R jacobiIdentity? : () -> Boolean jordanAdmissible? : () -> Boolean ---R jordanAlgebra? : () -> Boolean latex : % -> String ---R leftAlternative? : () -> Boolean leftDiscriminant : () -> R ---R leftDiscriminant : Vector(%) -> R leftNorm : % -> R ---R leftTrace : % -> R leftTraceMatrix : () -> Matrix(R) ---R lieAdmissible? : () -> Boolean lieAlgebra? : () -> Boolean ---R powerAssociative? : () -> Boolean rank : () -> PositiveInteger ---R represents : Vector(R) -> % rightAlternative? : () -> Boolean ---R rightDiscriminant : () -> R rightNorm : % -> R ---R rightTrace : % -> R rightTraceMatrix : () -> Matrix(R) ---R sample : () -> % someBasis : () -> Vector(%) ---R zero? : % -> Boolean ?~=? : (%,%) -> Boolean ---R ?*? : (NonNegativeInteger,%) -> % ---R associatorDependence : () -> List(Vector(R)) if R has INTDOM ---R conditionsForIdempotents : () -> List(Polynomial(R)) ---R conditionsForIdempotents : Vector(%) -> List(Polynomial(R)) ---R coordinates : Vector(%) -> Matrix(R) ---R coordinates : (Vector(%),Vector(%)) -> Matrix(R) ---R coordinates : (%,Vector(%)) -> Vector(R) ---R leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) ---R leftMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has INTDOM ---R leftPower : (%,PositiveInteger) -> % ---R leftRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if R has FIELD ---R leftRecip : % -> Union(%,"failed") if R has INTDOM ---R leftRegularRepresentation : % -> Matrix(R) ---R leftRegularRepresentation : (%,Vector(%)) -> Matrix(R) ---R leftTraceMatrix : Vector(%) -> Matrix(R) ---R leftUnit : () -> Union(%,"failed") if R has INTDOM ---R leftUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM ---R noncommutativeJordanAlgebra? : () -> Boolean ---R plenaryPower : (%,PositiveInteger) -> % ---R recip : % -> Union(%,"failed") if R has INTDOM ---R represents : (Vector(R),Vector(%)) -> % ---R rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial(R) ---R rightDiscriminant : Vector(%) -> R ---R rightMinimalPolynomial : % -> SparseUnivariatePolynomial(R) if R has INTDOM ---R rightPower : (%,PositiveInteger) -> % ---R rightRankPolynomial : () -> SparseUnivariatePolynomial(Polynomial(R)) if R has FIELD ---R rightRecip : % -> Union(%,"failed") if R has INTDOM ---R rightRegularRepresentation : % -> Matrix(R) ---R rightRegularRepresentation : (%,Vector(%)) -> Matrix(R) ---R rightTraceMatrix : Vector(%) -> Matrix(R) ---R rightUnit : () -> Union(%,"failed") if R has INTDOM ---R rightUnits : () -> Union(Record(particular: %,basis: List(%)),"failed") if R has INTDOM ---R structuralConstants : () -> Vector(Matrix(R)) ---R structuralConstants : Vector(%) -> Vector(Matrix(R)) ---R subtractIfCan : (%,%) -> Union(%,"failed") ---R unit : () -> Union(%,"failed") if R has INTDOM --R +--R (1) Fraction(Polynomial(Integer)) +--R Type: Domain --E 1 -)spool -)lisp (bye) \end{chunk} -\begin{chunk}{AlgebraGivenByStructuralConstants.help} -==================================================================== -AlgebraGivenByStructuralConstants examples -==================================================================== +The following multiplication constants may be chosen arbitrarily +(notice that we write ckij for $c_(i,j)^k$): +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 2 of 98 +(c100, c101, _ +c200, c201, c202, c211, _ +c300, c301, c302, c303, c311, c312, c322) : R +--R +--R Type: Void +--E 2 -AlgebraGivenByStructuralConstants implements finite rank algebras -over a commutative ring, given by the structural constants gamma -with respect to a fixed basis [a1,..,an], where gamma is an n-vector -of n by n matrices [(gammaijk) for k in 1..rank()] defined by - ai * aj = gammaij1 * a1 + ... + gammaijn * an -The symbols for the fixed basis have to be given as a list of symbols. +--S 3 of 98 +c100 := 1 ; c101 := -1 ; +--R +--R +--R Type: Fraction(Polynomial(Integer)) +--E 3 + +--S 4 of 98 +c200 := 0 ; c201 := 1 ; c202 := -1 ; + c211 := 2 ; +--R +--R +--R Type: Fraction(Polynomial(Integer)) +--E 4 + +--S 5 of 98 +c300 := 1 ; c301 := 0 ; c302 := -1 ; c303 := 1 ; + c311 := 1 ; c312 := 0 ; + c322 := 2 ; +--R +--R +--R Type: Fraction(Polynomial(Integer)) +--E 5 + +\end{chunk} +The matrices of the multiplication constants: +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 6 of 98 +gonshor : List SquareMatrix(4,R) := + [matrix [ [1, 0, 0, 0], [0, 0, 0, 0],_ + [0, 0, 0, 0], [0, 0, 0, 0] ],_ + matrix [ [c100, c101, 0, 0], [c101, 0, 0, 0],_ + [0, 0, 0, 0], [0, 0, 0, 0] ],_ + matrix [ [c200, c201, c202, 0], [c201, c211, 0, 0],_ + [c202, 0, 0, 0], [0, 0, 0, 0] ],_ + matrix [ [c300, c301, c302, c303], [c301, c311, c312, 0],_ + [c302, c312, c322, 0], [c303, 0, 0, 0] ] ] ; +--R +--R +--R Type: List(SquareMatrix(4,Fraction(Polynomial(Integer)))) +--E 6 + +--S 7 of 98 +basisSymbols : List Symbol := [subscript(e,[i]) for i in 0..3] +--R +--R +--R (7) [e ,e ,e ,e ] +--R 0 1 2 3 +--R Type: List(Symbol) +--E 7 + +--S 8 of 98 +GonshorGenetic := ALGSC(R, 4, basisSymbols, gonshor) +--R +--R +--R (8) +--R AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e +--R 1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--R Type: Domain +--E 8 + +--S 9 of 98 +commutative?()$GonshorGenetic +--R +--R algebra is commutative +--R +--R (9) true +--R Type: Boolean +--E 9 + +--S 10 of 98 +associative?()$GonshorGenetic +--R +--R algebra is not associative +--R +--R (10) false +--R Type: Boolean +--E 10 + +\end{chunk} +The canonical basis: +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 11 of 98 +e0 : GonshorGenetic := [1, 0, 0, 0] :: Vector R ; +--R +--R +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 11 + +--S 12 of 98 +e1 : GonshorGenetic := [0, 1, 0, 0] :: Vector R ; +--R +--R +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 12 + +--S 13 of 98 +e2 : GonshorGenetic := [0, 0, 1, 0] :: Vector R ; +--R +--R +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 13 + +--S 14 of 98 +e3 : GonshorGenetic := [0, 0, 0, 1] :: Vector R ; +--R +--R +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 14 + +\end{chunk} +A generic element of the algebra: +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 15 of 98 +x : GonshorGenetic := x0*e0 + x1*e1 + x2*e2 + x3*e3 +--R +--R +--R (15) x3 e + x2 e + x1 e + x0 e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 15 + +\end{chunk} +The matrix of the left multiplication with x : +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 16 of 98 +Lx := leftRegularRepresentation x +--R +--R +--R +x0 - x1 + x0 - x2 + x1 x3 - x2 + x0+ +--R | | +--R |0 - x0 2x1 + x0 x1 | +--R (16) | | +--R |0 0 - x0 2x2 - x0 | +--R | | +--R +0 0 0 x0 + +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 16 + +\end{chunk} +leftRegularRepresentationt 8 : GonshorGenetic -> R +be the weight homomorphism +defined by 8(e0) := 1 and 8(ei) := 0 for i = 1,2,3 . +The coefficients of the characteristic polynomial +of Lx depend only on 8(x) = x0 : +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 17 of 98 +p := characteristicPolynomial(Lx,Y) +--R +--R +--R 4 2 2 4 +--R (17) x0 - 2Y x0 + Y +--R Type: Polynomial(Integer) +--E 17 + +\end{chunk} +The left minimal polynomial of x divides Y * p(Y) : +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 18 of 98 +leftMinimalPolynomial x +--R +--R +--R 5 2 3 4 +--R (18) ? - 2x0 ? + x0 ? +--R Type: SparseUnivariatePolynomial(Fraction(Polynomial(Integer))) +--E 18 + +)clear prop A a b c r s + +--S 19 of 98 +A := GonshorGenetic +--R +--R +--R (19) +--R AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e +--R 1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--R Type: Domain +--E 19 + +--S 20 of 98 +a := x +--R +--R +--R (20) x3 e + x2 e + x1 e + x0 e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 20 + +--S 21 of 98 +b := (1/4)*e1 + (1/5)*e2 + (3/20)*e3 + (2/5)*e0 +--R +--R +--R 3 1 1 2 +--R (21) -- e + - e + - e + - e +--R 20 3 5 2 4 1 5 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 21 + +--S 22 of 98 +c := (1/3)*e1 + (1/7)*e2 + (8/21)*e3 + (1/7)*e0 +--R +--R +--R 8 1 1 1 +--R (22) -- e + - e + - e + - e +--R 21 3 7 2 3 1 7 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 22 + +--S 23 of 98 +r : R := r +--R +--R +--R (23) r +--R Type: Fraction(Polynomial(Integer)) +--E 23 + +--S 24 of 98 +s : R := s +--R +--R +--R (24) s +--R Type: Fraction(Polynomial(Integer)) +--E 24 + +--S 25 of 98 +b*c +--R +--R +--R 2 1 47 2 +--R (25) - e + - e - --- e + -- e +--R 7 3 4 2 420 1 35 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 25 + +--S 26 of 98 +(b*c)*b +--R +--R +--R 893 277 4 4 +--R (26) ---- e - ---- e + -- e + --- e +--R 8400 3 1400 2 75 1 175 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 26 + +--S 27 of 98 +b*(c*b) +--R +--R +--R 893 277 4 4 +--R (27) ---- e - ---- e + -- e + --- e +--R 8400 3 1400 2 75 1 175 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 27 + +\end{chunk} +A: Algebra +a,b,c : A +r,s : R +\begin{chunk}{AlgebraGivenByStructuralConstants.input} + +)clear prop AP +--S 28 of 98 +AP := ALGPKG(R,A) +--R +--R +--R (28) +--R AlgebraPackage(Fraction(Polynomial(Integer)),AlgebraGivenByStructuralConstant +--R s(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MA +--R TRIX,MATRIX])) +--R Type: Domain +--E 28 + +--S 29 of 98 +r*a +--R +--R +--R (29) r x3 e + r x2 e + r x1 e + r x0 e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 29 + +--S 30 of 98 +a*r +--R +--R +--R (30) r x3 e + r x2 e + r x1 e + r x0 e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 30 + +--S 31 of 98 +a*b +--R +--R +--R 8x3 + 5x1 + 7x0 - 8x2 + 18x1 + x0 - 8x1 + 3x0 2x0 +--R (31) --------------- e + ----------------- e + ----------- e + --- e +--R 20 3 20 2 20 1 5 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 31 + +--S 32 of 98 +b*c +--R +--R +--R 2 1 47 2 +--R (32) - e + - e - --- e + -- e +--R 7 3 4 2 420 1 35 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 32 + +--S 33 of 98 +12 * c +--R +--R +--R 32 12 12 +--R (33) -- e + -- e + 4e + -- e +--R 7 3 7 2 1 7 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 32 + +--S 34 of 98 +(-3) * a +--R +--R +--R (34) - 3x3 e - 3x2 e - 3x1 e - 3x0 e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 34 + +--S 35 of 98 +d := a ** 12 +--R +--R +--R (35) +--R 11 10 2 9 2 10 11 8 4 +--R 12x0 x3 + 4x0 x2 + (144x0 x1 + 144x0 x1 - 68x0 )x2 + 248x0 x1 +--R + +--R 9 3 10 2 11 12 +--R - 784x0 x1 - 86x0 x1 + 204x0 x1 - 24x0 +--R * +--R e +--R 3 +--R + +--R 11 10 2 11 11 12 12 +--R (4x0 x2 - 92x0 x1 + 28x0 x1)e + (4x0 x1 - x0 )e + x0 e +--R 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 35 + +--S 36 of 98 +-d +--R +--R +--R (36) +--R 11 10 2 9 2 10 11 +--R - 12x0 x3 - 4x0 x2 + (- 144x0 x1 - 144x0 x1 + 68x0 )x2 +--R + +--R 8 4 9 3 10 2 11 12 +--R - 248x0 x1 + 784x0 x1 + 86x0 x1 - 204x0 x1 + 24x0 +--R * +--R e +--R 3 +--R + +--R 11 10 2 11 11 12 12 +--R (- 4x0 x2 + 92x0 x1 - 28x0 x1)e + (- 4x0 x1 + x0 )e - x0 e +--R 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 36 + +--S 37 of 98 +a + b +--R +--R +--R 20x3 + 3 5x2 + 1 4x1 + 1 5x0 + 2 +--R (37) -------- e + ------- e + ------- e + ------- e +--R 20 3 5 2 4 1 5 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 37 + +--S 38 of 98 +d-c +--R +--R +--R (38) +--R 11 10 2 9 2 10 11 +--R 252x0 x3 + 84x0 x2 + (3024x0 x1 + 3024x0 x1 - 1428x0 )x2 +--R + +--R 8 4 9 3 10 2 11 12 +--R 5208x0 x1 - 16464x0 x1 - 1806x0 x1 + 4284x0 x1 - 504x0 - 8 +--R / +--R 21 +--R * +--R e +--R 3 +--R + +--R 11 10 2 11 11 12 +--R 28x0 x2 - 644x0 x1 + 196x0 x1 - 1 12x0 x1 - 3x0 - 1 +--R ------------------------------------- e + -------------------- e +--R 7 2 3 1 +--R + +--R 12 +--R 7x0 - 1 +--R --------- e +--R 7 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 38 + +--S 39 of 98 +(a*(a*a) = leftPower(a,3)) :: Boolean +--R +--R +--R (39) true +--R Type: Boolean +--E 39 + +--S 40 of 98 +(a ** 11 = (a**8 * a**2) * a) :: Boolean +--R +--R +--R (40) true +--R Type: Boolean +--E 40 + +--S 41 of 98 +(a ** 11 = a**8 * (a**2 * a)) :: Boolean +--R +--R +--R (41) false +--R Type: Boolean +--E 41 + +--S 42 of 98 +zero := 0$A +--R +--R +--R (42) 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 42 + +--S 43 of 98 +zero : A := 0 +--R +--R +--R (43) 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 43 + +--S 44 of 98 +alternative?()$A +--R +--R algebra is not left alternative +--R +--R (44) false +--R Type: Boolean +--E 44 + +--S 45 of 98 +antiCommutative?()$A +--R +--R algebra is not anti-commutative +--R +--R (45) false +--R Type: Boolean +--E 45 + +--S 46 of 98 +associative?()$A +--R +--R algebra is not associative +--R +--R (46) false +--R Type: Boolean +--E 46 + +--S 47 of 98 +commutative?()$A +--R +--R algebra is commutative +--R +--R (47) true +--R Type: Boolean +--E 47 + +--S 48 of 98 +commutator(a,b) +--R +--R +--R (48) 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 48 + +--S 49 of 98 +antiCommutator(a,b) +--R +--R +--R 8x3 + 5x1 + 7x0 - 8x2 + 18x1 + x0 - 8x1 + 3x0 4x0 +--R (49) --------------- e + ----------------- e + ----------- e + --- e +--R 10 3 10 2 10 1 5 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 49 + +--S 50 of 98 +associator(a,b,c) +--R +--R +--R - 21x2 + 6x1 + 7x0 12x2 - 30x1 + 58x0 12x1 - 28x0 +--R (50) ------------------ e + ------------------ e + ----------- e +--R 42 3 105 2 105 1 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 50 + +--S 51 of 98 +basis()$A +--R +--R +--R (51) [e ,e ,e ,e ] +--R 0 1 2 3 +--RType: Vector(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 51 + +--S 52 of 98 +n := rank()$A +--R +--R +--R (52) 4 +--R Type: PositiveInteger +--E 52 + +--S 53 of 98 +v : Vector R := [i for i in 1..n] +--R +--R +--R (53) [1,2,3,4] +--R Type: Vector(Fraction(Polynomial(Integer))) +--E 53 + +--S 54 of 98 +g : A := represents v +--R +--R +--R (54) 4e + 3e + 2e + e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 54 + +--S 55 of 98 +coordinates a +--R +--R +--R (55) [x0,x1,x2,x3] +--R Type: Vector(Fraction(Polynomial(Integer))) +--E 55 + +--S 56 of 98 +coordinates [a,b] +--R +--R +--R +x0 x1 x2 x3+ +--R | | +--R (56) |2 1 1 3| +--R |- - - --| +--R +5 4 5 20+ +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 56 + +--S 57 of 98 +a.3 +--R +--R +--R (57) x2 +--R Type: Fraction(Polynomial(Integer)) +--E 57 + +--S 58 of 98 +flexible?()$A +--R +--R algebra is flexible +--R +--R (58) true +--R Type: Boolean +--E 58 + +--S 59 of 98 +leftAlternative?()$A +--R +--R algebra is not left alternative +--R +--R (59) false +--R Type: Boolean +--E 59 + +--S 60 of 98 +rightAlternative?()$A +--R +--R algebra is not right alternative +--R +--R (60) false +--R Type: Boolean +--E 60 + +--S 61 of 98 +sB := someBasis()$A +--R +--R +--R (61) [e ,e ,e ,e ] +--R 0 1 2 3 +--RType: Vector(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 61 + +--S 62 of 98 +zero? a +--R +--R +--R (62) false +--R Type: Boolean +--E 62 + +--S 63 of 98 +associatorDependence()$A +--R +--R +--R (63) [[1,1,1,0,0,0],[0,1,0,1,0,0],[1,0,0,0,1,0],[- 1,- 1,0,0,0,1]] +--R Type: List(Vector(Fraction(Polynomial(Integer)))) +--E 63 + +\end{chunk} +ConditionsForIdempotents()\$A +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 64 of 98 +jacobiIdentity?()$A +--R +--R Jacobi identity does not hold +--R +--R (64) false +--R Type: Boolean +--E 64 + +--S 65 of 98 +jordanAlgebra?()$A +--R +--R algebra is commutative +--R this is not a Jordan algebra +--R +--R (65) false +--R Type: Boolean +--E 65 + +--S 66 of 98 +jordanAdmissible?()$A +--R +--R algebra is not Jordan admissible +--R +--R (66) false +--R Type: Boolean +--E 66 + +--S 67 of 98 +lieAdmissible?()$A +--R +--R algebra is Lie admissible +--R +--R (67) true +--R Type: Boolean +--E 67 + +\end{chunk} +ConditionsForIdempotents +\begin{chunk}{AlgebraGivenByStructuralConstants.input} +--S 68 of 98 +b2 := [reduce(+,[sB.i for i in 1..k]) for k in 1..n] +--R +--R +--R (68) [e ,e + e ,e + e + e ,e + e + e + e ] +--R 0 1 0 2 1 0 3 2 1 0 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 68 + +--S 69 of 98 +coordinates (a ,b2 :: Vector A) +--R +--R +--R (69) [- x1 + x0,- x2 + x1,- x3 + x2,x3] +--R Type: Vector(Fraction(Polynomial(Integer))) +--E 69 + +--S 70 of 98 +coordinates ([a,b] ,bb := (b2 :: Vector A)) +--R +--R +--R +- x1 + x0 - x2 + x1 - x3 + x2 x3+ +--R | | +--R (70) | 3 1 1 3| +--R | -- -- -- --| +--R + 20 20 20 20+ +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 70 + +--S 71 of 98 +leftMinimalPolynomial a +--R +--R +--R 5 2 3 4 +--R (71) ? - 2x0 ? + x0 ? +--R Type: SparseUnivariatePolynomial(Fraction(Polynomial(Integer))) +--E 71 + +--S 72 of 98 +leftPower (a,10) +--R +--R +--R (72) +--R 9 8 2 7 2 8 9 8 2 10 +--R (10x0 x3 - 6x0 x2 + (- 32x0 x1 + 8x0 x1 + 2x0 )x2 + 13x0 x1 + 5x0 )e +--R 3 +--R + +--R 9 8 2 9 10 9 10 10 +--R (- 2x0 x2 + 26x0 x1 + 6x0 x1 - 4x0 )e + (- 2x0 x1 + x0 )e + x0 e +--R 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 72 + +--S 73 of 98 +rightPower(a,10) +--R +--R +--R (73) +--R 9 8 2 7 2 8 9 8 2 10 +--R (10x0 x3 - 6x0 x2 + (- 32x0 x1 + 8x0 x1 + 2x0 )x2 + 13x0 x1 + 5x0 )e +--R 3 +--R + +--R 9 8 2 9 10 9 10 10 +--R (- 2x0 x2 + 26x0 x1 + 6x0 x1 - 4x0 )e + (- 2x0 x1 + x0 )e + x0 e +--R 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 73 + +--S 74 of 98 +leftRegularRepresentation a +--R +--R +--R +x0 - x1 + x0 - x2 + x1 x3 - x2 + x0+ +--R | | +--R |0 - x0 2x1 + x0 x1 | +--R (74) | | +--R |0 0 - x0 2x2 - x0 | +--R | | +--R +0 0 0 x0 + +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 74 + +--S 75 of 98 +leftRegularRepresentation (a,bb) +--R +--R +--R + x1 x2 - 2x1 + x0 - x3 + x1 - x0 x3 - x2 + x0 + +--R | | +--R |x1 + x0 x2 - 4x1 - x0 - x3 + 2x1 x3 - x2 + x1 + x0| +--R (75) | | +--R |x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 x3 + x2 + x1 | +--R | | +--R +x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 - x0 x3 + x2 + x1 + x0+ +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 75 + +--S 76 of 98 +leftUnit()$A +--R +--R this algebra has no left unit +--R +--R (76) "failed" +--R Type: Union("failed",...) +--E 76 + +--S 77 of 98 +represents (v,bb) +--R +--R +--R (77) 4e + 7e + 9e + 10e +--R 3 2 1 0 +--RType: AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) +--E 77 + +--S 78 of 98 +rightMinimalPolynomial a +--R +--R +--R 5 2 3 4 +--R (78) ? - 2x0 ? + x0 ? +--R Type: SparseUnivariatePolynomial(Fraction(Polynomial(Integer))) +--E 78 + +--S 79 of 98 +rightRegularRepresentation a +--R +--R +--R +x0 - x1 + x0 - x2 + x1 x3 - x2 + x0+ +--R | | +--R |0 - x0 2x1 + x0 x1 | +--R (79) | | +--R |0 0 - x0 2x2 - x0 | +--R | | +--R +0 0 0 x0 + +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 79 + +--S 80 of 98 +rightRegularRepresentation (a,bb) +--R +--R +--R + x1 x2 - 2x1 + x0 - x3 + x1 - x0 x3 - x2 + x0 + +--R | | +--R |x1 + x0 x2 - 4x1 - x0 - x3 + 2x1 x3 - x2 + x1 + x0| +--R (80) | | +--R |x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 x3 + x2 + x1 | +--R | | +--R +x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 - x0 x3 + x2 + x1 + x0+ +--R Type: Matrix(Fraction(Polynomial(Integer))) +--E 80 + +--S 81 of 98 +rightUnit()$A +--R +--R this algebra has no right unit +--R +--R (81) "failed" +--R Type: Union("failed",...) +--E 81 + +--S 82 of 98 +structuralConstants()$A +--R +--R +--R +1 0 0 0+ + 1 - 1 0 0+ + 0 1 - 1 0+ + 1 0 - 1 1+ +--R | | | | | | | | +--R |0 0 0 0| |- 1 0 0 0| | 1 2 0 0| | 0 1 0 0| +--R (82) [| |,| |,| |,| |] +--R |0 0 0 0| | 0 0 0 0| |- 1 0 0 0| |- 1 0 2 0| +--R | | | | | | | | +--R +0 0 0 0+ + 0 0 0 0+ + 0 0 0 0+ + 1 0 0 0+ +--R Type: Vector(Matrix(Fraction(Polynomial(Integer)))) +--E 82 + +--S 83 of 98 +structuralConstants(bb) +--R +--R +--R +0 1 1 1+ + 1 - 1 0 0 + +- 1 0 0 - 1+ +1 1 0 1+ +--R | | | | | | | | +--R |1 2 2 2| |- 1 - 5 - 4 - 4| | 0 2 2 1 | |1 2 1 2| +--R (83) [| |,| |,| |,| |] +--R |1 2 2 2| | 0 - 4 - 3 - 3| | 0 2 0 - 1| |0 1 2 3| +--R | | | | | | | | +--R +1 2 2 2+ + 0 - 4 - 3 - 3+ +- 1 1 - 1 - 2+ +1 2 3 4+ +--R Type: Vector(Matrix(Fraction(Polynomial(Integer)))) +--E 83 + +--S 84 of 98 +unit()$A +--R +--R this algebra has no unit +--R +--R (84) "failed" +--R Type: Union("failed",...) +--E 84 + +--S 85 of 98 +biRank a +--R +--R +--R (85) 4 +--R Type: PositiveInteger +--E 85 + +--S 86 of 98 +leftRank a +--R +--R +--R (86) 4 +--R Type: PositiveInteger +--E 86 + +--S 87 of 98 +doubleRank a +--R +--R +--R (87) 4 +--R Type: PositiveInteger +--E 87 + +--S 88 of 98 +rightRank a +--R +--R +--R (88) 4 +--R Type: PositiveInteger +--E 88 + +--S 89 of 98 +weakBiRank a +--R +--R +--R (89) 4 +--R Type: PositiveInteger +--E 89 + +--S 90 of 98 +basisOfCenter()$AP +--R +--R +--R (90) [e ] +--R 3 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 90 + +--S 91 of 98 +basisOfLeftNucleus()$AP +--R +--R +--R (91) [e ] +--R 3 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 91 + +--S 92 of 98 +basisOfNucleus()$AP +--R +--R +--R (92) [e ] +--R 3 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 92 + +--S 93 of 98 +basisOfRightNucleus()$AP +--R +--R +--R (93) [e ] +--R 3 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 93 + +--S 94 of 98 +basisOfCentroid()$AP +--R +--R +--R +0 0 0 0+ +1 0 0 0+ +--R | | | | +--R |0 0 0 0| |0 1 0 0| +--R (94) [| |,| |] +--R |0 0 0 0| |0 0 1 0| +--R | | | | +--R +1 0 0 0+ +0 0 0 1+ +--R Type: List(Matrix(Fraction(Polynomial(Integer)))) +--E 94 + +--S 95 of 98 +basisOfCommutingElements()$AP +--R +--R +--R (95) [e ,e ,e ,e ] +--R 3 2 1 0 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 95 + +--S 96 of 98 +basisOfLeftNucloid()$AP +--R +--R +--R +0 0 0 0+ +1 0 0 0+ +--R | | | | +--R |0 0 0 0| |0 1 0 0| +--R (96) [| |,| |] +--R |0 0 0 0| |0 0 1 0| +--R | | | | +--R +1 0 0 0+ +0 0 0 1+ +--R Type: List(Matrix(Fraction(Polynomial(Integer)))) +--E 96 + +--S 97 of 98 +basisOfMiddleNucleus()$AP +--R +--R +--R (97) [e ] +--R 3 +--RType: List(AlgebraGivenByStructuralConstants(Fraction(Polynomial(Integer)),4,[*01e0,*01e1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX])) +--E 97 + +--S 98 of 98 +basisOfRightNucloid()$AP +--R +--R +--R +0 0 0 0+ +1 0 0 0+ +--R | | | | +--R |0 0 0 0| |0 1 0 0| +--R (98) [| |,| |] +--R |0 0 0 0| |0 0 1 0| +--R | | | | +--R +1 0 0 0+ +0 0 0 1+ +--R Type: List(Matrix(Fraction(Polynomial(Integer)))) +--E 98 + +)spool +)lisp (bye) +\end{chunk} +\begin{chunk}{AlgebraGivenByStructuralConstants.help} +==================================================================== +AlgebraGivenByStructuralConstants examples +==================================================================== + +AlgebraGivenByStructuralConstants implements finite rank algebras +over a commutative ring, given by the structural constants gamma +with respect to a fixed basis [a1,..,an], where gamma is an n-vector +of n by n matrices [(gammaijk) for k in 1..rank()] defined by + ai * aj = gammaij1 * a1 + ... + gammaijn * an +The symbols for the fixed basis have to be given as a list of symbols. + +SOME EXAMPLES OF ALGEBRAS IN GENETICS + +[WB] A. Woerz-Busekros: Algebras in Genetics, LNB 36, +Springer-Verlag, Berlin etc. 1980. + +Reed, Mary Lynn, "Algebraic Structure of Genetic Inheritance" +Bulletin of the American Mathematical Society, 1997, pp 107-130 + +Gonshor, H., "Contributions to Genetic Algebras" +Proc. Edinburgh Mathmatical Society (Series 2), vol 17, no 4, +1971, pp 289--298 + + +A Gonshor genetic algebra ([WB], p. 41-42) of dimension 4: + +The coefficient ring: + + R := FRAC POLY INT + +The following multiplication constants may be chosen arbitrarily +(notice that we write ckij for $c_(i,j)^k$): + + (c100, c101, _ + c200, c201, c202, c211, _ + c300, c301, c302, c303, c311, c312, c322) : R + + c100 := 1 + c101 := -1 + + c200 := 0 + c201 := 1 + c202 := -1 + c211 := 2 + + c300 := 1 + c301 := 0 + c302 := -1 + c303 := 1 + c311 := 1 + c312 := 0 + c322 := 2 + +The matrices of the multiplication constants: + + gonshor : List SquareMatrix(4,R) := + [matrix [ [1, 0, 0, 0], [0, 0, 0, 0],_ + [0, 0, 0, 0], [0, 0, 0, 0] ],_ + matrix [ [c100, c101, 0, 0], [c101, 0, 0, 0],_ + [0, 0, 0, 0], [0, 0, 0, 0] ],_ + matrix [ [c200, c201, c202, 0], [c201, c211, 0, 0],_ + [c202, 0, 0, 0], [0, 0, 0, 0] ],_ + matrix [ [c300, c301, c302, c303], [c301, c311, c312, 0],_ + [c302, c312, c322, 0], [c303, 0, 0, 0] ] ] ; + + basisSymbols : List Symbol := [subscript(e,[i]) for i in 0..3] + + [e ,e ,e ,e ] + 0 1 2 3 + + GonshorGenetic := ALGSC(R, 4, basisSymbols, gonshor) + + 1,*01e2,*01e3],[MATRIX,MATRIX,MATRIX,MATRIX]) + + + commutative?()$GonshorGenetic + algebra is commutative + + + associative?()$GonshorGenetic + algebra is not associative + + +The canonical basis: + + e0 : GonshorGenetic := [1, 0, 0, 0] :: Vector R ; + e1 : GonshorGenetic := [0, 1, 0, 0] :: Vector R ; + e2 : GonshorGenetic := [0, 0, 1, 0] :: Vector R ; + e3 : GonshorGenetic := [0, 0, 0, 1] :: Vector R ; + +A generic element of the algebra: + + x : GonshorGenetic := x0*e0 + x1*e1 + x2*e2 + x3*e3 + + x3 e + x2 e + x1 e + x0 e + 3 2 1 0 + +The matrix of the left multiplication with x : + + Lx := leftRegularRepresentation x + + +x0 - x1 + x0 - x2 + x1 x3 - x2 + x0+ + | | + |0 - x0 2x1 + x0 x1 | + | | + |0 0 - x0 2x2 - x0 | + | | + +0 0 0 x0 + + + + +leftRegularRepresentationt 8 : GonshorGenetic -> R be the weight +homomorphism defined by 8(e0) := 1 and 8(ei) := 0 for i = 1,2,3 . +The coefficients of the characteristic polynomial +of Lx depend only on 8(x) = x0 : + + p := characteristicPolynomial(Lx,Y) + + 4 2 2 4 + x0 - 2Y x0 + Y + + +The left minimal polynomial of x divides Y * p(Y) : + + leftMinimalPolynomial x + + 5 2 3 4 + ? - 2x0 ? + x0 ? + + + A := GonshorGenetic + + a := x + + x3 e + x2 e + x1 e + x0 e + 3 2 1 0 + + + b := (1/4)*e1 + (1/5)*e2 + (3/20)*e3 + (2/5)*e0 + + 3 1 1 2 + -- e + - e + - e + - e + 20 3 5 2 4 1 5 0 + + c := (1/3)*e1 + (1/7)*e2 + (8/21)*e3 + (1/7)*e0 + + 8 1 1 1 + -- e + - e + - e + - e + 21 3 7 2 3 1 7 0 + + r : R := r + s : R := s + + b*c + + 2 1 47 2 + - e + - e - --- e + -- e + 7 3 4 2 420 1 35 0 + + + (b*c)*b + + 893 277 4 4 + ---- e - ---- e + -- e + --- e + 8400 3 1400 2 75 1 175 0 + + + b*(c*b) + + 893 277 4 4 + ---- e - ---- e + -- e + --- e + 8400 3 1400 2 75 1 175 0 + + + A: Algebra + a,b,c : A + r,s : R + + AP := ALGPKG(R,A) + + r*a + + r x3 e + r x2 e + r x1 e + r x0 e + 3 2 1 0 + + a*r + + r x3 e + r x2 e + r x1 e + r x0 e + 3 2 1 0 + + a*b + + 8x3 + 5x1 + 7x0 - 8x2 + 18x1 + x0 - 8x1 + 3x0 2x0 + --------------- e + ----------------- e + ----------- e + --- e + 20 3 20 2 20 1 5 0 + + b*c + + 2 1 47 2 + - e + - e - --- e + -- e + 7 3 4 2 420 1 35 0 + + + 12 * c + + 32 12 12 + -- e + -- e + 4e + -- e + 7 3 7 2 1 7 0 + + + (-3) * a + + - 3x3 e - 3x2 e - 3x1 e - 3x0 e + 3 2 1 0 + + + d := a ** 12 + + 11 10 2 9 2 10 11 8 4 + 12x0 x3 + 4x0 x2 + (144x0 x1 + 144x0 x1 - 68x0 )x2 + 248x0 x1 + + + 9 3 10 2 11 12 + - 784x0 x1 - 86x0 x1 + 204x0 x1 - 24x0 + * + e + 3 + + + 11 10 2 11 11 12 12 + (4x0 x2 - 92x0 x1 + 28x0 x1)e + (4x0 x1 - x0 )e + x0 e + 2 1 0 + + -d + + 11 10 2 9 2 10 11 + - 12x0 x3 - 4x0 x2 + (- 144x0 x1 - 144x0 x1 + 68x0 )x2 + + + 8 4 9 3 10 2 11 12 + - 248x0 x1 + 784x0 x1 + 86x0 x1 - 204x0 x1 + 24x0 + * + e + 3 + + + 11 10 2 11 11 12 12 + (- 4x0 x2 + 92x0 x1 - 28x0 x1)e + (- 4x0 x1 + x0 )e - x0 e + 2 1 0 + + a + b + + 20x3 + 3 5x2 + 1 4x1 + 1 5x0 + 2 + -------- e + ------- e + ------- e + ------- e + 20 3 5 2 4 1 5 0 + + d-c + + 11 10 2 9 2 10 11 + 252x0 x3 + 84x0 x2 + (3024x0 x1 + 3024x0 x1 - 1428x0 )x2 + + + 8 4 9 3 10 2 11 12 + 5208x0 x1 - 16464x0 x1 - 1806x0 x1 + 4284x0 x1 - 504x0 - 8 + / + 21 + * + e + 3 + + + 11 10 2 11 11 12 + 28x0 x2 - 644x0 x1 + 196x0 x1 - 1 12x0 x1 - 3x0 - 1 + ------------------------------------- e + -------------------- e + 7 2 3 1 + + + 12 + 7x0 - 1 + --------- e + 7 0 + + (a*(a*a) = leftPower(a,3)) :: Boolean + true + + (a ** 11 = (a**8 * a**2) * a) :: Boolean + true + + (a ** 11 = a**8 * (a**2 * a)) :: Boolean + false + + zero := 0$A + 0 + + zero : A := 0 + 0 + + alternative?()$A + + algebra is not left alternative + false + + + antiCommutative?()$A + + algebra is not anti-commutative + false + + + associative?()$A + + algebra is not associative + false + + commutative?()$A + + algebra is commutative + true + + + commutator(a,b) + 0 + + antiCommutator(a,b) + + 8x3 + 5x1 + 7x0 - 8x2 + 18x1 + x0 - 8x1 + 3x0 4x0 + --------------- e + ----------------- e + ----------- e + --- e + 10 3 10 2 10 1 5 0 + + associator(a,b,c) + + - 21x2 + 6x1 + 7x0 12x2 - 30x1 + 58x0 12x1 - 28x0 + ------------------ e + ------------------ e + ----------- e + 42 3 105 2 105 1 + + + basis()$A + [e ,e ,e ,e ] + 0 1 2 3 + + + n := rank()$A + 4 + + v : Vector R := [i for i in 1..n] + [1,2,3,4] + + g : A := represents v + + 4e + 3e + 2e + e + 3 2 1 0 + + coordinates a + [x0,x1,x2,x3] + + + coordinates [a,b] + + +x0 x1 x2 x3+ + | | + |2 1 1 3| + |- - - --| + +5 4 5 20+ + + + a.3 + x2 + + flexible?()$A + algebra is flexible + + leftAlternative?()$A + algebra is not left alternative + + rightAlternative?()$A + algebra is not right alternative + + sB := someBasis()$A + + [e ,e ,e ,e ] + 0 1 2 3 + + zero? a + false + +associatorDependence()$A + [[1,1,1,0,0,0],[0,1,0,1,0,0],[1,0,0,0,1,0],[- 1,- 1,0,0,0,1]] + + +ConditionsForIdempotents()$A + + jacobiIdentity?()$A + Jacobi identity does not hold + + jordanAlgebra?()$A + algebra is commutative + this is not a Jordan algebra + + jordanAdmissible?()$A + algebra is not Jordan admissible + + lieAdmissible?()$A + algebra is Lie admissible + + +ConditionsForIdempotents + + b2 := [reduce(+,[sB.i for i in 1..k]) for k in 1..n] + + [e ,e + e ,e + e + e ,e + e + e + e ] + 0 1 0 2 1 0 3 2 1 0 + +coordinates (a ,b2 :: Vector A) + + [- x1 + x0,- x2 + x1,- x3 + x2,x3] + +coordinates ([a,b] ,bb := (b2 :: Vector A)) + + +- x1 + x0 - x2 + x1 - x3 + x2 x3+ + | | + | 3 1 1 3| + | -- -- -- --| + + 20 20 20 20+ + + leftMinimalPolynomial a + + 5 2 3 4 + ? - 2x0 ? + x0 ? + + leftPower (a,10) + + 9 8 2 7 2 8 9 8 2 10 + (10x0 x3 - 6x0 x2 + (- 32x0 x1 + 8x0 x1 + 2x0 )x2 + 13x0 x1 + 5x0 )e + 3 + + + 9 8 2 9 10 9 10 10 + (- 2x0 x2 + 26x0 x1 + 6x0 x1 - 4x0 )e + (- 2x0 x1 + x0 )e + x0 e + 2 1 0 + + rightPower(a,10) + + 9 8 2 7 2 8 9 8 2 10 + (10x0 x3 - 6x0 x2 + (- 32x0 x1 + 8x0 x1 + 2x0 )x2 + 13x0 x1 + 5x0 )e + 3 + + + 9 8 2 9 10 9 10 10 + (- 2x0 x2 + 26x0 x1 + 6x0 x1 - 4x0 )e + (- 2x0 x1 + x0 )e + x0 e + 2 1 0 + + leftRegularRepresentation a + + +x0 - x1 + x0 - x2 + x1 x3 - x2 + x0+ + | | + |0 - x0 2x1 + x0 x1 | + | | + |0 0 - x0 2x2 - x0 | + | | + +0 0 0 x0 + + + leftRegularRepresentation (a,bb) + + + x1 x2 - 2x1 + x0 - x3 + x1 - x0 x3 - x2 + x0 + + | | + |x1 + x0 x2 - 4x1 - x0 - x3 + 2x1 x3 - x2 + x1 + x0| + | | + |x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 x3 + x2 + x1 | + | | + +x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 - x0 x3 + x2 + x1 + x0+ + + leftUnit()$A + this algebra has no left unit + + + represents (v,bb) + + 4e + 7e + 9e + 10e + 3 2 1 0 + + rightMinimalPolynomial a + + 5 2 3 4 + ? - 2x0 ? + x0 ? + + rightRegularRepresentation a + + +x0 - x1 + x0 - x2 + x1 x3 - x2 + x0+ + | | + |0 - x0 2x1 + x0 x1 | + | | + |0 0 - x0 2x2 - x0 | + | | + +0 0 0 x0 + + + rightRegularRepresentation (a,bb) + + + x1 x2 - 2x1 + x0 - x3 + x1 - x0 x3 - x2 + x0 + + | | + |x1 + x0 x2 - 4x1 - x0 - x3 + 2x1 x3 - x2 + x1 + x0| + | | + |x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 x3 + x2 + x1 | + | | + +x1 + x0 x2 - 4x1 - x3 - 2x2 + 2x1 - x0 x3 + x2 + x1 + x0+ + + rightUnit()$A + this algebra has no right unit + + structuralConstants()$A + + +1 0 0 0+ + 1 - 1 0 0+ + 0 1 - 1 0+ + 1 0 - 1 1+ + | | | | | | | | + |0 0 0 0| |- 1 0 0 0| | 1 2 0 0| | 0 1 0 0| + [| |,| |,| |,| |] + |0 0 0 0| | 0 0 0 0| |- 1 0 0 0| |- 1 0 2 0| + | | | | | | | | + +0 0 0 0+ + 0 0 0 0+ + 0 0 0 0+ + 1 0 0 0+ + + structuralConstants(bb) + + +0 1 1 1+ + 1 - 1 0 0 + +- 1 0 0 - 1+ +1 1 0 1+ + | | | | | | | | + |1 2 2 2| |- 1 - 5 - 4 - 4| | 0 2 2 1 | |1 2 1 2| + [| |,| |,| |,| |] + |1 2 2 2| | 0 - 4 - 3 - 3| | 0 2 0 - 1| |0 1 2 3| + | | | | | | | | + +1 2 2 2+ + 0 - 4 - 3 - 3+ +- 1 1 - 1 - 2+ +1 2 3 4+ + + unit()$A + this algebra has no unit + + biRank a + 4 + + leftRank a + 4 + + doubleRank a + 4 + + rightRank a + 4 + + weakBiRank a + 4 + + basisOfCenter()$AP + + [e ] + 3 + + basisOfLeftNucleus()$AP + + [e ] + 3 + + basisOfNucleus()$AP + + [e ] + 3 + + basisOfRightNucleus()$AP + + [e ] + 3 + + basisOfCentroid()$AP + + +0 0 0 0+ +1 0 0 0+ + | | | | + |0 0 0 0| |0 1 0 0| + [| |,| |] + |0 0 0 0| |0 0 1 0| + | | | | + +1 0 0 0+ +0 0 0 1+ + + basisOfCommutingElements()$AP + + [e ,e ,e ,e ] + 3 2 1 0 + + basisOfLeftNucloid()$AP + + +0 0 0 0+ +1 0 0 0+ + | | | | + |0 0 0 0| |0 1 0 0| + [| |,| |] + |0 0 0 0| |0 0 1 0| + | | | | + +1 0 0 0+ +0 0 0 1+ + + basisOfMiddleNucleus()$AP + + [e ] + 3 + + basisOfRightNucloid()$AP + + +0 0 0 0+ +1 0 0 0+ + | | | | + |0 0 0 0| |0 1 0 0| + [| |,| |] + |0 0 0 0| |0 0 1 0| + | | | | + +1 0 0 0+ +0 0 0 1+ + +See Also: +o )show AlgebraGivenByStructuralConstants + +\end{chunk} +\begin{chunk}{coerce.help} +==================================================================== +coerce from AlgebraGivenByStructuralConstants (ALGSC) +==================================================================== + +NAME +==== + +coerce + +DOMAIN +====== + +AlgebraGivenByStructuralConstants (ALGSC) + +SYNOPSYS +======== + + coerce : Vector R -> % + +DESCRIPTION +=========== + + coerce(v) converts a vector to a member of the algebra by forming + by forming a linear combination with the basis element. Note: the + vector is assumed to have length equal to the dimension of the + algebra + +ARGUMENTS +========= + + Vector R where R is Field + +RETURN VALUE +============ + + An element of the domain + +EXAMPLES +======== + +NOTES +===== + +REFERENCES +========== + +SEE ALSO +======== -See Also: o )show AlgebraGivenByStructuralConstants +o )d op coerce \end{chunk} diff --git a/books/bookvolbib.pamphlet b/books/bookvolbib.pamphlet index 5ca5716..c417014 100644 --- a/books/bookvolbib.pamphlet +++ b/books/bookvolbib.pamphlet @@ -20,6 +20,85 @@ paragraph for those unfamiliar with the terms. \chapter{The Bibliography} +\section{Algebra Documentation References} + +\index{W\"orz-Busekros, A.} +\begin{chunk}{axiom.bib} +@article{Worz80, + author = {W\"orz-Busekros, A.}, + title = "Algebra in Genetics", + publisher = "Springer-Verlag", + journal = "Lecture Notes in Biomathematics", + volume = "36", + year = "1980", + comment = "documentation for AlgebraGivenByStructuralConstants" +} + +\end{chunk} + +\index{Reed, Mary Lynn} +\begin{chunk}{axiom.bib} +@article{Reed97, + author = "Reed, Mary Lynn", + title = "Algebraic Structure of Genetic Inheritance", + journal = "Bulletin of the American Mathematical Society", + year = "1997", + volume = "34", + number = "2", + month = "April", + pages = "107--130", + paper = "Reed97.pdf", + comment = "documentation for AlgebraGivenByStructuralConstants", + url="http://www.ams.org/bull/1997-34-02/S0273-0979-97-00712-X/S0273-0979-97-00712-X.pdf", + abstract = + "In this paper we will explore the nonassociative algebraic structure + that naturally ocurs as genetic informatin gets passed down through + the generations. While modern understanding of genetic inheritance + initiated with the theories of Charles Darwin, it was the Augustinian + monk Gregor Mendel who began to uncover the mathematical nature of the + subject. In fact, the symbolism Mendel used to describe his first + results (e.g. see his 1866 paper {\sl Experiments in + Plant-Hybridization} is quite algebraically suggestive. Seventy four + years later, I.M.H. Etherington introduced the formal language of + abstract algebra to the study of genetics in his series of seminal + papers. In this paper we will discuss the concepts of genetics that + suggest the underlying algebraic structure of inheritance, and we will + give a brief overview of the algebras which arise in genetics and some + of their basi properties and relationships. With the popularity of + biologically motivated mathematics continuing to rise, we offer this + survey article as another example of the breadth of mathematics that + has biological significance. The most comprehensive reference for the + mathematical research done in this area (through 1980) is + W\:orz-Busekros." +} + +\end{chunk} + +\index{Gonshor, H.} +\begin{chunk}{axiom.bib} +@article{Gons71, + author = "Gonshor, H.", + title = "Contributions to Genetic Algebras", + journal = "Proc. Edinburgh Mathmatical Society (Series 2)", + volume = "17", + number = "4", + month = "December", + year = "1971", + issn = "1464-3839", + pages = "289--298", + doi = "10.1017/S0013091500009548", + url = "http://journals.cambridge.org/article_S0013091500009548", + comment = "documentation for AlgebraGivenByStructuralConstants", + abstract = + "Etherington introduced certain algebraic methods into the study of + population genetics. It was noted that algebras arising in genetic + systems tend to have certain abstract properties and that these can be + used to give elegant proofs of some classical stability theorems in + population genetics." +} + +\end{chunk} + \section{Linear Algebra} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \index{Kaltofen, Erich} diff --git a/changelog b/changelog index 1a98472..297e140 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20141116 tpd src/axiom-website/patches.html 20141116.02.tpd.patch +20141116 tpd books/bookvol10.3 help for AlgebraGivenByStructuralConstants 20141116 tpd src/axiom-website/patches.html 20141116.01.tpd.patch 20141116 tpd books/bookvol10.3 prototype man-page style help for functions 20141113 tpd src/axiom-website/patches.html 20141113.01.tpd.patch diff --git a/patch b/patch index ac660fb..d30d487 100644 --- a/patch +++ b/patch @@ -1,4 +1,6 @@ -books/bookvol10.3 prototype man-page style help for functions +books/bookvol10.3 help file for AlgebraGivenByStructuralConstants (ALGSC) + +AlgebraGivenByStructuralConstants (ALGSC) help file +coerce from ALGSC help file -Axiom needs function-level help files. Prototype these for DHMATRIX. diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 31a3613..f301dbe 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4702,6 +4702,8 @@ books/bookvol5 make obj fns into macros for performance
books/bookvol5 inline object structures using macros
20141116.01.tpd.patch books/bookvol10.3 prototype man-page style help for functions
+20141116.02.tpd.patch +books/bookvol10.3 help file for AlgebraGivenByStructuralConstants