|
|
|
last edited 12 years ago by test1 |
| 1 2 3 4 5 6 | ||
|
Editor: test1
Time: 2013/04/25 20:16:57 GMT+0 |
||
| Note: | ||
changed: -\begin{axiom} The line below is no longer needed, since the constructors are included in FriCAS changed: -\end{axiom} changed: - res:= res + binomial(n,k1)*product(monomial(1@R,k1),monomial(1@R,k2))$PxP res:= res + binomial(n,k1)*tensor(monomial(1@R,k1),monomial(1@R,k2))$PxP
On Fri, May 15, 2009 at 03:23:33AM +0200, Franz Lehner wrote:
Now it more or less works, included is a first example of a bialgebra (just too lazy to write up the antipode):
The line below is no longer needed, since the constructors are included in FriCAS
)library TENSORC TENSORP TENSORD
(1) -> <spad>
)abbrev category COALG CoAlgebra CoAlgebra(R : CommutativeRing,RR : TensorProductCategory(R, %, %)) : Category == _ Module(R) with delta : % -> RR ++ delta is comultiplication counit: % -> R ++ counit
)abbrev category BIALG BiAlgebra BiAlgebra(R : CommutativeRing,RR : TensorProductCategory(R, %, %)) : Category == _ Join(Algebra(R), CoAlgebra(R, RR))
)abbrev category HOPFALG HopfAlgebra HopfAlgebra(R : CommutativeRing,RR : TensorProductCategory(R, %, %)) : Category _ == BiAlgebra(R, RR) with S : % -> % ++ the antipode
)abbrev domain PHALG PolyHopfAlgebra PolyHopfAlgebra(R: CommutativeRing,x: Symbol): C == T where S == Variable x FM == FreeMonoid Symbol PxP == TensorProduct(R, FM, FM, %, %) -- C == Join(FreeModule(R, FM), HopfAlgebra(R, PxP)) C == Join(UnivariatePolynomialCategory(R), _ FreeModuleCategory(R, FM), BiAlgebra(R, PxP))
TERM == Record(k: FM,c: R)
T == SparseUnivariatePolynomial(R) add Rep:= SparseUnivariatePolynomial(R)
monom(a:FM,r:R):% == one? a => monomial(r, 0@NonNegativeInteger) monomial(r, nthExpon(a, 1@Integer))
-- monomial(r:R,n:NonNegativeInteger) == monomial(r, n)@Rep
coerce(p:%):OutputForm == outputForm(p,outputForm x)$Rep
delta1(n:NonNegativeInteger):PxP == res: PxP := 0 nn:List NonNegativeInteger := [k for k in 0..n] for k1 in nn for k2 in reverse nn repeat res:= res + binomial(n,k1)*tensor(monomial(1@R, k1), monomial(1@R, k2))$PxP res
listOfTerms(p:%):List TERM == res:List TERM := [] while not zero? p repeat m:FM := (variable()$S)^degree p m1:TERM := [m,leadingCoefficient p] res:=concat!(res, m1) p:=reductum p res
delta(p:%):PxP == zero? p => 0 lt:R := leadingCoefficient p lt * delta1(degree p) + delta reductum p
counit(p:%):R == coefficient(p,0)</spad>
Compiling FriCAS source code from file
/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/1189790658020391427-25px001.spad
using old system compiler.
COALG abbreviates category CoAlgebra
------------------------------------------------------------------------
initializing NRLIB COALG for CoAlgebra
compiling into NRLIB COALG
;;; *** |CoAlgebra| REDEFINED
Time: 0 SEC.
finalizing NRLIB COALG
Processing CoAlgebra for Browser database:
--->-->CoAlgebra(constructor): Not documented!!!!
--------(delta (RR %))---------
--------(counit (R %))---------
--->-->CoAlgebra(): Missing Description
; compiling file "/var/aw/var/LatexWiki/COALG.NRLIB/COALG.lsp" (written 21 FEB 2025 11:33:22 PM):
; wrote /var/aw/var/LatexWiki/COALG.NRLIB/COALG.fasl
; compilation finished in 0:00:00.008
------------------------------------------------------------------------
CoAlgebra is now explicitly exposed in frame initial
CoAlgebra will be automatically loaded when needed from
/var/aw/var/LatexWiki/COALG.NRLIB/COALG
BIALG abbreviates category BiAlgebra
------------------------------------------------------------------------
initializing NRLIB BIALG for BiAlgebra
compiling into NRLIB BIALG
;;; *** |BiAlgebra| REDEFINED
Time: 0 SEC.
finalizing NRLIB BIALG
Processing BiAlgebra for Browser database:
--->-->BiAlgebra(): Missing Description
; compiling file "/var/aw/var/LatexWiki/BIALG.NRLIB/BIALG.lsp" (written 21 FEB 2025 11:33:22 PM):
; wrote /var/aw/var/LatexWiki/BIALG.NRLIB/BIALG.fasl
; compilation finished in 0:00:00.004
------------------------------------------------------------------------
BiAlgebra is now explicitly exposed in frame initial
BiAlgebra will be automatically loaded when needed from
/var/aw/var/LatexWiki/BIALG.NRLIB/BIALG
HOPFALG abbreviates category HopfAlgebra
------------------------------------------------------------------------
initializing NRLIB HOPFALG for HopfAlgebra
compiling into NRLIB HOPFALG
;;; *** |HopfAlgebra| REDEFINED
Time: 0 SEC.
finalizing NRLIB HOPFALG
Processing HopfAlgebra for Browser database:
--->/usr/local/lib/fricas/target/x86_64-linux-gnu/../../src/algebra/HOPFALG.spad-->HopfAlgebra(constructor): Not documented!!!!
--------(S (% %))---------
--->/usr/local/lib/fricas/target/x86_64-linux-gnu/../../src/algebra/HOPFALG.spad-->HopfAlgebra(): Missing Description
; compiling file "/var/aw/var/LatexWiki/HOPFALG.NRLIB/HOPFALG.lsp" (written 21 FEB 2025 11:33:22 PM):
; wrote /var/aw/var/LatexWiki/HOPFALG.NRLIB/HOPFALG.fasl
; compilation finished in 0:00:00.000
------------------------------------------------------------------------
HopfAlgebra is now explicitly exposed in frame initial
HopfAlgebra will be automatically loaded when needed from
/var/aw/var/LatexWiki/HOPFALG.NRLIB/HOPFALG
PHALG abbreviates domain PolyHopfAlgebra
------------------------------------------------------------------------
initializing NRLIB PHALG for PolyHopfAlgebra
compiling into NRLIB PHALG
compiling local monom : (FreeMonoid Symbol, R) -> %
Time: 0.04 SEC.
compiling exported coerce : % -> OutputForm
Time: 0 SEC.
compiling local delta1 : NonNegativeInteger -> TensorProduct(R, FreeMonoid Symbol, FreeMonoid Symbol, %, %)
Time: 0.01 SEC.
compiling exported listOfTerms : % -> List Record(k: FreeMonoid Symbol, c: R)
Time: 0 SEC.
compiling exported delta : % -> TensorProduct(R, FreeMonoid Symbol, FreeMonoid Symbol, %, %)
Time: 0 SEC.
compiling exported counit : % -> R
Time: 0 SEC.
****** Domain: % already in scope
augmenting %: (CharacteristicNonZero)
****** Domain: R already in scope
augmenting R: (PolynomialFactorizationExplicit)
****** Domain: R already in scope
augmenting R: (ConvertibleTo (InputForm))
****** Domain: (SingletonAsOrderedSet) already in scope
augmenting (SingletonAsOrderedSet): (ConvertibleTo (InputForm))
****** Domain: R already in scope
augmenting R: (ConvertibleTo (Pattern (Float)))
****** Domain: (SingletonAsOrderedSet) already in scope
augmenting (SingletonAsOrderedSet): (ConvertibleTo (Pattern (Float)))
****** Domain: R already in scope
augmenting R: (ConvertibleTo (Pattern (Integer)))
****** Domain: (SingletonAsOrderedSet) already in scope
augmenting (SingletonAsOrderedSet): (ConvertibleTo (Pattern (Integer)))
****** Domain: R already in scope
augmenting R: (Hashable)
****** Domain: R already in scope
augmenting R: (LinearlyExplicitOver (Integer))
****** Domain: R already in scope
augmenting R: (PartialDifferentialRing (Symbol))
****** Domain: R already in scope
augmenting R: (PatternMatchable (Float))
****** Domain: (SingletonAsOrderedSet) already in scope
augmenting (SingletonAsOrderedSet): (PatternMatchable (Float))
****** Domain: R already in scope
augmenting R: (PatternMatchable (Integer))
****** Domain: (SingletonAsOrderedSet) already in scope
augmenting (SingletonAsOrderedSet): (PatternMatchable (Integer))
****** Domain: R already in scope
augmenting R: (Algebra (Fraction (Integer)))
****** Domain: R already in scope
augmenting R: (Comparable)
****** Domain: R already in scope
augmenting R: (EntireRing)
****** Domain: R already in scope
augmenting R: (Field)
****** Domain: R already in scope
augmenting R: (GcdDomain)
****** Domain: R already in scope
augmenting R: (IntegralDomain)
****** Domain: R already in scope
augmenting R: (PolynomialFactorizationExplicit)
****** Domain: R already in scope
augmenting R: (RetractableTo (Fraction (Integer)))
****** Domain: R already in scope
augmenting R: (RetractableTo (Integer))
****** Domain: R already in scope
augmenting R: (StepThrough)
(time taken in buildFunctor: 78479)
;;; *** |PolyHopfAlgebra| REDEFINED
;;; *** |PolyHopfAlgebra| REDEFINED
Time: 0.10 SEC.
Warnings:
[1] not known that (OrderedSet) is of mode (CATEGORY domain (SIGNATURE * (% (Symbol) %)) (SIGNATURE * (% % (Symbol))) (SIGNATURE ^ (% (Symbol) (NonNegativeInteger))) (SIGNATURE first ((Symbol) %)) (SIGNATURE rest (% %)) (SIGNATURE mirror (% %)) (SIGNATURE hclf (% % %)) (SIGNATURE hcrf (% % %)) (SIGNATURE lquo ((Union % failed) % %)) (SIGNATURE rquo ((Union % failed) % %)) (SIGNATURE lquo ((Union % failed) % (Symbol))) (SIGNATURE rquo ((Union % failed) % (Symbol))) (SIGNATURE divide ((Union (Record (: lm %) (: rm %)) failed) % %)) (SIGNATURE overlap ((Record (: lm %) (: mm %) (: rm %)) % %)) (SIGNATURE size ((NonNegativeInteger) %)) (SIGNATURE length ((NonNegativeInteger) %)) (SIGNATURE factors ((List (Record (: gen (Symbol)) (: exp (NonNegativeInteger)))) %)) (SIGNATURE nthExpon ((NonNegativeInteger) % (Integer))) (SIGNATURE nthFactor ((Symbol) % (Integer))) (SIGNATURE mapExpon (% (Mapping (NonNegativeInteger) (NonNegativeInteger)) %)) (SIGNATURE mapGen (% (Mapping (Symbol) (Symbol)) %)) (IF (has (Symbol) (BasicType)) (SIGNATURE varList ((List (Symbol)) %)) noBranch) (IF (has (Symbol) (Comparable)) (ATTRIBUTE (Comparable)) noBranch) (IF (has (Symbol) (OrderedSet)) (PROGN (ATTRIBUTE (OrderedMonoid)) (SIGNATURE lexico ((Boolean) % %))) noBranch))
[2] delta1: not known that (OrderedSet) is of mode (CATEGORY domain (SIGNATURE * (% (Symbol) %)) (SIGNATURE * (% % (Symbol))) (SIGNATURE ^ (% (Symbol) (NonNegativeInteger))) (SIGNATURE first ((Symbol) %)) (SIGNATURE rest (% %)) (SIGNATURE mirror (% %)) (SIGNATURE hclf (% % %)) (SIGNATURE hcrf (% % %)) (SIGNATURE lquo ((Union % failed) % %)) (SIGNATURE rquo ((Union % failed) % %)) (SIGNATURE lquo ((Union % failed) % (Symbol))) (SIGNATURE rquo ((Union % failed) % (Symbol))) (SIGNATURE divide ((Union (Record (: lm %) (: rm %)) failed) % %)) (SIGNATURE overlap ((Record (: lm %) (: mm %) (: rm %)) % %)) (SIGNATURE size ((NonNegativeInteger) %)) (SIGNATURE length ((NonNegativeInteger) %)) (SIGNATURE factors ((List (Record (: gen (Symbol)) (: exp (NonNegativeInteger)))) %)) (SIGNATURE nthExpon ((NonNegativeInteger) % (Integer))) (SIGNATURE nthFactor ((Symbol) % (Integer))) (SIGNATURE mapExpon (% (Mapping (NonNegativeInteger) (NonNegativeInteger)) %)) (SIGNATURE mapGen (% (Mapping (Symbol) (Symbol)) %)) (IF (has (Symbol) (BasicType)) (SIGNATURE varList ((List (Symbol)) %)) noBranch) (IF (has (Symbol) (Comparable)) (ATTRIBUTE (Comparable)) noBranch) (IF (has (Symbol) (OrderedSet)) (PROGN (ATTRIBUTE (OrderedMonoid)) (SIGNATURE lexico ((Boolean) % %))) noBranch))
Cumulative Statistics for Constructor PolyHopfAlgebra
Time: 0.16 seconds
--------------non extending category----------------------
.. PolyHopfAlgebra(#1, #2) of cat
(|Join| (|UnivariatePolynomialCategory| |#1|)
(|FreeModuleCategory| |#1| (|FreeMonoid| (|Symbol|)))
(|BiAlgebra| |#1|
(|TensorProduct| |#1| (|FreeMonoid| (|Symbol|))
(|FreeMonoid| (|Symbol|)) % %))) has no outputForm : (%, OutputForm) -> OutputForm
finalizing NRLIB PHALG
Processing PolyHopfAlgebra for Browser database:
--->-->PolyHopfAlgebra(): Missing Description
; compiling file "/var/aw/var/LatexWiki/PHALG.NRLIB/PHALG.lsp" (written 21 FEB 2025 11:33:23 PM):
; wrote /var/aw/var/LatexWiki/PHALG.NRLIB/PHALG.fasl
; compilation finished in 0:00:00.032
------------------------------------------------------------------------
PolyHopfAlgebra is now explicitly exposed in frame initial
PolyHopfAlgebra will be automatically loaded when needed from
/var/aw/var/LatexWiki/PHALG.NRLIB/PHALGP:=PolyHopfAlgebra(Integer,'u)
| (1) |
p:=monomial(1,1)$P
| (2) |
delta p
| (3) |
delta(p^2)
| (4) |
delta(p)^2
Function: monomial : (Integer,FreeMonoid(Symbol)) -> % is missing from domain: PolyHopfAlgebra(Integer, u) Internal Error The function monomial with signature (Integer)(FreeMonoid (Symbol)) is missing from domain PolyHopfAlgebra(Integer)u
Please comment.
Next comes the old problem come with iterated structures. Is it in principle possible to have:
TensorProduct(R:CommutativeRing,LB:List OrderedSet, LM:List FreeModuleCategory(R))?
Since the coproduct is coassociative, we might want to define "powers", but I realize that tensor powers are actually feasible.
Actually the basis is not redundant; in the attached example the implementation of the Coalgebra does not use the basis which it pretends to the tensor product. Still exporting a basis would be a nice thing.
More questions: