|
|
last edited 11 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
)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)
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 04 APR 2022 07:18:32 PM):
; /var/aw/var/LatexWiki/COALG.NRLIB/COALG.fasl written ; compilation finished in 0:00:00.005 ------------------------------------------------------------------------ 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 04 APR 2022 07:18:32 PM):
; /var/aw/var/LatexWiki/BIALG.NRLIB/BIALG.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ 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 04 APR 2022 07:18:32 PM):
; /var/aw/var/LatexWiki/HOPFALG.NRLIB/HOPFALG.fasl written ; compilation finished in 0:00:00.003 ------------------------------------------------------------------------ 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.08 SEC.
compiling exported coerce : $ -> OutputForm Time: 0 SEC.
compiling local delta1 : NonNegativeInteger -> TensorProduct(R,FreeMonoid Symbol, FreeMonoid Symbol, $, $) Time: 0.04 SEC.
compiling exported listOfTerms : $ -> List Record(k: FreeMonoid Symbol,c: R) Time: 0.01 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: (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: 200)
;;; *** |PolyHopfAlgebra| REDEFINED
;;; *** |PolyHopfAlgebra| REDEFINED Time: 0.24 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.37 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 04 APR 2022 07:18:32 PM):
; /var/aw/var/LatexWiki/PHALG.NRLIB/PHALG.fasl written ; compilation finished in 0:00:00.053 ------------------------------------------------------------------------ PolyHopfAlgebra is now explicitly exposed in frame initial PolyHopfAlgebra will be automatically loaded when needed from /var/aw/var/LatexWiki/PHALG.NRLIB/PHALG
P:=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: