Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/uberparagon/mgn
22 June 2021, 16:13:34 UTC
  • Code
  • Branches (5)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/master
    • refs/tags/1.1.2
    • refs/tags/v1.0.4
    • refs/tags/v1.0.5
    • refs/tags/v1.0.9
    No releases to show
  • d0b5bc6
  • /
  • strataalgebra
  • /
  • _build
  • /
  • doctrees
  • /
  • index.doctree
Raw File Download
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge Iframe embedding
swh:1:cnt:657d280e6bc1a3bd26558c50e36a96df8ea1dc3b
origin badgedirectory badge Iframe embedding
swh:1:dir:ff8d99e53baa728b111225c8d3979e18877042c9
origin badgerevision badge
swh:1:rev:bebc795e6778db315f0b7144c07024f8a666722f
origin badgesnapshot badge
swh:1:snp:6e9d4128140ea9fc091a9d1ff362de9d8be50de2

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Tip revision: bebc795e6778db315f0b7144c07024f8a666722f authored by Drew Johnson on 12 September 2017, 18:57:37 UTC
maybe some changes
Tip revision: bebc795
index.doctree
€cdocutils.nodes
document
q)q}q(U	nametypesq}q(X+strataalgebra.StrataAlgebra.do_all_productsqˆXtestingqNXdrew johnsonqˆXindices and tablesq	NXs. yang's noteq
ˆX$strataalgebra.StrataAlgebra.boundaryqˆXmgn packageqˆXstrataalgebra.StrataAlgebraq
ˆX
how to useqNX$strataalgebra.StrataAlgebra.FZ_bettiqˆXstrataalgebra.StrataAlgebra.irrqˆX(strataalgebra.StrataAlgebra.print_strataqˆXtautrel.sageqˆX'strataalgebra.StrataAlgebra.get_stratumqˆXinstallationqNX%strataalgebra.StrataAlgebra.MgnLb_intqˆXstrataalgebra.StrataAlgebra.psiqˆX!strataalgebra.StrataAlgebra.kappaqˆX!strataalgebra.StrataAlgebra.bettiqˆXstrataalgebra documentationqNX%strataalgebra.StrataAlgebra.FZ_matrixqˆX'strataalgebra.StrataAlgebra.MgnLb_classqˆX7strataalgebra.StrataAlgebra.FZ_matrix_pushforward_basisqˆX+strataalgebra.StrataAlgebra.basis_integralsqˆuUsubstitution_defsq}qUparse_messagesq ]q!Ucurrent_sourceq"NU
decorationq#NUautofootnote_startq$KUnameidsq%}q&(hhhUtestingq'hUdrew-johnsonq(h	Uindices-and-tablesq)h
U
s-yang-s-noteq*hhhUmgn-packageq+h
h
hU
how-to-useq,hhhhhhhUtautrel-sageq-hhhUinstallationq.hhhhhhhhhUstrataalgebra-documentationq/hhhhhhhhuUchildrenq0]q1(cdocutils.nodes
comment
q2)q3}q4(U	rawsourceq5XÒStrataAlgegra documentation master file, created by
sphinx-quickstart on Thu Aug 31 18:54:11 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.Uparentq6hUsourceq7X./Users/drewjohnson/mgn/strataalgebra/index.rstq8Utagnameq9Ucommentq:U
attributesq;}q<(U	xml:spaceq=Upreserveq>Uidsq?]Ubackrefsq@]UdupnamesqA]UclassesqB]UnamesqC]uUlineqDKUdocumentqEhh0]qFcdocutils.nodes
Text
qGXÒStrataAlgegra documentation master file, created by
sphinx-quickstart on Thu Aug 31 18:54:11 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.qH…qI}qJ(h5Uh6h3ubaubcdocutils.nodes
compound
qK)qL}qM(h5Uh6hh7h8h9UcompoundqNh;}qO(hA]hB]qPUtoctree-wrapperqQah@]h?]hC]uhDNhEhh0]qRcsphinx.addnodes
toctree
qS)qT}qU(h5Uh6hLh7h8h9UtoctreeqVh;}qW(UnumberedqXKU
includehiddenqY‰h6XindexqZUcaptionq[NUglobq\‰h?]h@]U
titlesonlyq]‰hA]hB]hC]Uentriesq^]q_Uhiddenq`‰Uincludefilesqa]qbUmaxdepthqcKuhDKh0]ubaubcdocutils.nodes
section
qd)qe}qf(h5Uh6hh7h8h9Usectionqgh;}qh(hA]hB]h@]h?]qih/ahC]qjhauhDK
hEhh0]qk(cdocutils.nodes
title
ql)qm}qn(h5Xstrataalgebra Documentationqoh6heh7h8h9Utitleqph;}qq(hA]hB]h@]h?]hC]uhDK
hEhh0]qrhGXstrataalgebra Documentationqs…qt}qu(h5hoh6hmubaubcdocutils.nodes
paragraph
qv)qw}qx(h5X%Welcome! The ``strataalgebra`` module is designed to compute products in the strata algebra using sage. The strata algebra is of interest
because it has a natural surjective morphism to the tautological ring of the moduli space of curves. The kernel is described by the Faber-Zagier relations.h6heh7h8h9U	paragraphqyh;}qz(hA]hB]h@]h?]hC]uhDKhEhh0]q{(hGX
Welcome! The q|…q}}q~(h5X
Welcome! The h6hwubcdocutils.nodes
literal
q)q€}q(h5X``strataalgebra``h;}q‚(hA]hB]h@]h?]hC]uh6hwh0]qƒhGX
strataalgebraq„…q…}q†(h5Uh6h€ubah9Uliteralq‡ubhGX module is designed to compute products in the strata algebra using sage. The strata algebra is of interest
because it has a natural surjective morphism to the tautological ring of the moduli space of curves. The kernel is described by the Faber-Zagier relations.qˆ…q‰}qŠ(h5X module is designed to compute products in the strata algebra using sage. The strata algebra is of interest
because it has a natural surjective morphism to the tautological ring of the moduli space of curves. The kernel is described by the Faber-Zagier relations.h6hwubeubhv)q‹}qŒ(h5XŒThe product structure was implemented by `Drew Johnson`_, based on `S. Yang's note`_ describing the algorithm of Graber and
Pandharipande.
The program also computes the FZ relations using code copied from A. Pixton's `tautrel.sage`_ program.
The code was integrated into this package (with some modifications and optimizations) by Drew Johnson
(who takes responsibility for any bugs introduced!).h6heh7h8h9hyh;}q(hA]hB]h@]h?]hC]uhDKhEhh0]qŽ(hGX)The product structure was implemented by q…q}q‘(h5X)The product structure was implemented by h6h‹ubcdocutils.nodes
reference
q’)q“}q”(h5X`Drew Johnson`_Uresolvedq•Kh6h‹h9U	referenceq–h;}q—(UnameXDrew JohnsonUrefuriq˜Xhttp://pages.uoregon.edu/drewj/q™h?]h@]hA]hB]hC]uh0]qšhGXDrew Johnsonq›…qœ}q(h5Uh6h“ubaubhGX, based on qž…qŸ}q (h5X, based on h6h‹ubh’)q¡}q¢(h5X`S. Yang's note`_h•Kh6h‹h9h–h;}q£(UnameXS. Yang's noteh˜Xhttps://arxiv.org/abs/0808.1974q¤h?]h@]hA]hB]hC]uh0]q¥hGXS. Yang's noteq¦…q§}q¨(h5Uh6h¡ubaubhGX… describing the algorithm of Graber and
Pandharipande.
The program also computes the FZ relations using code copied from A. Pixton's q©…qª}q«(h5X… describing the algorithm of Graber and
Pandharipande.
The program also computes the FZ relations using code copied from A. Pixton's h6h‹ubh’)q¬}q­(h5X`tautrel.sage`_h•Kh6h‹h9h–h;}q®(UnameXtautrel.sageq¯h˜X2http://math.mit.edu/~apixton/programs/tautrel.sageq°h?]h@]hA]hB]hC]uh0]q±hGXtautrel.sageq²…q³}q´(h5Uh6h¬ubaubhGX¤ program.
The code was integrated into this package (with some modifications and optimizations) by Drew Johnson
(who takes responsibility for any bugs introduced!).qµ…q¶}q·(h5X¤ program.
The code was integrated into this package (with some modifications and optimizations) by Drew Johnson
(who takes responsibility for any bugs introduced!).h6h‹ubeubcdocutils.nodes
target
q¸)q¹}qº(h5X1.. _Drew Johnson: http://pages.uoregon.edu/drewj/U
referencedq»Kh6heh7h8h9Utargetq¼h;}q½(h˜h™h?]q¾h(ah@]hA]hB]hC]q¿hauhDKhEhh0]ubh¸)qÀ}qÁ(h5XD.. _tautrel.sage: http://math.mit.edu/~apixton/programs/tautrel.sageh»Kh6heh7h8h9h¼h;}qÂ(h˜h°h?]qÃh-ah@]hA]hB]hC]qÄhauhDKhEhh0]ubh¸)qÅ}qÆ(h5X3.. _S. Yang's note: https://arxiv.org/abs/0808.1974h»Kh6heh7h8h9h¼h;}qÇ(h˜h¤h?]qÈh*ah@]hA]hB]hC]qÉh
auhDKhEhh0]ubeubhd)qÊ}qË(h5Uh6hh7h8h9hgh;}qÌ(hA]hB]h@]h?]qÍh.ahC]qÎhauhDKhEhh0]qÏ(hl)qÐ}qÑ(h5XInstallationqÒh6hÊh7h8h9hph;}qÓ(hA]hB]h@]h?]hC]uhDKhEhh0]qÔhGXInstallationqՅqÖ}q×(h5hÒh6hÐubaubhv)qØ}qÙ(h5XhInstallation should be (hopefully) easy. ``strataalgebra`` is distributed as part of the `mgn package`_.qÚh6hÊh7h8h9hyh;}qÛ(hA]hB]h@]h?]hC]uhDKhEhh0]qÜ(hGX)Installation should be (hopefully) easy. q݅qÞ}qß(h5X)Installation should be (hopefully) easy. h6hØubh)qà}qá(h5X``strataalgebra``h;}qâ(hA]hB]h@]h?]hC]uh6hØh0]qãhGX
strataalgebraq䅁qå}qæ(h5Uh6hàubah9h‡ubhGX is distributed as part of the q煁qè}qé(h5X is distributed as part of the h6hØubh’)qê}që(h5X`mgn package`_h•Kh6hØh9h–h;}qì(UnameXmgn packageh˜X"https://github.com/uberparagon/mgnqíh?]h@]hA]hB]hC]uh0]qîhGXmgn packageqqð}qñ(h5Uh6hêubaubhGX.…qò}qó(h5X.h6hØubeubh¸)qô}qõ(h5X3.. _mgn package: https://github.com/uberparagon/mgnh»Kh6hÊh7h8h9h¼h;}qö(h˜híh?]q÷h+ah@]hA]hB]hC]qøhauhDKhEhh0]ubhv)qù}qú(h5XEOnce it is installed, you can load it in a sage session by typing: ::qûh6hÊh7h8h9hyh;}qü(hA]hB]h@]h?]hC]uhDKhEhh0]qýhGXBOnce it is installed, you can load it in a sage session by typing:qþ…qÿ}r(h5XBOnce it is installed, you can load it in a sage session by typing:h6hùubaubcdocutils.nodes
literal_block
r)r}r(h5X!sage: from strataalgebra import *h6hÊh7h8h9U
literal_blockrh;}r(h=h>h?]h@]hA]hB]hC]uhDK hEhh0]rhGX!sage: from strataalgebra import *r…r}r	(h5Uh6jubaubeubhd)r
}r(h5Uh6hh7h8h9hgh;}r(hA]hB]h@]h?]r
h,ahC]rhauhDK#hEhh0]r(hl)r}r(h5X
How to userh6j
h7h8h9hph;}r(hA]hB]h@]h?]hC]uhDK#hEhh0]rhGX
How to user…r}r(h5jh6jubaubcsphinx.addnodes
index
r)r}r(h5Uh6j
h7Nh9Uindexrh;}r(h?]h@]hA]hB]hC]Uentries]r(UsinglerX&StrataAlgebra (class in strataalgebra)h
UNtrauhDNhEhh0]ubcsphinx.addnodes
desc
r )r!}r"(h5Uh6j
h7Nh9Udescr#h;}r$(Unoindexr%‰Udomainr&Xpyr'h?]h@]hA]hB]hC]Uobjtyper(Xclassr)Udesctyper*j)uhDNhEhh0]r+(csphinx.addnodes
desc_signature
r,)r-}r.(h5X3StrataAlgebra(base, g, markings=(), make_vars=True)h6j!h7X^/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebrar/h9Udesc_signaturer0h;}r1(h?]r2h
aUmoduler3cdocutils.nodes
reprunicode
r4X
strataalgebrar5…r6}r7bh@]hA]hB]hC]r8h
aUfullnamer9X
StrataAlgebrar:Uclassr;UUfirstr<‰uhDNhEhh0]r=(csphinx.addnodes
desc_annotation
r>)r?}r@(h5Xclass h6j-h7j/h9Udesc_annotationrAh;}rB(hA]hB]h@]h?]hC]uhDNhEhh0]rChGXclass rD…rE}rF(h5Uh6j?ubaubcsphinx.addnodes
desc_addname
rG)rH}rI(h5Xstrataalgebra.h6j-h7j/h9Udesc_addnamerJh;}rK(hA]hB]h@]h?]hC]uhDNhEhh0]rLhGXstrataalgebra.rM…rN}rO(h5Uh6jHubaubcsphinx.addnodes
desc_name
rP)rQ}rR(h5j:h6j-h7j/h9U	desc_namerSh;}rT(hA]hB]h@]h?]hC]uhDNhEhh0]rUhGX
StrataAlgebrarV…rW}rX(h5Uh6jQubaubcsphinx.addnodes
desc_parameterlist
rY)rZ}r[(h5X$base, g, markings=(), make_vars=Trueh6j-h7j/h9Udesc_parameterlistr\h;}r](hA]hB]h@]h?]hC]uhDNhEhh0]r^(csphinx.addnodes
desc_parameter
r_)r`}ra(h5Xbaseh;}rb(hA]hB]h@]h?]hC]uh6jZh0]rchGXbaserd…re}rf(h5Uh6j`ubah9Udesc_parameterrgubj_)rh}ri(h5Xgh;}rj(hA]hB]h@]h?]hC]uh6jZh0]rkhGXg…rl}rm(h5Uh6jhubah9jgubj_)rn}ro(h5Xmarkings=()h;}rp(hA]hB]h@]h?]hC]uh6jZh0]rqhGXmarkings=()rr…rs}rt(h5Uh6jnubah9jgubj_)ru}rv(h5Xmake_vars=Trueh;}rw(hA]hB]h@]h?]hC]uh6jZh0]rxhGXmake_vars=Truery…rz}r{(h5Uh6juubah9jgubeubeubcsphinx.addnodes
desc_content
r|)r}}r~(h5Uh6j!h7j/h9Udesc_contentrh;}r€(hA]hB]h@]h?]hC]uhDNhEhh0]r(hv)r‚}rƒ(h5X'A ring representing the Strata algebra.r„h6j}h7X^/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebrar…h9hyh;}r†(hA]hB]h@]h?]hC]uhDKhEhh0]r‡hGX'A ring representing the Strata algebra.rˆ…r‰}rŠ(h5j„h6j‚ubaubcdocutils.nodes
field_list
r‹)rŒ}r(h5Uh6j}h7Nh9U
field_listrŽh;}r(hA]hB]h@]h?]hC]uhDNhEhh0]rcdocutils.nodes
field
r‘)r’}r“(h5Uh;}r”(hA]hB]h@]h?]hC]uh6jŒh0]r•(cdocutils.nodes
field_name
r–)r—}r˜(h5X
Parametersh6j’h7j/h9U
field_namer™h;}rš(hA]hB]h@]h?]hC]uhDKh0]r›hGX
Parametersrœ…r}rž(h5Uh6j—ubaubcdocutils.nodes
field_body
rŸ)r }r¡(h5Uh;}r¢(hA]hB]h@]h?]hC]uh6j’h0]r£cdocutils.nodes
bullet_list
r¤)r¥}r¦(h5Uh;}r§(hA]hB]h@]h?]hC]uh6j h0]r¨(cdocutils.nodes
list_item
r©)rª}r«(h5Uh;}r¬(hA]hB]h@]h?]hC]uh6j¥h0]r­hv)r®}r¯(h5XJbase (Ring) -- The ring of coefficients you want to work over, usually QQ.h;}r°(hA]hB]h@]h?]hC]uh6jªh0]r±(csphinx.addnodes
literal_strong
r²)r³}r´(h5Xbaseh;}rµ(h?]h@]Urefspecificr¶ˆhA]hB]hC]uh6j®h0]r·hGXbaser¸…r¹}rº(h5Uh6j³ubah9Uliteral_strongr»ubhGX (r¼…r½}r¾(h5Uh6j®ubcsphinx.addnodes
pending_xref
r¿)rÀ}rÁ(h5Uh;}rÂ(UreftypeUobjrÃj¶ˆU	reftargetXRingrÄU	refdomainj'h?]h@]Urefexplicit‰hA]hB]hC]uh6j®h0]rÅcsphinx.addnodes
literal_emphasis
rÆ)rÇ}rÈ(h5jÄh;}rÉ(hA]hB]h@]h?]hC]uh6jÀh0]rÊhGXRingrË…rÌ}rÍ(h5Uh6jÇubah9Uliteral_emphasisrÎubah9Upending_xrefrÏubhGX)…rÐ}rÑ(h5Uh6j®ubhGX -- rÒ…rÓ}rÔ(h5Uh6j®ubhGX8The ring of coefficients you want to work over, usually rÕ…rÖ}r×(h5X8The ring of coefficients you want to work over, usually h6j®ubcdocutils.nodes
title_reference
rØ)rÙ}rÚ(h5X`QQ`h;}rÛ(hA]hB]h@]h?]hC]uh6j®h0]rÜhGXQQrÝ…rÞ}rß(h5Uh6jÙubah9Utitle_referenceràubhGX.…rá}râ(h5X.h6j®ubeh9hyubah9U	list_itemrãubj©)rä}rå(h5Uh;}ræ(hA]hB]h@]h?]hC]uh6j¥h0]rçhv)rè}ré(h5Xg (int) -- The genus.h;}rê(hA]hB]h@]h?]hC]uh6jäh0]rë(j²)rì}rí(h5Xgh;}rî(h?]h@]j¶ˆhA]hB]hC]uh6jèh0]rïhGXg…rð}rñ(h5Uh6jìubah9j»ubhGX (rò…ró}rô(h5Uh6jèubj¿)rõ}rö(h5Uh;}r÷(UreftypejÃj¶ˆU	reftargetXintrøU	refdomainj'h?]h@]Urefexplicit‰hA]hB]hC]uh6jèh0]rùjÆ)rú}rû(h5jøh;}rü(hA]hB]h@]h?]hC]uh6jõh0]rýhGXintrþ…rÿ}r(h5Uh6júubah9jÎubah9jÏubhGX)…r}r(h5Uh6jèubhGX -- r…r}r(h5Uh6jèubhGX
The genus.r…r}r(h5X
The genus.h6jèubeh9hyubah9jãubj©)r	}r
(h5Uh;}r(hA]hB]h@]h?]hC]uh6j¥h0]rhv)r
}r(h5Xqmarkings (tuple) -- The markings. They should be positive integers. Repeats are allowed. Defaults to no markings.h;}r(hA]hB]h@]h?]hC]uh6j	h0]r(j²)r}r(h5Xmarkingsh;}r(h?]h@]j¶ˆhA]hB]hC]uh6j
h0]rhGXmarkingsr…r}r(h5Uh6jubah9j»ubhGX (r…r}r(h5Uh6j
ubj¿)r}r(h5Uh;}r(UreftypejÃj¶ˆU	reftargetXtuplerU	refdomainj'h?]h@]Urefexplicit‰hA]hB]hC]uh6j
h0]rjÆ)r }r!(h5jh;}r"(hA]hB]h@]h?]hC]uh6jh0]r#hGXtupler$…r%}r&(h5Uh6j ubah9jÎubah9jÏubhGX)…r'}r((h5Uh6j
ubhGX -- r)…r*}r+(h5Uh6j
ubhGX]The markings. They should be positive integers. Repeats are allowed. Defaults to no markings.r,…r-}r.(h5X]The markings. They should be positive integers. Repeats are allowed. Defaults to no markings.h6j
ubeh9hyubah9jãubj©)r/}r0(h5Uh;}r1(hA]hB]h@]h?]hC]uh6j¥h0]r2hv)r3}r4(h5X´make_vars (bool) -- Defaults to True. If True, creates variables ps, ps2, ka1, ... , ka{d} (where d is the dimension of the moduli space) that can be used to create basis elements.h;}r5(hA]hB]h@]h?]hC]uh6j/h0]r6(j²)r7}r8(h5X	make_varsh;}r9(h?]h@]j¶ˆhA]hB]hC]uh6j3h0]r:hGX	make_varsr;…r<}r=(h5Uh6j7ubah9j»ubhGX (r>…r?}r@(h5Uh6j3ubj¿)rA}rB(h5Uh;}rC(UreftypejÃj¶ˆU	reftargetXboolrDU	refdomainj'h?]h@]Urefexplicit‰hA]hB]hC]uh6j3h0]rEjÆ)rF}rG(h5jDh;}rH(hA]hB]h@]h?]hC]uh6jAh0]rIhGXboolrJ…rK}rL(h5Uh6jFubah9jÎubah9jÏubhGX)…rM}rN(h5Uh6j3ubhGX -- rO…rP}rQ(h5Uh6j3ubhGX Defaults to True. If True, creates variables ps, ps2, ka1, ... , ka{d} (where d is the dimension of the moduli space) that can be used to create basis elements.rR…rS}rT(h5X Defaults to True. If True, creates variables ps, ps2, ka1, ... , ka{d} (where d is the dimension of the moduli space) that can be used to create basis elements.h6j3ubeh9hyubah9jãubeh9Ubullet_listrUubah9U
field_bodyrVubeh9UfieldrWubaubhv)rX}rY(h5XFirst import the module: ::rZh6j}h7j…h9hyh;}r[(hA]hB]h@]h?]hC]uhDKhEhh0]r\hGXFirst import the module:r]…r^}r_(h5XFirst import the module:h6jXubaubj)r`}ra(h5X!sage: from strataalgebra import *h6j}h7j…h9jh;}rb(h=h>h?]h@]hA]hB]hC]uhDKhEhh0]rchGX!sage: from strataalgebra import *rd…re}rf(h5Uh6j`ubaubhv)rg}rh(h5X&Construct a :class:`StrataAlgebra`: ::rih6j}h7j…h9hyh;}rj(hA]hB]h@]h?]hC]uhDKhEhh0]rk(hGXConstruct a rl…rm}rn(h5XConstruct a h6jgubj¿)ro}rp(h5X:class:`StrataAlgebra`rqh6jgh7h8h9jÏh;}rr(UreftypeXclassUrefwarnrs‰U	reftargetrtX
StrataAlgebraU	refdomainXpyruh?]h@]Urefexplicit‰hA]hB]hC]UrefdocrvhZUpy:classrwj:U	py:modulerxNuhDKh0]ryh)rz}r{(h5jqh;}r|(hA]hB]r}(Uxrefr~juXpy-classreh@]h?]hC]uh6joh0]r€hGX
StrataAlgebrar…r‚}rƒ(h5Uh6jzubah9h‡ubaubhGX:…r„}r…(h5X:h6jgubeubj)r†}r‡(h5Xlsage: SA = StrataAlgebra(QQ,1,(1,2)); SA
Strata algebra with genus 1 and markings (1, 2) over Rational Fieldh6j}h7j…h9jh;}rˆ(h=h>h?]h@]hA]hB]hC]uhDKhEhh0]r‰hGXlsage: SA = StrataAlgebra(QQ,1,(1,2)); SA
Strata algebra with genus 1 and markings (1, 2) over Rational FieldrŠ…r‹}rŒ(h5Uh6j†ubaubhv)r}rŽ(h5X+Print the basis in a certain codimension ::rh6j}h7j…h9hyh;}r(hA]hB]h@]h?]hC]uhDKhEhh0]r‘hGX(Print the basis in a certain codimensionr’…r“}r”(h5X(Print the basis in a certain codimensionh6jubaubj)r•}r–(h5Xusage: SA.print_strata(2)
**** i: 0
[0 1 2 0 0]
[0 0 0 2 1]
[0 1 1 0 1]
<BLANKLINE>
**** i: 1
[0 1 2 0 0]
[0 0 1 1 1]
[0 1 0 1 1]
<BLANKLINE>
**** i: 2
[  0   1   2   0]
[ka1   1   1   2]
<BLANKLINE>
**** i: 3
[     0      1      2      0]
[     0      1      1 ps + 2]
<BLANKLINE>
**** i: 4
[     0      1      2      0]
[     0 ps + 1      1      2]
<BLANKLINE>
**** i: 5
[     0      1      2      0]
[     0      1 ps + 1      2]
<BLANKLINE>
**** i: 6
[      0       1       2       0]
[      0       1       1       1]
[ka1 + 1       0       0       1]
<BLANKLINE>
**** i: 7
[     0      1      2      0]
[     0      1      1      1]
[     1      0      0 ps + 1]
<BLANKLINE>
**** i: 8
ka2
<BLANKLINE>
**** i: 9
ka1^2
<BLANKLINE>
**** i: 10
ka1*ps1
<BLANKLINE>
**** i: 11
ka1*ps2
<BLANKLINE>
**** i: 12
ps1^2
<BLANKLINE>
**** i: 13
ps1*ps2
<BLANKLINE>
**** i: 14
ps2^2
<BLANKLINE>h6j}h7j…h9jh;}r—(h=h>h?]h@]hA]hB]hC]uhDKhEhh0]r˜hGXusage: SA.print_strata(2)
**** i: 0
[0 1 2 0 0]
[0 0 0 2 1]
[0 1 1 0 1]
<BLANKLINE>
**** i: 1
[0 1 2 0 0]
[0 0 1 1 1]
[0 1 0 1 1]
<BLANKLINE>
**** i: 2
[  0   1   2   0]
[ka1   1   1   2]
<BLANKLINE>
**** i: 3
[     0      1      2      0]
[     0      1      1 ps + 2]
<BLANKLINE>
**** i: 4
[     0      1      2      0]
[     0 ps + 1      1      2]
<BLANKLINE>
**** i: 5
[     0      1      2      0]
[     0      1 ps + 1      2]
<BLANKLINE>
**** i: 6
[      0       1       2       0]
[      0       1       1       1]
[ka1 + 1       0       0       1]
<BLANKLINE>
**** i: 7
[     0      1      2      0]
[     0      1      1      1]
[     1      0      0 ps + 1]
<BLANKLINE>
**** i: 8
ka2
<BLANKLINE>
**** i: 9
ka1^2
<BLANKLINE>
**** i: 10
ka1*ps1
<BLANKLINE>
**** i: 11
ka1*ps2
<BLANKLINE>
**** i: 12
ps1^2
<BLANKLINE>
**** i: 13
ps1*ps2
<BLANKLINE>
**** i: 14
ps2^2
<BLANKLINE>r™…rš}r›(h5Uh6j•ubaubhv)rœ}r(h5XZClasses that are monomials in :math:`\psi` and :math:`\kappa` have self-explanatory names.ržh6j}h7j…h9hyh;}rŸ(hA]hB]h@]h?]hC]uhDKOhEhh0]r (hGXClasses that are monomials in r¡…r¢}r£(h5XClasses that are monomials in h6jœubcsphinx.ext.mathbase
math
r¤)r¥}r¦(h5Uh;}r§(UlatexX\psih?]h@]hA]hB]hC]uh6jœh0]h9Umathr¨ubhGX and r©…rª}r«(h5X and h6jœubj¤)r¬}r­(h5Uh;}r®(UlatexX\kappah?]h@]hA]hB]hC]uh6jœh0]h9j¨ubhGX have self-explanatory names.r¯…r°}r±(h5X have self-explanatory names.h6jœubeubhv)r²}r³(h5X>More complicated classes are displayed in a matrix as follows:r´h6j}h7j…h9hyh;}rµ(hA]hB]h@]h?]hC]uhDKQhEhh0]r¶hGX>More complicated classes are displayed in a matrix as follows:r·…r¸}r¹(h5j´h6j²ubaubhv)rº}r»(h5X~Each row after the first corresponds to a vertex of the graph.
The constant term in the entry in the first column is the genus.
The kappa classes also appear in the first column.
Each column beyond the first corresponds to an edge or a half edge.
The entry in the first row gives the label of the half edge, or 0 for a full edge.
The constant term of the entry in location (v,e) gives the number of times (0, 1, or 2) that edge e touches vertex v.
A `ps` in entry (v,e) means a :math:`\psi`-class associated to the half edge coming out of v.
A `ps_` may occur when there is a loop at the vertex.
The entry in the top left is just padding.h6j}h7j…h9hyh;}r¼(hA]hB]h@]h?]hC]uhDKShEhh0]r½(hGXÂEach row after the first corresponds to a vertex of the graph.
The constant term in the entry in the first column is the genus.
The kappa classes also appear in the first column.
Each column beyond the first corresponds to an edge or a half edge.
The entry in the first row gives the label of the half edge, or 0 for a full edge.
The constant term of the entry in location (v,e) gives the number of times (0, 1, or 2) that edge e touches vertex v.
A r¾…r¿}rÀ(h5XÂEach row after the first corresponds to a vertex of the graph.
The constant term in the entry in the first column is the genus.
The kappa classes also appear in the first column.
Each column beyond the first corresponds to an edge or a half edge.
The entry in the first row gives the label of the half edge, or 0 for a full edge.
The constant term of the entry in location (v,e) gives the number of times (0, 1, or 2) that edge e touches vertex v.
A h6jºubjØ)rÁ}rÂ(h5X`ps`h;}rÃ(hA]hB]h@]h?]hC]uh6jºh0]rÄhGXpsrÅ…rÆ}rÇ(h5Uh6jÁubah9jàubhGX in entry (v,e) means a rÈ…rÉ}rÊ(h5X in entry (v,e) means a h6jºubj¤)rË}rÌ(h5Uh;}rÍ(UlatexX\psih?]h@]hA]hB]hC]uh6jºh0]h9j¨ubhGX6-class associated to the half edge coming out of v.
A rÎ…rÏ}rÐ(h5X6-class associated to the half edge coming out of v.
A h6jºubjØ)rÑ}rÒ(h5X`ps_`h;}rÓ(hA]hB]h@]h?]hC]uh6jºh0]rÔhGXps_rÕ…rÖ}r×(h5Uh6jÑubah9jàubhGXY may occur when there is a loop at the vertex.
The entry in the top left is just padding.rØ…rÙ}rÚ(h5XY may occur when there is a loop at the vertex.
The entry in the top left is just padding.h6jºubeubhv)rÛ}rÜ(h5XÂTo create classes, you can use their codimension and index.
Boundary strata and psi-kappa monomials are represented by their special names,
and the rest are represented by `s_{codim},{index}` ::h6j}h7j…h9hyh;}rÝ(hA]hB]h@]h?]hC]uhDK]hEhh0]rÞ(hGX¬To create classes, you can use their codimension and index.
Boundary strata and psi-kappa monomials are represented by their special names,
and the rest are represented by rß…rà}rá(h5X¬To create classes, you can use their codimension and index.
Boundary strata and psi-kappa monomials are represented by their special names,
and the rest are represented by h6jÛubjØ)râ}rã(h5X`s_{codim},{index}`h;}rä(hA]hB]h@]h?]hC]uh6jÛh0]råhGXs_{codim},{index}r慁rç}rè(h5Uh6jâubah9jàubeubj)ré}rê(h5Xosage: a = SA(2, 1); a
s_2,1
sage: b = SA(2, 7); b
s_2,7
sage: c = SA(2, 11); c
ka1*ps2
sage: d = SA(1,1); d
Dg1h6j}h7j…h9jh;}rë(h=h>h?]h@]hA]hB]hC]uhDKehEhh0]rìhGXosage: a = SA(2, 1); a
s_2,1
sage: b = SA(2, 7); b
s_2,7
sage: c = SA(2, 11); c
ka1*ps2
sage: d = SA(1,1); d
Dg1r텁rî}rï(h5Uh6jéubaubhv)rð}rñ(h5X(Vector space arithmetic is supported. ::ròh6j}h7j…h9hyh;}ró(hA]hB]h@]h?]hC]uhDKjhEhh0]rôhGX%Vector space arithmetic is supported.rõ…rö}r÷(h5X%Vector space arithmetic is supported.h6jðubaubj)rø}rù(h5X:sage: 3*b
3*s_2,7
sage: a*72 - b/17
72*s_2,1 + -1/17*s_2,7h6j}h7j…h9jh;}rú(h=h>h?]h@]hA]hB]hC]uhDKphEhh0]rûhGX:sage: 3*b
3*s_2,7
sage: a*72 - b/17
72*s_2,1 + -1/17*s_2,7rü…rý}rþ(h5Uh6jøubaubhv)rÿ}r(h5XoUse :meth:`~strataalgebra.StrataAlgebra.get_stratum` if you need to know what an unamed basis element means. ::rh6j}h7j…h9hyh;}r(hA]hB]h@]h?]hC]uhDKqhEhh0]r(hGXUse r…r}r(h5XUse h6jÿubj¿)r}r(h5X0:meth:`~strataalgebra.StrataAlgebra.get_stratum`r	h6jÿh7Nh9jÏh;}r
(UreftypeXmethjs‰jtX'strataalgebra.StrataAlgebra.get_stratumU	refdomainXpyrh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rh)r
}r(h5j	h;}r(hA]hB]r(j~jXpy-methreh@]h?]hC]uh6jh0]rhGX
get_stratum()r…r}r(h5Uh6j
ubah9h‡ubaubhGX8 if you need to know what an unamed basis element means.r…r}r(h5X8 if you need to know what an unamed basis element means.h6jÿubeubj)r}r(h5Xssage: SA.get_stratum(2,7)
[     0      1      2      0]
[     0      1      1      1]
[     1      0      0 ps + 1]h6j}h7j…h9jh;}r(h=h>h?]h@]hA]hB]hC]uhDKwhEhh0]rhGXssage: SA.get_stratum(2,7)
[     0      1      2      0]
[     0      1      1      1]
[     1      0      0 ps + 1]r…r}r(h5Uh6jubaubhv)r }r!(h5XYou can construct :math:`\psi,\;\kappa` monomials and boundary divisors with the methods :meth:`~strataalgebra.StrataAlgebra.kappa`, :meth:`~strataalgebra.StrataAlgebra.psi`,
:meth:`~strataalgebra.StrataAlgebra.boundary`, and :meth:`~strataalgebra.StrataAlgebra.irr`.h6j}h7j…h9hyh;}r"(hA]hB]h@]h?]hC]uhDKxhEhh0]r#(hGXYou can construct r$…r%}r&(h5XYou can construct h6j ubj¤)r'}r((h5Uh;}r)(UlatexX
\psi,\;\kappah?]h@]hA]hB]hC]uh6j h0]h9j¨ubhGX2 monomials and boundary divisors with the methods r*…r+}r,(h5X2 monomials and boundary divisors with the methods h6j ubj¿)r-}r.(h5X*:meth:`~strataalgebra.StrataAlgebra.kappa`r/h6j h7Nh9jÏh;}r0(UreftypeXmethjs‰jtX!strataalgebra.StrataAlgebra.kappaU	refdomainXpyr1h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r2h)r3}r4(h5j/h;}r5(hA]hB]r6(j~j1Xpy-methr7eh@]h?]hC]uh6j-h0]r8hGXkappa()r9…r:}r;(h5Uh6j3ubah9h‡ubaubhGX, r<…r=}r>(h5X, h6j ubj¿)r?}r@(h5X(:meth:`~strataalgebra.StrataAlgebra.psi`rAh6j h7Nh9jÏh;}rB(UreftypeXmethjs‰jtXstrataalgebra.StrataAlgebra.psiU	refdomainXpyrCh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rDh)rE}rF(h5jAh;}rG(hA]hB]rH(j~jCXpy-methrIeh@]h?]hC]uh6j?h0]rJhGXpsi()rK…rL}rM(h5Uh6jEubah9h‡ubaubhGX,
rN…rO}rP(h5X,
h6j ubj¿)rQ}rR(h5X-:meth:`~strataalgebra.StrataAlgebra.boundary`rSh6j h7Nh9jÏh;}rT(UreftypeXmethjs‰jtX$strataalgebra.StrataAlgebra.boundaryU	refdomainXpyrUh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rVh)rW}rX(h5jSh;}rY(hA]hB]rZ(j~jUXpy-methr[eh@]h?]hC]uh6jQh0]r\hGX
boundary()r]…r^}r_(h5Uh6jWubah9h‡ubaubhGX, and r`…ra}rb(h5X, and h6j ubj¿)rc}rd(h5X(:meth:`~strataalgebra.StrataAlgebra.irr`reh6j h7Nh9jÏh;}rf(UreftypeXmethjs‰jtXstrataalgebra.StrataAlgebra.irrU	refdomainXpyrgh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rhh)ri}rj(h5jeh;}rk(hA]hB]rl(j~jgXpy-methrmeh@]h?]hC]uh6jch0]rnhGXirr()ro…rp}rq(h5Uh6jiubah9h‡ubaubhGX.…rr}rs(h5X.h6j ubeubhv)rt}ru(h5XvYou can construct an element using the matrix notation. Just pass a list of lists into your
:class:`StrataAlgebra`. ::h6j}h7j…h9hyh;}rv(hA]hB]h@]h?]hC]uhDK{hEhh0]rw(hGX\You can construct an element using the matrix notation. Just pass a list of lists into your
rx…ry}rz(h5X\You can construct an element using the matrix notation. Just pass a list of lists into your
h6jtubj¿)r{}r|(h5X:class:`StrataAlgebra`r}h6jth7Nh9jÏh;}r~(UreftypeXclassjs‰jtX
StrataAlgebraU	refdomainXpyrh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r€h)r}r‚(h5j}h;}rƒ(hA]hB]r„(j~jXpy-classr…eh@]h?]hC]uh6j{h0]r†hGX
StrataAlgebrar‡…rˆ}r‰(h5Uh6jubah9h‡ubaubhGX.…rŠ}r‹(h5X.h6jtubeubj)rŒ}r(h5X¤sage: var('ps') #This is usually be done automatically, but we have to do it manually for the dotests to work.
ps
sage: SA([[0,1,2,0],[1,0,0,ps+1],[0,1,1,1]])
s_2,7h6j}h7j…h9jh;}rŽ(h=h>h?]h@]hA]hB]hC]uhDK‚hEhh0]rhGX¤sage: var('ps') #This is usually be done automatically, but we have to do it manually for the dotests to work.
ps
sage: SA([[0,1,2,0],[1,0,0,ps+1],[0,1,1,1]])
s_2,7r…r‘}r’(h5Uh6jŒubaubhv)r“}r”(h5X#Here is an example of the `ps_`: ::r•h6j}h7j…h9hyh;}r–(hA]hB]h@]h?]hC]uhDKƒhEhh0]r—(hGXHere is an example of the r˜…r™}rš(h5XHere is an example of the h6j“ubjØ)r›}rœ(h5X`ps_`h;}r(hA]hB]h@]h?]hC]uh6j“h0]ržhGXps_rŸ…r }r¡(h5Uh6j›ubah9jàubhGX:…r¢}r£(h5X:h6j“ubeubj)r¤}r¥(h5Xåsage: s = StrataAlgebra(QQ,2,())
sage: s.get_stratum(3,9)
[       0        0]
[       1 ps^2 + 2]
sage: s.get_stratum(3,10)
[         0          0]
[         1 ps*ps_ + 2]
sage: var('ps_')
ps_
sage: s([[0,0],[1,ps_*ps+2]])
s_3,10h6j}h7j…h9jh;}r¦(h=h>h?]h@]hA]hB]hC]uhDK‰hEhh0]r§hGXåsage: s = StrataAlgebra(QQ,2,())
sage: s.get_stratum(3,9)
[       0        0]
[       1 ps^2 + 2]
sage: s.get_stratum(3,10)
[         0          0]
[         1 ps*ps_ + 2]
sage: var('ps_')
ps_
sage: s([[0,0],[1,ps_*ps+2]])
s_3,10r¨…r©}rª(h5Uh6j¤ubaubhv)r«}r¬(h5X>One of the main features is the computation of the product. ::r­h6j}h7j…h9hyh;}r®(hA]hB]h@]h?]hC]uhDK‘hEhh0]r¯hGX;One of the main features is the computation of the product.r°…r±}r²(h5X;One of the main features is the computation of the product.h6j«ubaubj)r³}r´(h5Xsage: a*b
0h6j}h7j…h9jh;}rµ(h=h>h?]h@]hA]hB]hC]uhDK—hEhh0]r¶hGXsage: a*b
0r·…r¸}r¹(h5Uh6j³ubaubhv)rº}r»(h5XJOf course, the codimension was too big. Lets do some less trivial ones. ::r¼h6j}h7j…h9hyh;}r½(hA]hB]h@]h?]hC]uhDK–hEhh0]r¾hGXGOf course, the codimension was too big. Lets do some less trivial ones.r¿…rÀ}rÁ(h5XGOf course, the codimension was too big. Lets do some less trivial ones.h6jºubaubj)rÂ}rÃ(h5Xtsage: SA = StrataAlgebra(QQ,1,(1,2,3)); SA
Strata algebra with genus 1 and markings (1, 2, 3) over Rational Field
sage: SA.psi(1) * SA.psi(2)
ps1*ps2
sage: SA.get_stratum(2,7) #just so you can see what it is
[0 1 2 3 0 0]
[0 0 1 1 1 0]
[0 1 0 0 1 1]
[1 0 0 0 0 1]
sage: SA(2,7)*SA.psi(1)
0
sage: SA(2,7)*SA.kappa(1)
s_3,36
sage: SA.get_stratum(3,36)
[      0       1       2       3       0       0]
[      0       0       1       1       1       0]
[      0       1       0       0       1       1]
[ka1 + 1       0       0       0       0       1]
sage: SA.irr()^3
6*s_3,4 + -3*s_3,15 + -3*s_3,23 + -3*s_3,35 + s_3,48 + s_3,49h6j}h7j…h9jh;}rÄ(h=h>h?]h@]hA]hB]hC]uhDKœhEhh0]rÅhGXtsage: SA = StrataAlgebra(QQ,1,(1,2,3)); SA
Strata algebra with genus 1 and markings (1, 2, 3) over Rational Field
sage: SA.psi(1) * SA.psi(2)
ps1*ps2
sage: SA.get_stratum(2,7) #just so you can see what it is
[0 1 2 3 0 0]
[0 0 1 1 1 0]
[0 1 0 0 1 1]
[1 0 0 0 0 1]
sage: SA(2,7)*SA.psi(1)
0
sage: SA(2,7)*SA.kappa(1)
s_3,36
sage: SA.get_stratum(3,36)
[      0       1       2       3       0       0]
[      0       0       1       1       1       0]
[      0       1       0       0       1       1]
[ka1 + 1       0       0       0       0       1]
sage: SA.irr()^3
6*s_3,4 + -3*s_3,15 + -3*s_3,23 + -3*s_3,35 + s_3,48 + s_3,49rÆ…rÇ}rÈ(h5Uh6jÂubaubhv)rÉ}rÊ(h5X6Everything should work with distributive laws, etc. ::rËh6j}h7j…h9hyh;}rÌ(hA]hB]h@]h?]hC]uhDK­hEhh0]rÍhGX3Everything should work with distributive laws, etc.rÎ…rÏ}rÐ(h5X3Everything should work with distributive laws, etc.h6jÉubaubj)rÑ}rÒ(h5X_sage: SA.kappa(2)*(3*SA.psi(3)-SA(1,3)) == -SA(1,3) *SA.kappa(2) + SA.psi(3)*SA.kappa(2)*3
Trueh6j}h7j…h9jh;}rÓ(h=h>h?]h@]hA]hB]hC]uhDK³hEhh0]rÔhGX_sage: SA.kappa(2)*(3*SA.psi(3)-SA(1,3)) == -SA(1,3) *SA.kappa(2) + SA.psi(3)*SA.kappa(2)*3
TruerÕ…rÖ}r×(h5Uh6jÑubaubhv)rØ}rÙ(h5X It should work over any ring. ::rÚh6j}h7j…h9hyh;}rÛ(hA]hB]h@]h?]hC]uhDK²hEhh0]rÜhGXIt should work over any ring.rÝ…rÞ}rß(h5XIt should work over any ring.h6jØubaubj)rà}rá(h5X.sage: R.<t> = PolynomialRing(ZZ)
sage: SA = StrataAlgebra(R, 2); SA
Strata algebra with genus 2 and markings () over Univariate Polynomial Ring in t over Integer Ring
sage: (3+t)*SA.kappa(1) + t^2 + t*SA.kappa(1)
(t^2)one + (2*t + 3)ka1
sage: _^2
(t^4)one + (4*t^3 + 6*t^2)ka1 + (4*t^2 + 12*t + 9)ka1^2h6j}h7j…h9jh;}râ(h=h>h?]h@]hA]hB]hC]uhDK¸hEhh0]rãhGX.sage: R.<t> = PolynomialRing(ZZ)
sage: SA = StrataAlgebra(R, 2); SA
Strata algebra with genus 2 and markings () over Univariate Polynomial Ring in t over Integer Ring
sage: (3+t)*SA.kappa(1) + t^2 + t*SA.kappa(1)
(t^2)one + (2*t + 3)ka1
sage: _^2
(t^4)one + (4*t^3 + 6*t^2)ka1 + (4*t^2 + 12*t + 9)ka1^2r䅁rå}ræ(h5Uh6jàubaubhv)rç}rè(h5X3There may be problems over a non-divisible ring. ::réh6j}h7j…h9hyh;}rê(hA]hB]h@]h?]hC]uhDK½hEhh0]rëhGX0There may be problems over a non-divisible ring.r셁rí}rî(h5X0There may be problems over a non-divisible ring.h6jçubaubj)rï}rð(h5Xßsage: SA.irr()
Traceback (most recent call last):
...
TypeError: unsupported operand parent(s) for *: 'Rational Field' and 'Strata algebra with genus 2 and markings () over Univariate Polynomial Ring in t over Integer Ring'h6j}h7j…h9jh;}rñ(h=h>h?]h@]hA]hB]hC]uhDKÃhEhh0]ròhGXßsage: SA.irr()
Traceback (most recent call last):
...
TypeError: unsupported operand parent(s) for *: 'Rational Field' and 'Strata algebra with genus 2 and markings () over Univariate Polynomial Ring in t over Integer Ring'ró…rô}rõ(h5Uh6jïubaubhv)rö}r÷(h5X³Also, repeated names of the markings are allowed. The following corresponds to :math:`\overline{\mathcal M}_{1,2}/S_2`.
Compare the codimension 2 strata to our earlier example. ::h6j}h7j…h9hyh;}rø(hA]hB]h@]h?]hC]uhDKÄhEhh0]rù(hGXOAlso, repeated names of the markings are allowed. The following corresponds to rú…rû}rü(h5XOAlso, repeated names of the markings are allowed. The following corresponds to h6jöubj¤)rý}rþ(h5Uh;}rÿ(UlatexX\overline{\mathcal M}_{1,2}/S_2h?]h@]hA]hB]hC]uh6jöh0]h9j¨ubhGX:.
Compare the codimension 2 strata to our earlier example.r…r}r(h5X:.
Compare the codimension 2 strata to our earlier example.h6jöubeubj)r}r(h5XSsage: SA = StrataAlgebra(QQ,1,(1,1)); SA
Strata algebra with genus 1 and markings (1, 1) over Rational Field
sage: SA.print_strata(2)
**** i: 0
[0 1 1 0 0]
[0 0 0 2 1]
[0 1 1 0 1]
<BLANKLINE>
**** i: 1
[0 1 1 0 0]
[0 0 1 1 1]
[0 1 0 1 1]
<BLANKLINE>
**** i: 2
[  0   1   1   0]
[ka1   1   1   2]
<BLANKLINE>
**** i: 3
[     0      1      1      0]
[     0      1      1 ps + 2]
<BLANKLINE>
**** i: 4
[     0      1      1      0]
[     0 ps + 1      1      2]
<BLANKLINE>
**** i: 5
[      0       1       1       0]
[      0       1       1       1]
[ka1 + 1       0       0       1]
<BLANKLINE>
**** i: 6
[     0      1      1      0]
[     0      1      1      1]
[     1      0      0 ps + 1]
<BLANKLINE>
**** i: 7
ka2
<BLANKLINE>
**** i: 8
ka1^2
<BLANKLINE>
**** i: 9
ka1*ps1
<BLANKLINE>
**** i: 10
ps1^2
<BLANKLINE>
**** i: 11
ps1*ps1
<BLANKLINE>h6j}h7j…h9jh;}r(h=h>h?]h@]hA]hB]hC]uhDKËhEhh0]rhGXSsage: SA = StrataAlgebra(QQ,1,(1,1)); SA
Strata algebra with genus 1 and markings (1, 1) over Rational Field
sage: SA.print_strata(2)
**** i: 0
[0 1 1 0 0]
[0 0 0 2 1]
[0 1 1 0 1]
<BLANKLINE>
**** i: 1
[0 1 1 0 0]
[0 0 1 1 1]
[0 1 0 1 1]
<BLANKLINE>
**** i: 2
[  0   1   1   0]
[ka1   1   1   2]
<BLANKLINE>
**** i: 3
[     0      1      1      0]
[     0      1      1 ps + 2]
<BLANKLINE>
**** i: 4
[     0      1      1      0]
[     0 ps + 1      1      2]
<BLANKLINE>
**** i: 5
[      0       1       1       0]
[      0       1       1       1]
[ka1 + 1       0       0       1]
<BLANKLINE>
**** i: 6
[     0      1      1      0]
[     0      1      1      1]
[     1      0      0 ps + 1]
<BLANKLINE>
**** i: 7
ka2
<BLANKLINE>
**** i: 8
ka1^2
<BLANKLINE>
**** i: 9
ka1*ps1
<BLANKLINE>
**** i: 10
ps1^2
<BLANKLINE>
**** i: 11
ps1*ps1
<BLANKLINE>r…r}r	(h5Uh6jubaubcsphinx.addnodes
seealso
r
)r}r(h5X:meth:`strataalgebra.StrataAlgebraElement.integrate`

:meth:`~strataalgebra.StrataAlgebra.betti`

:meth:`~strataalgebra.StrataAlgebra.FZ_betti`h6j}h7j…h9Useealsor
h;}r(hA]hB]h@]h?]hC]uhDNhEhh0]r(hv)r}r(h5X4:meth:`strataalgebra.StrataAlgebraElement.integrate`rh6jh7j…h9hyh;}r(hA]hB]h@]h?]hC]uhDKþh0]rj¿)r}r(h5jh6jh7Nh9jÏh;}r(UreftypeXmethjs‰jtX,strataalgebra.StrataAlgebraElement.integrateU	refdomainXpyrh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rh)r}r(h5jh;}r(hA]hB]r(j~jXpy-methreh@]h?]hC]uh6jh0]rhGX.strataalgebra.StrataAlgebraElement.integrate()r …r!}r"(h5Uh6jubah9h‡ubaubaubhv)r#}r$(h5X*:meth:`~strataalgebra.StrataAlgebra.betti`r%h6jh7j…h9hyh;}r&(hA]hB]h@]h?]hC]uhDMh0]r'j¿)r(}r)(h5j%h6j#h7Nh9jÏh;}r*(UreftypeXmethjs‰jtX!strataalgebra.StrataAlgebra.bettiU	refdomainXpyr+h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r,h)r-}r.(h5j%h;}r/(hA]hB]r0(j~j+Xpy-methr1eh@]h?]hC]uh6j(h0]r2hGXbetti()r3…r4}r5(h5Uh6j-ubah9h‡ubaubaubhv)r6}r7(h5X-:meth:`~strataalgebra.StrataAlgebra.FZ_betti`r8h6jh7j…h9hyh;}r9(hA]hB]h@]h?]hC]uhDMh0]r:j¿)r;}r<(h5j8h6j6h7Nh9jÏh;}r=(UreftypeXmethjs‰jtX$strataalgebra.StrataAlgebra.FZ_bettiU	refdomainXpyr>h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r?h)r@}rA(h5j8h;}rB(hA]hB]rC(j~j>Xpy-methrDeh@]h?]hC]uh6j;h0]rEhGX
FZ_betti()rF…rG}rH(h5Uh6j@ubah9h‡ubaubaubeubj)rI}rJ(h5Uh6j}h7Nh9jh;}rK(h?]h@]hA]hB]hC]Uentries]rL(jX/FZ_betti() (strataalgebra.StrataAlgebra method)hUNtrMauhDNhEhh0]ubj )rN}rO(h5Uh6j}h7Nh9j#h;}rP(j%‰j&Xpyh?]h@]hA]hB]hC]j(XmethodrQj*jQuhDNhEhh0]rR(j,)rS}rT(h5X"StrataAlgebra.FZ_betti(codim=None)h6jNh7Xg/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.FZ_bettirUh9j0h;}rV(h?]rWhaj3j4X
strataalgebrarX…rY}rZbh@]hA]hB]hC]r[haj9XStrataAlgebra.FZ_bettij;j:j<‰uhDNhEhh0]r\(jP)r]}r^(h5XFZ_bettih6jSh7jUh9jSh;}r_(hA]hB]h@]h?]hC]uhDNhEhh0]r`hGXFZ_bettira…rb}rc(h5Uh6j]ubaubjY)rd}re(h5X
codim=Noneh6jSh7jUh9j\h;}rf(hA]hB]h@]h?]hC]uhDNhEhh0]rgj_)rh}ri(h5X
codim=Noneh;}rj(hA]hB]h@]h?]hC]uh6jdh0]rkhGX
codim=Nonerl…rm}rn(h5Uh6jhubah9jgubaubeubj|)ro}rp(h5Uh6jNh7jUh9jh;}rq(hA]hB]h@]h?]hC]uhDNhEhh0]rr(hv)rs}rt(h5X®Give the dimension of the cohomology of moduli space of curves, as predicted by the Faber-Zagier-Pixton relations.
If the codimension is omited, return a list of all of them.ruh6joh7Xg/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.FZ_bettirvh9hyh;}rw(hA]hB]h@]h?]hC]uhDKhEhh0]rxhGX®Give the dimension of the cohomology of moduli space of curves, as predicted by the Faber-Zagier-Pixton relations.
If the codimension is omited, return a list of all of them.ry…rz}r{(h5juh6jsubaubj‹)r|}r}(h5Uh6joh7Nh9jŽh;}r~(hA]hB]h@]h?]hC]uhDNhEhh0]rj‘)r€}r(h5Uh;}r‚(hA]hB]h@]h?]hC]uh6j|h0]rƒ(j–)r„}r…(h5X
Parametersh6j€h7jUh9j™h;}r†(hA]hB]h@]h?]hC]uhDKh0]r‡hGX
Parametersrˆ…r‰}rŠ(h5Uh6j„ubaubjŸ)r‹}rŒ(h5Uh;}r(hA]hB]h@]h?]hC]uh6j€h0]rŽhv)r}r(h5X,codim -- Optional. The codimension you want.h;}r‘(hA]hB]h@]h?]hC]uh6j‹h0]r’(j²)r“}r”(h5Xcodimh;}r•(h?]h@]j¶ˆhA]hB]hC]uh6jh0]r–hGXcodimr—…r˜}r™(h5Uh6j“ubah9j»ubhGX -- rš…r›}rœ(h5Uh6jubhGX#Optional. The codimension you want.r…rž}rŸ(h5X#Optional. The codimension you want.h6jubeh9hyubah9jVubeh9jWubaubj)r }r¡(h5XŒsage: from strataalgebra import *
sage: StrataAlgebra(QQ, 2, (1,)).FZ_betti()
[1, 3, 5, 3, 1]
sage: StrataAlgebra(QQ, 2, (1,)).FZ_betti(2)
5h6joh7jvh9jh;}r¢(h=h>h?]h@]hA]hB]hC]uhDMhEhh0]r£hGXŒsage: from strataalgebra import *
sage: StrataAlgebra(QQ, 2, (1,)).FZ_betti()
[1, 3, 5, 3, 1]
sage: StrataAlgebra(QQ, 2, (1,)).FZ_betti(2)
5r¤…r¥}r¦(h5Uh6j ubaubj
)r§}r¨(h5X*:meth:`~strataalgebra.StrataAlgebra.betti`r©h6joh7jvh9j
h;}rª(hA]hB]h@]h?]hC]uhDNhEhh0]r«hv)r¬}r­(h5j©h6j§h7jvh9hyh;}r®(hA]hB]h@]h?]hC]uhDKh0]r¯j¿)r°}r±(h5j©h6j¬h7Nh9jÏh;}r²(UreftypeXmethjs‰jtX!strataalgebra.StrataAlgebra.bettiU	refdomainXpyr³h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r´h)rµ}r¶(h5j©h;}r·(hA]hB]r¸(j~j³Xpy-methr¹eh@]h?]hC]uh6j°h0]rºhGXbetti()r»…r¼}r½(h5Uh6jµubah9h‡ubaubaubaubeubeubj)r¾}r¿(h5Uh6j}h7Nh9jh;}rÀ(h?]h@]hA]hB]hC]Uentries]rÁ(jX0FZ_matrix() (strataalgebra.StrataAlgebra method)hUNtrÂauhDNhEhh0]ubj )rÃ}rÄ(h5Uh6j}h7Nh9j#h;}rÅ(j%‰j&Xpyh?]h@]hA]hB]hC]j(XmethodrÆj*jÆuhDNhEhh0]rÇ(j,)rÈ}rÉ(h5XStrataAlgebra.FZ_matrix(r)h6jÃh7Xh/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.FZ_matrixrÊh9j0h;}rË(h?]rÌhaj3j4X
strataalgebrarÍ…rÎ}rÏbh@]hA]hB]hC]rÐhaj9XStrataAlgebra.FZ_matrixj;j:j<‰uhDNhEhh0]rÑ(jP)rÒ}rÓ(h5X	FZ_matrixh6jÈh7jÊh9jSh;}rÔ(hA]hB]h@]h?]hC]uhDNhEhh0]rÕhGX	FZ_matrixrÖ…r×}rØ(h5Uh6jÒubaubjY)rÙ}rÚ(h5Xrh6jÈh7jÊh9j\h;}rÛ(hA]hB]h@]h?]hC]uhDNhEhh0]rÜj_)rÝ}rÞ(h5Xrh;}rß(hA]hB]h@]h?]hC]uh6jÙh0]ràhGXr…rá}râ(h5Uh6jÝubah9jgubaubeubj|)rã}rä(h5Uh6jÃh7jÊh9jh;}rå(hA]hB]h@]h?]hC]uhDNhEhh0]ræ(hv)rç}rè(h5X3Return the matrix of Faber-Zagier-Pixton relations.réh6jãh7Xh/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.FZ_matrixrêh9hyh;}rë(hA]hB]h@]h?]hC]uhDKhEhh0]rìhGX3Return the matrix of Faber-Zagier-Pixton relations.r텁rî}rï(h5jéh6jçubaubj‹)rð}rñ(h5Uh6jãh7Nh9jŽh;}rò(hA]hB]h@]h?]hC]uhDNhEhh0]ró(j‘)rô}rõ(h5Uh;}rö(hA]hB]h@]h?]hC]uh6jðh0]r÷(j–)rø}rù(h5X
Parametersh6jôh7jÊh9j™h;}rú(hA]hB]h@]h?]hC]uhDKh0]rûhGX
Parametersrü…rý}rþ(h5Uh6jøubaubjŸ)rÿ}r(h5Uh;}r(hA]hB]h@]h?]hC]uh6jôh0]rhv)r}r(h5Xr -- h;}r(hA]hB]h@]h?]hC]uh6jÿh0]r(j²)r}r(h5Xrh;}r	(h?]h@]j¶ˆhA]hB]hC]uh6jh0]r
hGXr…r}r(h5Uh6jubah9j»ubhGX -- r
…r}r(h5Uh6jubeh9hyubah9jVubeh9jWubj‘)r}r(h5Uh;}r(hA]hB]h@]h?]hC]uh6jðh0]r(j–)r}r(h5XReturn typeh6jh7jÊh9j™h;}r(hA]hB]h@]h?]hC]uhDKh0]rhGXReturn typer…r}r(h5Uh6jubaubjŸ)r}r(h5Uh;}r(hA]hB]h@]h?]hC]uh6jh0]rhv)r}r (h5XMatrixh;}r!(hA]hB]h@]h?]hC]uh6jh0]r"j¿)r#}r$(h5X:class:`Matrix`r%h6jh7Nh9jÏh;}r&(UreftypeXclassjs‰jtXMatrixU	refdomainXpyr'h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r(h)r)}r*(h5j%h;}r+(hA]hB]r,(j~j'Xpy-classr-eh@]h?]hC]uh6j#h0]r.hGXMatrixr/…r0}r1(h5Uh6j)ubah9h‡ubaubah9hyubah9jVubeh9jWubeubhv)r2}r3(h5X_The columns correspond to the basis elements of the Strata algebra, and each row is a relation.r4h6jãh7jêh9hyh;}r5(hA]hB]h@]h?]hC]uhDKhEhh0]r6hGX_The columns correspond to the basis elements of the Strata algebra, and each row is a relation.r7…r8}r9(h5j4h6j2ubaubhv)r:}r;(h5XŸNotice that this matrix considers the kappa classes to be in the monomial basis. Thus, is different than the
output of Pixton's original `taurel.sage` program.h6jãh7jêh9hyh;}r<(hA]hB]h@]h?]hC]uhDKhEhh0]r=(hGX‰Notice that this matrix considers the kappa classes to be in the monomial basis. Thus, is different than the
output of Pixton's original r>…r?}r@(h5X‰Notice that this matrix considers the kappa classes to be in the monomial basis. Thus, is different than the
output of Pixton's original h6j:ubjØ)rA}rB(h5X
`taurel.sage`h;}rC(hA]hB]h@]h?]hC]uh6j:h0]rDhGXtaurel.sagerE…rF}rG(h5Uh6jAubah9jàubhGX	 program.rH…rI}rJ(h5X	 program.h6j:ubeubj
)rK}rL(h5X@:meth:`~strataalgebra.StrataAlgebra.FZ_matrix_pushforward_basis`rMh6jãh7jêh9j
h;}rN(hA]hB]h@]h?]hC]uhDNhEhh0]rOhv)rP}rQ(h5jMh6jKh7jêh9hyh;}rR(hA]hB]h@]h?]hC]uhDK
h0]rSj¿)rT}rU(h5jMh6jPh7Nh9jÏh;}rV(UreftypeXmethjs‰jtX7strataalgebra.StrataAlgebra.FZ_matrix_pushforward_basisU	refdomainXpyrWh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rXh)rY}rZ(h5jMh;}r[(hA]hB]r\(j~jWXpy-methr]eh@]h?]hC]uh6jTh0]r^hGXFZ_matrix_pushforward_basis()r_…r`}ra(h5Uh6jYubah9h‡ubaubaubaubeubeubj)rb}rc(h5Uh6j}h7Xz/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.FZ_matrix_pushforward_basisrdh9jh;}re(h?]h@]hA]hB]hC]Uentries]rf(jXBFZ_matrix_pushforward_basis() (strataalgebra.StrataAlgebra method)hUNtrgauhDNhEhh0]ubj )rh}ri(h5Uh6j}h7jdh9j#h;}rj(j%‰j&Xpyh?]h@]hA]hB]hC]j(Xmethodrkj*jkuhDNhEhh0]rl(j,)rm}rn(h5X,StrataAlgebra.FZ_matrix_pushforward_basis(r)h6jhh7Xz/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.FZ_matrix_pushforward_basisroh9j0h;}rp(h?]rqhaj3j4X
strataalgebrarr…rs}rtbh@]hA]hB]hC]ruhaj9X)StrataAlgebra.FZ_matrix_pushforward_basisj;j:j<‰uhDNhEhh0]rv(jP)rw}rx(h5XFZ_matrix_pushforward_basish6jmh7joh9jSh;}ry(hA]hB]h@]h?]hC]uhDNhEhh0]rzhGXFZ_matrix_pushforward_basisr{…r|}r}(h5Uh6jwubaubjY)r~}r(h5Xrh6jmh7joh9j\h;}r€(hA]hB]h@]h?]hC]uhDNhEhh0]rj_)r‚}rƒ(h5Xrh;}r„(hA]hB]h@]h?]hC]uh6j~h0]r…hGXr…r†}r‡(h5Uh6j‚ubah9jgubaubeubj|)rˆ}r‰(h5Uh6jhh7joh9jh;}rŠ(hA]hB]h@]h?]hC]uhDNhEhh0]r‹(hv)rŒ}r(h5XReturn the matrix of Faber-Zagier-Pixton relations, using the "pushforward" basis, NOT the kappa monomial basis
that the rest of the code uses.rŽh6jˆh7jdh9hyh;}r(hA]hB]h@]h?]hC]uhDKhEhh0]rhGXReturn the matrix of Faber-Zagier-Pixton relations, using the "pushforward" basis, NOT the kappa monomial basis
that the rest of the code uses.r‘…r’}r“(h5jŽh6jŒubaubj‹)r”}r•(h5Uh6jˆh7jdh9jŽh;}r–(hA]hB]h@]h?]hC]uhDNhEhh0]r—(j‘)r˜}r™(h5Uh;}rš(hA]hB]h@]h?]hC]uh6j”h0]r›(j–)rœ}r(h5X
Parametersh6j˜h7jdh9j™h;}rž(hA]hB]h@]h?]hC]uhDKh0]rŸhGX
Parametersr …r¡}r¢(h5Uh6jœubaubjŸ)r£}r¤(h5Uh;}r¥(hA]hB]h@]h?]hC]uh6j˜h0]r¦hv)r§}r¨(h5Xr -- h;}r©(hA]hB]h@]h?]hC]uh6j£h0]rª(j²)r«}r¬(h5Xrh;}r­(h?]h@]j¶ˆhA]hB]hC]uh6j§h0]r®hGXr…r¯}r°(h5Uh6j«ubah9j»ubhGX -- r±…r²}r³(h5Uh6j§ubeh9hyubah9jVubeh9jWubj‘)r´}rµ(h5Uh;}r¶(hA]hB]h@]h?]hC]uh6j”h0]r·(j–)r¸}r¹(h5XReturn typeh6j´h7jdh9j™h;}rº(hA]hB]h@]h?]hC]uhDKh0]r»hGXReturn typer¼…r½}r¾(h5Uh6j¸ubaubjŸ)r¿}rÀ(h5Uh;}rÁ(hA]hB]h@]h?]hC]uh6j´h0]rÂhv)rÃ}rÄ(h5XMatrixh;}rÅ(hA]hB]h@]h?]hC]uh6j¿h0]rÆj¿)rÇ}rÈ(h5X:class:`Matrix`rÉh6jÃh7Nh9jÏh;}rÊ(UreftypeXclassjs‰jtXMatrixU	refdomainXpyrËh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rÌh)rÍ}rÎ(h5jÉh;}rÏ(hA]hB]rÐ(j~jËXpy-classrÑeh@]h?]hC]uh6jÇh0]rÒhGXMatrixrÓ…rÔ}rÕ(h5Uh6jÍubah9h‡ubaubah9hyubah9jVubeh9jWubeubhv)rÖ}r×(h5XÃThe columns correspond to the basis elements of the Strata algebra, and each row is a relation.
This matrix should be the same as Pixton's original `tautrel.sage` program after permuting columns.h6jˆh7jdh9hyh;}rØ(hA]hB]h@]h?]hC]uhDKhEhh0]rÙ(hGX”The columns correspond to the basis elements of the Strata algebra, and each row is a relation.
This matrix should be the same as Pixton's original rÚ…rÛ}rÜ(h5X”The columns correspond to the basis elements of the Strata algebra, and each row is a relation.
This matrix should be the same as Pixton's original h6jÖubjØ)rÝ}rÞ(h5X`tautrel.sage`h;}rß(hA]hB]h@]h?]hC]uh6jÖh0]ràhGXtautrel.sagerᅁrâ}rã(h5Uh6jÝubah9jàubhGX! program after permuting columns.r䅁rå}ræ(h5X! program after permuting columns.h6jÖubeubeubeubj)rç}rè(h5Uh6j}h7Xj/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.MgnLb_classréh9jh;}rê(h?]h@]hA]hB]hC]Uentries]rë(jX2MgnLb_class() (strataalgebra.StrataAlgebra method)hUNtrìauhDNhEhh0]ubj )rí}rî(h5Uh6j}h7jéh9j#h;}rï(j%‰j&Xpyh?]h@]hA]hB]hC]j(Xmethodrðj*jðuhDNhEhh0]rñ(j,)rò}ró(h5X StrataAlgebra.MgnLb_class(index)h6jíh7Xj/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.MgnLb_classrôh9j0h;}rõ(h?]röhaj3j4X
strataalgebrar÷…rø}rùbh@]hA]hB]hC]rúhaj9XStrataAlgebra.MgnLb_classj;j:j<‰uhDNhEhh0]rû(jP)rü}rý(h5XMgnLb_classh6jòh7jôh9jSh;}rþ(hA]hB]h@]h?]hC]uhDNhEhh0]rÿhGXMgnLb_classr…r}r(h5Uh6jüubaubjY)r}r(h5Xindexh6jòh7jôh9j\h;}r(hA]hB]h@]h?]hC]uhDNhEhh0]rj_)r}r(h5Xindexh;}r	(hA]hB]h@]h?]hC]uh6jh0]r
hGXindexr…r}r
(h5Uh6jubah9jgubaubeubj|)r}r(h5Uh6jíh7jôh9jh;}r(hA]hB]h@]h?]hC]uhDNhEhh0]r(hv)r}r(h5X|Returns the class corresponding to the index from Carl Faber's Mgn_Lb Maple program.
This is useful for testing purposes. ::h6jh7jéh9hyh;}r(hA]hB]h@]h?]hC]uhDKhEhh0]rhGXyReturns the class corresponding to the index from Carl Faber's Mgn_Lb Maple program.
This is useful for testing purposes.r…r}r(h5XyReturns the class corresponding to the index from Carl Faber's Mgn_Lb Maple program.
This is useful for testing purposes.h6jubaubj)r}r(h5X·sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,2))
sage: s.MgnLb_class(1)
ps1
sage: s.MgnLb_class(4)
ka2
sage: s.MgnLb_class(6)
1/2*D_irr
sage: s.MgnLb_class(2)
ps2h6jh7jéh9jh;}r(h=h>h?]h@]hA]hB]hC]uhDMFhEhh0]rhGX·sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,2))
sage: s.MgnLb_class(1)
ps1
sage: s.MgnLb_class(4)
ka2
sage: s.MgnLb_class(6)
1/2*D_irr
sage: s.MgnLb_class(2)
ps2r…r}r(h5Uh6jubaubeubeubj)r }r!(h5Uh6j}h7Nh9jh;}r"(h?]h@]hA]hB]hC]Uentries]r#(jX0MgnLb_int() (strataalgebra.StrataAlgebra method)hUNtr$auhDNhEhh0]ubj )r%}r&(h5Uh6j}h7Nh9j#h;}r'(j%‰j&Xpyh?]h@]hA]hB]hC]j(Xmethodr(j*j(uhDNhEhh0]r)(j,)r*}r+(h5X#StrataAlgebra.MgnLb_int(index_list)h6j%h7Xh/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.MgnLb_intr,h9j0h;}r-(h?]r.haj3j4X
strataalgebrar/…r0}r1bh@]hA]hB]hC]r2haj9XStrataAlgebra.MgnLb_intj;j:j<‰uhDNhEhh0]r3(jP)r4}r5(h5X	MgnLb_inth6j*h7j,h9jSh;}r6(hA]hB]h@]h?]hC]uhDNhEhh0]r7hGX	MgnLb_intr8…r9}r:(h5Uh6j4ubaubjY)r;}r<(h5X
index_listh6j*h7j,h9j\h;}r=(hA]hB]h@]h?]hC]uhDNhEhh0]r>j_)r?}r@(h5X
index_listh;}rA(hA]hB]h@]h?]hC]uh6j;h0]rBhGX
index_listrC…rD}rE(h5Uh6j?ubah9jgubaubeubj|)rF}rG(h5Uh6j%h7j,h9jh;}rH(hA]hB]h@]h?]hC]uhDNhEhh0]rI(hv)rJ}rK(h5XJComputes an integral of boundary divisors, kappa classes, and psi classes.rLh6jFh7Xh/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.MgnLb_intrMh9hyh;}rN(hA]hB]h@]h?]hC]uhDKhEhh0]rOhGXJComputes an integral of boundary divisors, kappa classes, and psi classes.rP…rQ}rR(h5jLh6jJubaubj‹)rS}rT(h5Uh6jFh7Nh9jŽh;}rU(hA]hB]h@]h?]hC]uhDNhEhh0]rV(j‘)rW}rX(h5Uh;}rY(hA]hB]h@]h?]hC]uh6jSh0]rZ(j–)r[}r\(h5X
Parametersh6jWh7j,h9j™h;}r](hA]hB]h@]h?]hC]uhDKh0]r^hGX
Parametersr_…r`}ra(h5Uh6j[ubaubjŸ)rb}rc(h5Uh;}rd(hA]hB]h@]h?]hC]uh6jWh0]rehv)rf}rg(h5XÑindex_list -- A list of indices of classes, according the the scheme of Carl Faber's MgnLb Maple program. This function is useful because so you can test our implementation of the product and the FZ_relations.h;}rh(hA]hB]h@]h?]hC]uh6jbh0]ri(j²)rj}rk(h5X
index_listh;}rl(h?]h@]j¶ˆhA]hB]hC]uh6jfh0]rmhGX
index_listrn…ro}rp(h5Uh6jjubah9j»ubhGX -- rq…rr}rs(h5Uh6jfubhGXÃA list of indices of classes, according the the scheme of Carl Faber's MgnLb Maple program. This function is useful because so you can test our implementation of the product and the FZ_relations.rt…ru}rv(h5XÃA list of indices of classes, according the the scheme of Carl Faber's MgnLb Maple program. This function is useful because so you can test our implementation of the product and the FZ_relations.h6jfubeh9hyubah9jVubeh9jWubj‘)rw}rx(h5Uh;}ry(hA]hB]h@]h?]hC]uh6jSh0]rz(j–)r{}r|(h5XReturn typeh6jwh7j,h9j™h;}r}(hA]hB]h@]h?]hC]uhDKh0]r~hGXReturn typer…r€}r(h5Uh6j{ubaubjŸ)r‚}rƒ(h5Uh;}r„(hA]hB]h@]h?]hC]uh6jwh0]r…hv)r†}r‡(h5XRationalh;}rˆ(hA]hB]h@]h?]hC]uh6j‚h0]r‰jØ)rŠ}r‹(h5X
`Rational`h;}rŒ(hA]hB]h@]h?]hC]uh6j†h0]rhGXRationalrŽ…r}r(h5Uh6jŠubah9jàubah9hyubah9jVubeh9jWubeubhv)r‘}r’(h5XExamples: ::h6jFh7jMh9hyh;}r“(hA]hB]h@]h?]hC]uhDKhEhh0]r”hGX	Examples:r•…r–}r—(h5X	Examples:h6j‘ubaubj)r˜}r™(h5Xœsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,2))
sage: s.MgnLb_int([1,6])
1/2
sage: s.MgnLb_int([1,2])
1/24
sage: s.MgnLb_int([4])
1/24h6jFh7jMh9jh;}rš(h=h>h?]h@]hA]hB]hC]uhDM]hEhh0]r›hGXœsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,2))
sage: s.MgnLb_int([1,6])
1/2
sage: s.MgnLb_int([1,2])
1/24
sage: s.MgnLb_int([4])
1/24rœ…r}rž(h5Uh6j˜ubaubj
)rŸ}r (h5X0:meth:`~strataalgebra.StrataAlgebra.MgnLb_class`r¡h6jFh7jMh9j
h;}r¢(hA]hB]h@]h?]hC]uhDNhEhh0]r£hv)r¤}r¥(h5j¡h6jŸh7jMh9hyh;}r¦(hA]hB]h@]h?]hC]uhDKh0]r§j¿)r¨}r©(h5j¡h6j¤h7Nh9jÏh;}rª(UreftypeXmethjs‰jtX'strataalgebra.StrataAlgebra.MgnLb_classU	refdomainXpyr«h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r¬h)r­}r®(h5j¡h;}r¯(hA]hB]r°(j~j«Xpy-methr±eh@]h?]hC]uh6j¨h0]r²hGX
MgnLb_class()r³…r´}rµ(h5Uh6j­ubah9h‡ubaubaubaubeubeubj)r¶}r·(h5Uh6j}h7Xn/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.basis_integralsr¸h9jh;}r¹(h?]h@]hA]hB]hC]Uentries]rº(jX7basis_integrals (strataalgebra.StrataAlgebra attribute)hUNtr»auhDNhEhh0]ubj )r¼}r½(h5Uh6j}h7j¸h9j#h;}r¾(j%‰j&Xpyh?]h@]hA]hB]hC]j(X	attributer¿j*j¿uhDNhEhh0]rÀ(j,)rÁ}rÂ(h5XStrataAlgebra.basis_integralsh6j¼h7Xn/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.basis_integralsrÃh9j0h;}rÄ(h?]rÅhaj3j4X
strataalgebrarÆ…rÇ}rÈbh@]hA]hB]hC]rÉhaj9XStrataAlgebra.basis_integralsj;j:j<‰uhDNhEhh0]rÊjP)rË}rÌ(h5Xbasis_integralsh6jÁh7jÃh9jSh;}rÍ(hA]hB]h@]h?]hC]uhDNhEhh0]rÎhGXbasis_integralsrÏ…rÐ}rÑ(h5Uh6jËubaubaubj|)rÒ}rÓ(h5Uh6j¼h7jÃh9jh;}rÔ(hA]hB]h@]h?]hC]uhDNhEhh0]rÕ(hv)rÖ}r×(h5XRFile: /Users/drewjohnson/mgn/strataalgebra/strataalgebra.py (starting at line 417)rØh6jÒh7j¸h9hyh;}rÙ(hA]hB]h@]h?]hC]uhDKhEhh0]rÚhGXRFile: /Users/drewjohnson/mgn/strataalgebra/strataalgebra.py (starting at line 417)rÛ…rÜ}rÝ(h5jØh6jÖubaubhv)rÞ}rß(h5XeReturn a list of numbers corresponding to the integrals of the basis elements in the top codimension.ràh6jÒh7j¸h9hyh;}rá(hA]hB]h@]h?]hC]uhDKhEhh0]râhGXeReturn a list of numbers corresponding to the integrals of the basis elements in the top codimension.rㅁrä}rå(h5jàh6jÞubaubhv)ræ}rç(h5X_This is computed via the FZ relations, so it is probably not fast. However, it is a nice check.rèh6jÒh7j¸h9hyh;}ré(hA]hB]h@]h?]hC]uhDKhEhh0]rêhGX_This is computed via the FZ relations, so it is probably not fast. However, it is a nice check.r녁rì}rí(h5jèh6jæubaubhv)rî}rï(h5XEThe value is cached, so you only have to compute it once per session.rðh6jÒh7j¸h9hyh;}rñ(hA]hB]h@]h?]hC]uhDKhEhh0]ròhGXEThe value is cached, so you only have to compute it once per session.ró…rô}rõ(h5jðh6jîubaubhv)rö}r÷(h5XoThis is used by :meth:`StrataAlgebraElement.integrate` which is the more likely way you will want to use it.
::h6jÒh7j¸h9hyh;}rø(hA]hB]h@]h?]hC]uhDK	hEhh0]rù(hGXThis is used by rú…rû}rü(h5XThis is used by h6jöubj¿)rý}rþ(h5X&:meth:`StrataAlgebraElement.integrate`rÿh6jöh7Nh9jÏh;}r(UreftypeXmethjs‰jtXStrataAlgebraElement.integrateU	refdomainXpyrh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rh)r}r(h5jÿh;}r(hA]hB]r(j~jXpy-methreh@]h?]hC]uh6jýh0]rhGX StrataAlgebraElement.integrate()r	…r
}r(h5Uh6jubah9h‡ubaubhGX6 which is the more likely way you will want to use it.r…r
}r(h5X6 which is the more likely way you will want to use it.h6jöubeubj)r}r(h5XÖsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,))
sage: s.print_strata(1)
**** i: 0
D_irr
<BLANKLINE>
**** i: 1
ka1
<BLANKLINE>
**** i: 2
ps1
<BLANKLINE>
sage: s.basis_integrals()
[1, 1/24, 1/24]h6jÒh7j¸h9jh;}r(h=h>h?]h@]hA]hB]hC]uhDMzhEhh0]rhGXÖsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,))
sage: s.print_strata(1)
**** i: 0
D_irr
<BLANKLINE>
**** i: 1
ka1
<BLANKLINE>
**** i: 2
ps1
<BLANKLINE>
sage: s.basis_integrals()
[1, 1/24, 1/24]r…r}r(h5Uh6jubaubeubeubj)r}r(h5Uh6j}h7Xd/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.bettirh9jh;}r(h?]h@]hA]hB]hC]Uentries]r(jX,betti() (strataalgebra.StrataAlgebra method)hUNtrauhDNhEhh0]ubj )r}r(h5Uh6j}h7jh9j#h;}r(j%‰j&Xpyrh?]h@]hA]hB]hC]j(Xmethodr j*j uhDNhEhh0]r!(j,)r"}r#(h5XStrataAlgebra.betti(codim=None)h6jh7Xd/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.bettir$h9j0h;}r%(h?]r&haj3j4X
strataalgebrar'…r(}r)bh@]hA]hB]hC]r*haj9XStrataAlgebra.bettij;j:j<‰uhDNhEhh0]r+(jP)r,}r-(h5Xbettih6j"h7j$h9jSh;}r.(hA]hB]h@]h?]hC]uhDNhEhh0]r/hGXbettir0…r1}r2(h5Uh6j,ubaubjY)r3}r4(h5X
codim=Noneh6j"h7j$h9j\h;}r5(hA]hB]h@]h?]hC]uhDNhEhh0]r6j_)r7}r8(h5X
codim=Noneh;}r9(hA]hB]h@]h?]hC]uh6j3h0]r:hGX
codim=Noner;…r<}r=(h5Uh6j7ubah9jgubaubeubj|)r>}r?(h5Uh6jh7j$h9jh;}r@(hA]hB]h@]h?]hC]uhDNhEhh0]rA(hv)rB}rC(h5XGive the number of basis elements in the Strata algebra for the given codimension.
If the codimension is omitted, return a list of all of them.rDh6j>h7jh9hyh;}rE(hA]hB]h@]h?]hC]uhDKhEhh0]rFhGXGive the number of basis elements in the Strata algebra for the given codimension.
If the codimension is omitted, return a list of all of them.rG…rH}rI(h5jDh6jBubaubhv)rJ}rK(h5XyThis is NOT the Betti numbers for the moduli space of curves! For that see :meth:`~strataalgebra.StrataAlgebra.FZ_betti`.h6j>h7jh9hyh;}rL(hA]hB]h@]h?]hC]uhDKhEhh0]rM(hGXKThis is NOT the Betti numbers for the moduli space of curves! For that see rN…rO}rP(h5XKThis is NOT the Betti numbers for the moduli space of curves! For that see h6jJubj¿)rQ}rR(h5X-:meth:`~strataalgebra.StrataAlgebra.FZ_betti`rSh6jJh7Nh9jÏh;}rT(UreftypeXmethjs‰jtX$strataalgebra.StrataAlgebra.FZ_bettiU	refdomainXpyrUh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rVh)rW}rX(h5jSh;}rY(hA]hB]rZ(j~jUXpy-methr[eh@]h?]hC]uh6jQh0]r\hGX
FZ_betti()r]…r^}r_(h5Uh6jWubah9h‡ubaubhGX.…r`}ra(h5X.h6jJubeubj‹)rb}rc(h5Uh6j>h7jh9jŽh;}rd(hA]hB]h@]h?]hC]uhDNhEhh0]rej‘)rf}rg(h5Uh;}rh(hA]hB]h@]h?]hC]uh6jbh0]ri(j–)rj}rk(h5X
Parametersh6jfh7jh9j™h;}rl(hA]hB]h@]h?]hC]uhDKh0]rmhGX
Parametersrn…ro}rp(h5Uh6jjubaubjŸ)rq}rr(h5Uh;}rs(hA]hB]h@]h?]hC]uh6jfh0]rthv)ru}rv(h5X2codim (int) -- Optional. The codimension you want.h;}rw(hA]hB]h@]h?]hC]uh6jqh0]rx(j²)ry}rz(h5Xcodimh;}r{(h?]h@]j¶ˆhA]hB]hC]uh6juh0]r|hGXcodimr}…r~}r(h5Uh6jyubah9j»ubhGX (r€…r}r‚(h5Uh6juubj¿)rƒ}r„(h5Uh;}r…(UreftypejÃj¶ˆU	reftargetXintr†U	refdomainjh?]h@]Urefexplicit‰hA]hB]hC]uh6juh0]r‡jÆ)rˆ}r‰(h5j†h;}rŠ(hA]hB]h@]h?]hC]uh6jƒh0]r‹hGXintrŒ…r}rŽ(h5Uh6jˆubah9jÎubah9jÏubhGX)…r}r(h5Uh6juubhGX -- r‘…r’}r“(h5Uh6juubhGX#Optional. The codimension you want.r”…r•}r–(h5X#Optional. The codimension you want.h6juubeh9hyubah9jVubeh9jWubaubj)r—}r˜(h5XŠsage: from strataalgebra import *
sage: StrataAlgebra(QQ, 2, (1,)).betti()
[1, 4, 17, 49, 92]
sage: StrataAlgebra(QQ, 2, (1,)).betti(2)
17h6j>h7jh9jh;}r™(h=h>h?]h@]hA]hB]hC]uhDM—hEhh0]ršhGXŠsage: from strataalgebra import *
sage: StrataAlgebra(QQ, 2, (1,)).betti()
[1, 4, 17, 49, 92]
sage: StrataAlgebra(QQ, 2, (1,)).betti(2)
17r›…rœ}r(h5Uh6j—ubaubeubeubj)rž}rŸ(h5Uh6j}h7Xg/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.boundaryr h9jh;}r¡(h?]h@]hA]hB]hC]Uentries]r¢(jX/boundary() (strataalgebra.StrataAlgebra method)hUNtr£auhDNhEhh0]ubj )r¤}r¥(h5Uh6j}h7j h9j#h;}r¦(j%‰j&Xpyr§h?]h@]hA]hB]hC]j(Xmethodr¨j*j¨uhDNhEhh0]r©(j,)rª}r«(h5X(StrataAlgebra.boundary(g1, markings1=())h6j¤h7Xg/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.boundaryr¬h9j0h;}r­(h?]r®haj3j4X
strataalgebrar¯…r°}r±bh@]hA]hB]hC]r²haj9XStrataAlgebra.boundaryj;j:j<‰uhDNhEhh0]r³(jP)r´}rµ(h5Xboundaryh6jªh7j¬h9jSh;}r¶(hA]hB]h@]h?]hC]uhDNhEhh0]r·hGXboundaryr¸…r¹}rº(h5Uh6j´ubaubjY)r»}r¼(h5Xg1, markings1=()h6jªh7j¬h9j\h;}r½(hA]hB]h@]h?]hC]uhDNhEhh0]r¾(j_)r¿}rÀ(h5Xg1h;}rÁ(hA]hB]h@]h?]hC]uh6j»h0]rÂhGXg1rÃ…rÄ}rÅ(h5Uh6j¿ubah9jgubj_)rÆ}rÇ(h5Xmarkings1=()h;}rÈ(hA]hB]h@]h?]hC]uh6j»h0]rÉhGXmarkings1=()rÊ…rË}rÌ(h5Uh6jÆubah9jgubeubeubj|)rÍ}rÎ(h5Uh6j¤h7j¬h9jh;}rÏ(hA]hB]h@]h?]hC]uhDNhEhh0]rÐ(hv)rÑ}rÒ(h5XQReturn a boundary divisor with genus `g1` and `markings1` points on one componenth6jÍh7j h9hyh;}rÓ(hA]hB]h@]h?]hC]uhDKhEhh0]rÔ(hGX%Return a boundary divisor with genus rÕ…rÖ}r×(h5X%Return a boundary divisor with genus h6jÑubjØ)rØ}rÙ(h5X`g1`h;}rÚ(hA]hB]h@]h?]hC]uh6jÑh0]rÛhGXg1rÜ…rÝ}rÞ(h5Uh6jØubah9jàubhGX and rß…rà}rá(h5X and h6jÑubjØ)râ}rã(h5X`markings1`h;}rä(hA]hB]h@]h?]hC]uh6jÑh0]råhGX	markings1r慁rç}rè(h5Uh6jâubah9jàubhGX points on one componentr酁rê}rë(h5X points on one componenth6jÑubeubj‹)rì}rí(h5Uh6jÍh7j h9jŽh;}rî(hA]hB]h@]h?]hC]uhDNhEhh0]rï(j‘)rð}rñ(h5Uh;}rò(hA]hB]h@]h?]hC]uh6jìh0]ró(j–)rô}rõ(h5X
Parametersh6jðh7j h9j™h;}rö(hA]hB]h@]h?]hC]uhDKh0]r÷hGX
Parametersrø…rù}rú(h5Uh6jôubaubjŸ)rû}rü(h5Uh;}rý(hA]hB]h@]h?]hC]uh6jðh0]rþj¤)rÿ}r(h5Uh;}r(hA]hB]h@]h?]hC]uh6jûh0]r(j©)r}r(h5Uh;}r(hA]hB]h@]h?]hC]uh6jÿh0]rhv)r}r(h5X&g1 (int) -- The genus on one componenth;}r	(hA]hB]h@]h?]hC]uh6jh0]r
(j²)r}r(h5Xg1h;}r
(h?]h@]j¶ˆhA]hB]hC]uh6jh0]rhGXg1r…r}r(h5Uh6jubah9j»ubhGX (r…r}r(h5Uh6jubj¿)r}r(h5Uh;}r(UreftypejÃj¶ˆU	reftargetXintrU	refdomainj§h?]h@]Urefexplicit‰hA]hB]hC]uh6jh0]rjÆ)r}r(h5jh;}r(hA]hB]h@]h?]hC]uh6jh0]rhGXintr…r}r (h5Uh6jubah9jÎubah9jÏubhGX)…r!}r"(h5Uh6jubhGX -- r#…r$}r%(h5Uh6jubhGXThe genus on one componentr&…r'}r((h5XThe genus on one componenth6jubeh9hyubah9jãubj©)r)}r*(h5Uh;}r+(hA]hB]h@]h?]hC]uh6jÿh0]r,hv)r-}r.(h5Xamarkings1 (list) -- A list or tuple of markings on the one component. Defaults to the empty list.h;}r/(hA]hB]h@]h?]hC]uh6j)h0]r0(j²)r1}r2(h5X	markings1h;}r3(h?]h@]j¶ˆhA]hB]hC]uh6j-h0]r4hGX	markings1r5…r6}r7(h5Uh6j1ubah9j»ubhGX (r8…r9}r:(h5Uh6j-ubj¿)r;}r<(h5Uh;}r=(UreftypejÃj¶ˆU	reftargetXlistr>U	refdomainj§h?]h@]Urefexplicit‰hA]hB]hC]uh6j-h0]r?jÆ)r@}rA(h5j>h;}rB(hA]hB]h@]h?]hC]uh6j;h0]rChGXlistrD…rE}rF(h5Uh6j@ubah9jÎubah9jÏubhGX)…rG}rH(h5Uh6j-ubhGX -- rI…rJ}rK(h5Uh6j-ubhGXMA list or tuple of markings on the one component. Defaults to the empty list.rL…rM}rN(h5XMA list or tuple of markings on the one component. Defaults to the empty list.h6j-ubeh9hyubah9jãubeh9jUubah9jVubeh9jWubj‘)rO}rP(h5Uh;}rQ(hA]hB]h@]h?]hC]uh6jìh0]rR(j–)rS}rT(h5XReturn typeh6jOh7j h9j™h;}rU(hA]hB]h@]h?]hC]uhDKh0]rVhGXReturn typerW…rX}rY(h5Uh6jSubaubjŸ)rZ}r[(h5Uh;}r\(hA]hB]h@]h?]hC]uh6jOh0]r]hv)r^}r_(h5XStrataAlgebraElementh;}r`(hA]hB]h@]h?]hC]uh6jZh0]raj¿)rb}rc(h5X:class:`StrataAlgebraElement`rdh6j^h7Nh9jÏh;}re(UreftypeXclassjs‰jtXStrataAlgebraElementU	refdomainXpyrfh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rgh)rh}ri(h5jdh;}rj(hA]hB]rk(j~jfXpy-classrleh@]h?]hC]uh6jbh0]rmhGXStrataAlgebraElementrn…ro}rp(h5Uh6jhubah9h‡ubaubah9hyubah9jVubeh9jWubeubhv)rq}rr(h5XfNote that if the two components are the same, it will return the stratum with a coefficient of 1/2. ::h6jÍh7j h9hyh;}rs(hA]hB]h@]h?]hC]uhDKhEhh0]rthGXcNote that if the two components are the same, it will return the stratum with a coefficient of 1/2.ru…rv}rw(h5XcNote that if the two components are the same, it will return the stratum with a coefficient of 1/2.h6jqubaubj)rx}ry(h5XÇsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ, 1, (1,2,3))
sage: s.boundary(0, (1,2))
Dg0m1_2
sage: s.boundary(1,[3])
Dg0m1_2
sage: s = StrataAlgebra(QQ, 2)
sage: s.boundary(1)
1/2*Dg1h6jÍh7j h9jh;}rz(h=h>h?]h@]hA]hB]hC]uhDM¬hEhh0]r{hGXÇsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ, 1, (1,2,3))
sage: s.boundary(0, (1,2))
Dg0m1_2
sage: s.boundary(1,[3])
Dg0m1_2
sage: s = StrataAlgebra(QQ, 2)
sage: s.boundary(1)
1/2*Dg1r|…r}}r~(h5Uh6jxubaubhv)r}r€(h5X'Each component must still be stable. ::h6jÍh7j h9hyh;}r(hA]hB]h@]h?]hC]uhDKhEhh0]r‚hGX$Each component must still be stable.rƒ…r„}r…(h5X$Each component must still be stable.h6jubaubj)r†}r‡(h5XHsage: s.boundary(2)
Traceback (most recent call last):
...
KeyError: Dg0h6jÍh7j h9jh;}rˆ(h=h>h?]h@]hA]hB]hC]uhDM¸hEhh0]r‰hGXHsage: s.boundary(2)
Traceback (most recent call last):
...
KeyError: Dg0rŠ…r‹}rŒ(h5Uh6j†ubaubeubeubj)r}rŽ(h5Uh6j}h7Xn/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.do_all_productsrh9jh;}r(h?]h@]hA]hB]hC]Uentries]r‘(jX6do_all_products() (strataalgebra.StrataAlgebra method)hUNtr’auhDNhEhh0]ubj )r“}r”(h5Uh6j}h7jh9j#h;}r•(j%‰j&Xpyh?]h@]hA]hB]hC]j(Xmethodr–j*j–uhDNhEhh0]r—(j,)r˜}r™(h5XStrataAlgebra.do_all_products()h6j“h7Xn/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.do_all_productsršh9j0h;}r›(h?]rœhaj3j4X
strataalgebrar…rž}rŸbh@]hA]hB]hC]r haj9XStrataAlgebra.do_all_productsj;j:j<‰uhDNhEhh0]r¡(jP)r¢}r£(h5Xdo_all_productsh6j˜h7jšh9jSh;}r¤(hA]hB]h@]h?]hC]uhDNhEhh0]r¥hGXdo_all_productsr¦…r§}r¨(h5Uh6j¢ubaubjY)r©}rª(h5Uh6j˜h7jšh9j\h;}r«(hA]hB]h@]h?]hC]uhDNhEhh0]ubeubj|)r¬}r­(h5Uh6j“h7jšh9jh;}r®(hA]hB]h@]h?]hC]uhDNhEhh0]r¯(hv)r°}r±(h5X‚Compute all the products of basis elements of the ring (thus caching their values).
This could take a long time for some rings. ::h6j¬h7jh9hyh;}r²(hA]hB]h@]h?]hC]uhDKhEhh0]r³hGXCompute all the products of basis elements of the ring (thus caching their values).
This could take a long time for some rings.r´…rµ}r¶(h5XCompute all the products of basis elements of the ring (thus caching their values).
This could take a long time for some rings.h6j°ubaubj)r·}r¸(h5X^sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,))
sage: s.do_all_products()h6j¬h7jh9jh;}r¹(h=h>h?]h@]hA]hB]hC]uhDMÅhEhh0]rºhGX^sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,1,(1,))
sage: s.do_all_products()r»…r¼}r½(h5Uh6j·ubaubeubeubj)r¾}r¿(h5Uh6j}h7Xj/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.get_stratumrÀh9jh;}rÁ(h?]h@]hA]hB]hC]Uentries]rÂ(jX2get_stratum() (strataalgebra.StrataAlgebra method)hUNtrÃauhDNhEhh0]ubj )rÄ}rÅ(h5Uh6j}h7jÀh9j#h;}rÆ(j%‰j&Xpyh?]h@]hA]hB]hC]j(XmethodrÇj*jÇuhDNhEhh0]rÈ(j,)rÉ}rÊ(h5XStrataAlgebra.get_stratum(r, j)h6jÄh7Xj/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.get_stratumrËh9j0h;}rÌ(h?]rÍhaj3j4X
strataalgebrarÎ…rÏ}rÐbh@]hA]hB]hC]rÑhaj9XStrataAlgebra.get_stratumj;j:j<‰uhDNhEhh0]rÒ(jP)rÓ}rÔ(h5Xget_stratumh6jÉh7jËh9jSh;}rÕ(hA]hB]h@]h?]hC]uhDNhEhh0]rÖhGXget_stratumr×…rØ}rÙ(h5Uh6jÓubaubjY)rÚ}rÛ(h5Xr, jh6jÉh7jËh9j\h;}rÜ(hA]hB]h@]h?]hC]uhDNhEhh0]rÝ(j_)rÞ}rß(h5Xrh;}rà(hA]hB]h@]h?]hC]uh6jÚh0]ráhGXr…râ}rã(h5Uh6jÞubah9jgubj_)rä}rå(h5Xjh;}ræ(hA]hB]h@]h?]hC]uh6jÚh0]rçhGXj…rè}ré(h5Uh6jäubah9jgubeubeubj|)rê}rë(h5Uh6jÄh7jËh9jh;}rì(hA]hB]h@]h?]hC]uhDNhEhh0]rí(hv)rî}rï(h5XEGet the :class:`StrataGraph` associated a a codimension and an index.h6jêh7jÀh9hyh;}rð(hA]hB]h@]h?]hC]uhDKhEhh0]rñ(hGXGet the rò…ró}rô(h5XGet the h6jîubj¿)rõ}rö(h5X:class:`StrataGraph`r÷h6jîh7Nh9jÏh;}rø(UreftypeXclassjs‰jtXStrataGraphU	refdomainXpyrùh?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rúh)rû}rü(h5j÷h;}rý(hA]hB]rþ(j~jùXpy-classrÿeh@]h?]hC]uh6jõh0]r	hGXStrataGraphr	…r	}r	(h5Uh6jûubah9h‡ubaubhGX) associated a a codimension and an index.r	…r	}r	(h5X) associated a a codimension and an index.h6jîubeubj‹)r	}r	(h5Uh6jêh7jÀh9jŽh;}r		(hA]hB]h@]h?]hC]uhDNhEhh0]r
	(j‘)r	}r	(h5Uh;}r
	(hA]hB]h@]h?]hC]uh6j	h0]r	(j–)r	}r	(h5X
Parametersh6j	h7jÀh9j™h;}r	(hA]hB]h@]h?]hC]uhDKh0]r	hGX
Parametersr	…r	}r	(h5Uh6j	ubaubjŸ)r	}r	(h5Uh;}r	(hA]hB]h@]h?]hC]uh6j	h0]r	j¤)r	}r	(h5Uh;}r	(hA]hB]h@]h?]hC]uh6j	h0]r	(j©)r	}r	(h5Uh;}r 	(hA]hB]h@]h?]hC]uh6j	h0]r!	hv)r"	}r#	(h5Xr -- The codimensionh;}r$	(hA]hB]h@]h?]hC]uh6j	h0]r%	(j²)r&	}r'	(h5Xrh;}r(	(h?]h@]j¶ˆhA]hB]hC]uh6j"	h0]r)	hGXr…r*	}r+	(h5Uh6j&	ubah9j»ubhGX -- r,	…r-	}r.	(h5Uh6j"	ubhGXThe codimensionr/	…r0	}r1	(h5XThe codimensionh6j"	ubeh9hyubah9jãubj©)r2	}r3	(h5Uh;}r4	(hA]hB]h@]h?]hC]uh6j	h0]r5	hv)r6	}r7	(h5Xj -- The indexh;}r8	(hA]hB]h@]h?]hC]uh6j2	h0]r9	(j²)r:	}r;	(h5Xjh;}r<	(h?]h@]j¶ˆhA]hB]hC]uh6j6	h0]r=	hGXj…r>	}r?	(h5Uh6j:	ubah9j»ubhGX -- r@	…rA	}rB	(h5Uh6j6	ubhGX	The indexrC	…rD	}rE	(h5X	The indexh6j6	ubeh9hyubah9jãubeh9jUubah9jVubeh9jWubj‘)rF	}rG	(h5Uh;}rH	(hA]hB]h@]h?]hC]uh6j	h0]rI	(j–)rJ	}rK	(h5XReturn typeh6jF	h7jÀh9j™h;}rL	(hA]hB]h@]h?]hC]uhDKh0]rM	hGXReturn typerN	…rO	}rP	(h5Uh6jJ	ubaubjŸ)rQ	}rR	(h5Uh;}rS	(hA]hB]h@]h?]hC]uh6jF	h0]rT	hv)rU	}rV	(h5XStrataGraphh;}rW	(hA]hB]h@]h?]hC]uh6jQ	h0]rX	j¿)rY	}rZ	(h5X:class:`StrataGraph`r[	h6jU	h7Nh9jÏh;}r\	(UreftypeXclassjs‰jtXStrataGraphU	refdomainXpyr]	h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r^	h)r_	}r`	(h5j[	h;}ra	(hA]hB]rb	(j~j]	Xpy-classrc	eh@]h?]hC]uh6jY	h0]rd	hGXStrataGraphre	…rf	}rg	(h5Uh6j_	ubah9h‡ubaubah9hyubah9jVubeh9jWubeubhv)rh	}ri	(h5X6See :class:`StrataAlgebra` documentation for examples.h6jêh7jÀh9hyh;}rj	(hA]hB]h@]h?]hC]uhDKhEhh0]rk	(hGXSee rl	…rm	}rn	(h5XSee h6jh	ubj¿)ro	}rp	(h5X:class:`StrataAlgebra`rq	h6jh	h7Nh9jÏh;}rr	(UreftypeXclassjs‰jtX
StrataAlgebraU	refdomainXpyrs	h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rt	h)ru	}rv	(h5jq	h;}rw	(hA]hB]rx	(j~js	Xpy-classry	eh@]h?]hC]uh6jo	h0]rz	hGX
StrataAlgebrar{	…r|	}r}	(h5Uh6ju	ubah9h‡ubaubhGX documentation for examples.r~	…r	}r€	(h5X documentation for examples.h6jh	ubeubeubeubj)r	}r‚	(h5Uh6j}h7Xb/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.irrrƒ	h9jh;}r„	(h?]h@]hA]hB]hC]Uentries]r…	(jX*irr() (strataalgebra.StrataAlgebra method)hUNtr†	auhDNhEhh0]ubj )r‡	}rˆ	(h5Uh6j}h7jƒ	h9j#h;}r‰	(j%‰j&Xpyh?]h@]hA]hB]hC]j(XmethodrŠ	j*jŠ	uhDNhEhh0]r‹	(j,)rŒ	}r	(h5XStrataAlgebra.irr()h6j‡	h7Xb/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.irrrŽ	h9j0h;}r	(h?]r	haj3j4X
strataalgebrar‘	…r’	}r“	bh@]hA]hB]hC]r”	haj9XStrataAlgebra.irrj;j:j<‰uhDNhEhh0]r•	(jP)r–	}r—	(h5Xirrh6jŒ	h7jŽ	h9jSh;}r˜	(hA]hB]h@]h?]hC]uhDNhEhh0]r™	hGXirrrš	…r›	}rœ	(h5Uh6j–	ubaubjY)r	}rž	(h5Uh6jŒ	h7jŽ	h9j\h;}rŸ	(hA]hB]h@]h?]hC]uhDNhEhh0]ubeubj|)r 	}r¡	(h5Uh6j‡	h7jŽ	h9jh;}r¢	(hA]hB]h@]h?]hC]uhDNhEhh0]r£	(hv)r¤	}r¥	(h5XPMake the irreducible boundary. It will be returned with a coefficient of 1/2. ::h6j 	h7jƒ	h9hyh;}r¦	(hA]hB]h@]h?]hC]uhDKhEhh0]r§	hGXMMake the irreducible boundary. It will be returned with a coefficient of 1/2.r¨	…r©	}rª	(h5XMMake the irreducible boundary. It will be returned with a coefficient of 1/2.h6j¤	ubaubj)r«	}r¬	(h5X_sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ, 1, (1,2))
sage: s.irr()
1/2*D_irrh6j 	h7jƒ	h9jh;}r­	(h=h>h?]h@]hA]hB]hC]uhDMÜhEhh0]r®	hGX_sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ, 1, (1,2))
sage: s.irr()
1/2*D_irrr¯	…r°	}r±	(h5Uh6j«	ubaubeubeubj)r²	}r³	(h5Uh6j}h7Xd/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.kappar´	h9jh;}rµ	(h?]h@]hA]hB]hC]Uentries]r¶	(jX,kappa() (strataalgebra.StrataAlgebra method)hUNtr·	auhDNhEhh0]ubj )r¸	}r¹	(h5Uh6j}h7j´	h9j#h;}rº	(j%‰j&Xpyr»	h?]h@]hA]hB]hC]j(Xmethodr¼	j*j¼	uhDNhEhh0]r½	(j,)r¾	}r¿	(h5XStrataAlgebra.kappa(a)rÀ	h6j¸	h7Xd/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.kapparÁ	h9j0h;}rÂ	(h?]rÃ	haj3j4X
strataalgebrarÄ	…rÅ	}rÆ	bh@]hA]hB]hC]rÇ	haj9XStrataAlgebra.kappaj;j:j<‰uhDNhEhh0]rÈ	(jP)rÉ	}rÊ	(h5Xkappah6j¾	h7jÁ	h9jSh;}rË	(hA]hB]h@]h?]hC]uhDNhEhh0]rÌ	hGXkapparÍ	…rÎ	}rÏ	(h5Uh6jÉ	ubaubjY)rÐ	}rÑ	(h5Xah6j¾	h7jÁ	h9j\h;}rÒ	(hA]hB]h@]h?]hC]uhDNhEhh0]rÓ	j_)rÔ	}rÕ	(h5Xah;}rÖ	(hA]hB]h@]h?]hC]uh6jÐ	h0]r×	hGXa…rØ	}rÙ	(h5Uh6jÔ	ubah9jgubaubeubj|)rÚ	}rÛ	(h5Uh6j¸	h7jÁ	h9jh;}rÜ	(hA]hB]h@]h?]hC]uhDNhEhh0]rÝ	(hv)rÞ	}rß	(h5XReturn a kappa class.rà	h6jÚ	h7j´	h9hyh;}rá	(hA]hB]h@]h?]hC]uhDKhEhh0]râ	hGXReturn a kappa class.rã	…rä	}rå	(h5jà	h6jÞ	ubaubj‹)ræ	}rç	(h5Uh6jÚ	h7j´	h9jŽh;}rè	(hA]hB]h@]h?]hC]uhDNhEhh0]ré	(j‘)rê	}rë	(h5Uh;}rì	(hA]hB]h@]h?]hC]uh6jæ	h0]rí	(j–)rî	}rï	(h5X
Parametersh6jê	h7j´	h9j™h;}rð	(hA]hB]h@]h?]hC]uhDKh0]rñ	hGX
Parametersrò	…ró	}rô	(h5Uh6jî	ubaubjŸ)rõ	}rö	(h5Uh;}r÷	(hA]hB]h@]h?]hC]uh6jê	h0]rø	hv)rù	}rú	(h5XCa (int) -- The subscript (codimension) of the kappa class you want.h;}rû	(hA]hB]h@]h?]hC]uh6jõ	h0]rü	(j²)rý	}rþ	(h5Xah;}rÿ	(h?]h@]j¶ˆhA]hB]hC]uh6jù	h0]r
hGXa…r
}r
(h5Uh6jý	ubah9j»ubhGX (r
…r
}r
(h5Uh6jù	ubj¿)r
}r
(h5Uh;}r
(UreftypejÃj¶ˆU	reftargetXintr	
U	refdomainj»	h?]h@]Urefexplicit‰hA]hB]hC]uh6jù	h0]r

jÆ)r
}r
(h5j	
h;}r
(hA]hB]h@]h?]hC]uh6j
h0]r
hGXintr
…r
}r
(h5Uh6j
ubah9jÎubah9jÏubhGX)…r
}r
(h5Uh6jù	ubhGX -- r
…r
}r
(h5Uh6jù	ubhGX8The subscript (codimension) of the kappa class you want.r
…r
}r
(h5X8The subscript (codimension) of the kappa class you want.r
h6jù	ubeh9hyubah9jVubeh9jWubj‘)r
}r
(h5Uh;}r
(hA]hB]h@]h?]hC]uh6jæ	h0]r
(j–)r
}r 
(h5XReturn typeh6j
h7j´	h9j™h;}r!
(hA]hB]h@]h?]hC]uhDKh0]r"
hGXReturn typer#
…r$
}r%
(h5Uh6j
ubaubjŸ)r&
}r'
(h5Uh;}r(
(hA]hB]h@]h?]hC]uh6j
h0]r)
hv)r*
}r+
(h5XStrataAlgebraElementh;}r,
(hA]hB]h@]h?]hC]uh6j&
h0]r-
j¿)r.
}r/
(h5X:class:`StrataAlgebraElement`r0
h6j*
h7Nh9jÏh;}r1
(UreftypeXclassjs‰jtXStrataAlgebraElementU	refdomainXpyr2
h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r3
h)r4
}r5
(h5j0
h;}r6
(hA]hB]r7
(j~j2
Xpy-classr8
eh@]h?]hC]uh6j.
h0]r9
hGXStrataAlgebraElementr:
…r;
}r<
(h5Uh6j4
ubah9h‡ubaubah9hyubah9jVubeh9jWubeubj)r=
}r>
(h5X%sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,2,())
sage: s.kappa(1)
ka1
sage: s.kappa(3)
ka3
sage: s.kappa(1)*s.kappa(2)
ka1*ka2
sage: s.kappa(2)*s.kappa(2)
0
sage: s.boundary(1,())*s.kappa(1)
s_2,4
sage: s.get_stratum(2,4)
[      0       0]
[ka1 + 1       1]
[      1       1]h6jÚ	h7j´	h9jh;}r?
(h=h>h?]h@]hA]hB]hC]uhDMìhEhh0]r@
hGX%sage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,2,())
sage: s.kappa(1)
ka1
sage: s.kappa(3)
ka3
sage: s.kappa(1)*s.kappa(2)
ka1*ka2
sage: s.kappa(2)*s.kappa(2)
0
sage: s.boundary(1,())*s.kappa(1)
s_2,4
sage: s.get_stratum(2,4)
[      0       0]
[ka1 + 1       1]
[      1       1]rA
…rB
}rC
(h5Uh6j=
ubaubhv)rD
}rE
(h5XQThe subscript must be less than or equal to the dimension of the moduli space. ::rF
h6jÚ	h7j´	h9hyh;}rG
(hA]hB]h@]h?]hC]uhDKhEhh0]rH
hGXNThe subscript must be less than or equal to the dimension of the moduli space.rI
…rJ
}rK
(h5XNThe subscript must be less than or equal to the dimension of the moduli space.h6jD
ubaubj)rL
}rM
(h5XCsage: s.kappa(4)
Traceback (most recent call last):
...
KeyError: 4h6jÚ	h7j´	h9jh;}rN
(h=h>h?]h@]hA]hB]hC]uhDMhEhh0]rO
hGXCsage: s.kappa(4)
Traceback (most recent call last):
...
KeyError: 4rP
…rQ
}rR
(h5Uh6jL
ubaubeubeubj)rS
}rT
(h5Uh6j}h7Xk/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.print_stratarU
h9jh;}rV
(h?]h@]hA]hB]hC]Uentries]rW
(jX3print_strata() (strataalgebra.StrataAlgebra method)hUNtrX
auhDNhEhh0]ubj )rY
}rZ
(h5Uh6j}h7jU
h9j#h;}r[
(j%‰j&Xpyh?]h@]hA]hB]hC]j(Xmethodr\
j*j\
uhDNhEhh0]r]
(j,)r^
}r_
(h5XStrataAlgebra.print_strata(r)h6jY
h7Xk/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.print_stratar`
h9j0h;}ra
(h?]rb
haj3j4X
strataalgebrarc
…rd
}re
bh@]hA]hB]hC]rf
haj9XStrataAlgebra.print_strataj;j:j<‰uhDNhEhh0]rg
(jP)rh
}ri
(h5Xprint_stratah6j^
h7j`
h9jSh;}rj
(hA]hB]h@]h?]hC]uhDNhEhh0]rk
hGXprint_stratarl
…rm
}rn
(h5Uh6jh
ubaubjY)ro
}rp
(h5Xrh6j^
h7j`
h9j\h;}rq
(hA]hB]h@]h?]hC]uhDNhEhh0]rr
j_)rs
}rt
(h5Xrh;}ru
(hA]hB]h@]h?]hC]uh6jo
h0]rv
hGXr…rw
}rx
(h5Uh6js
ubah9jgubaubeubj|)ry
}rz
(h5Uh6jY
h7j`
h9jh;}r{
(hA]hB]h@]h?]hC]uhDNhEhh0]r|
(hv)r}
}r~
(h5XePrint all the strata, with their indexes, in codimension `r`.
:param r: The codimension
:return: Noneh6jy
h7jU
h9hyh;}r
(hA]hB]h@]h?]hC]uhDKhEhh0]r€
(hGX9Print all the strata, with their indexes, in codimension r
…r‚
}rƒ
(h5X9Print all the strata, with their indexes, in codimension h6j}
ubjØ)r„
}r…
(h5X`r`h;}r†
(hA]hB]h@]h?]hC]uh6j}
h0]r‡
hGXr…rˆ
}r‰
(h5Uh6j„
ubah9jàubhGX).
:param r: The codimension
:return: NonerŠ
…r‹
}rŒ
(h5X).
:param r: The codimension
:return: Noneh6j}
ubeubhv)r
}rŽ
(h5X6See :class:`StrataAlgebra` documentation for examples.h6jy
h7jU
h9hyh;}r
(hA]hB]h@]h?]hC]uhDKhEhh0]r
(hGXSee r‘
…r’
}r“
(h5XSee h6j
ubj¿)r”
}r•
(h5X:class:`StrataAlgebra`r–
h6j
h7Nh9jÏh;}r—
(UreftypeXclassjs‰jtX
StrataAlgebraU	refdomainXpyr˜
h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]r™
h)rš
}r›
(h5j–
h;}rœ
(hA]hB]r
(j~j˜
Xpy-classrž
eh@]h?]hC]uh6j”
h0]rŸ
hGX
StrataAlgebrar 
…r¡
}r¢
(h5Uh6jš
ubah9h‡ubaubhGX documentation for examples.r£
…r¤
}r¥
(h5X documentation for examples.h6j
ubeubeubeubj)r¦
}r§
(h5Uh6j}h7Xb/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.psir¨
h9jh;}r©
(h?]h@]hA]hB]hC]Uentries]rª
(jX*psi() (strataalgebra.StrataAlgebra method)hUNtr«
auhDNhEhh0]ubj )r¬
}r­
(h5Uh6j}h7j¨
h9j#h;}r®
(j%‰j&Xpyh?]h@]hA]hB]hC]j(Xmethodr¯
j*j¯
uhDNhEhh0]r°
(j,)r±
}r²
(h5XStrataAlgebra.psi(mark)r³
h6j¬
h7Xb/Users/drewjohnson/mgn/strataalgebra/strataalgebra.py:docstring of strataalgebra.StrataAlgebra.psir´
h9j0h;}rµ
(h?]r¶
haj3j4X
strataalgebrar·
…r¸
}r¹
bh@]hA]hB]hC]rº
haj9XStrataAlgebra.psij;j:j<‰uhDNhEhh0]r»
(jP)r¼
}r½
(h5Xpsih6j±
h7j´
h9jSh;}r¾
(hA]hB]h@]h?]hC]uhDNhEhh0]r¿
hGXpsirÀ
…rÁ
}rÂ
(h5Uh6j¼
ubaubjY)rÃ
}rÄ
(h5Xmarkh6j±
h7j´
h9j\h;}rÅ
(hA]hB]h@]h?]hC]uhDNhEhh0]rÆ
j_)rÇ
}rÈ
(h5Xmarkh;}rÉ
(hA]hB]h@]h?]hC]uh6jÃ
h0]rÊ
hGXmarkrË
…rÌ
}rÍ
(h5Uh6jÇ
ubah9jgubaubeubj|)rÎ
}rÏ
(h5Uh6j¬
h7j´
h9jh;}rÐ
(hA]hB]h@]h?]hC]uhDNhEhh0]rÑ
(hv)rÒ
}rÓ
(h5X‚Return a psi class.
:param int mark:  The mark that the :math:`\psi`-class is associated to.
:rtype: :class:`StrataAlgebraElement`h6jÎ
h7j¨
h9hyh;}rÔ
(hA]hB]h@]h?]hC]uhDKhEhh0]rÕ
(hGX8Return a psi class.
:param int mark:  The mark that the rÖ
…r×
}rØ
(h5X8Return a psi class.
:param int mark:  The mark that the h6jÒ
ubj¤)rÙ
}rÚ
(h5Uh;}rÛ
(UlatexX\psih?]h@]hA]hB]hC]uh6jÒ
h0]h9j¨ubhGX!-class is associated to.
:rtype: rÜ
…rÝ
}rÞ
(h5X!-class is associated to.
:rtype: h6jÒ
ubj¿)rß
}rà
(h5X:class:`StrataAlgebraElement`rá
h6jÒ
h7Nh9jÏh;}râ
(UreftypeXclassjs‰jtXStrataAlgebraElementU	refdomainXpyrã
h?]h@]Urefexplicit‰hA]hB]hC]jvhZjwj:jxNuhDNh0]rä
h)rå
}ræ
(h5já
h;}rç
(hA]hB]rè
(j~jã
Xpy-classré
eh@]h?]hC]uh6jß
h0]rê
hGXStrataAlgebraElementrë
…rì
}rí
(h5Uh6jå
ubah9h‡ubaubeubhv)rî
}rï
(h5XExamples ::rð
h6jÎ
h7j¨
h9hyh;}rñ
(hA]hB]h@]h?]hC]uhDKhEhh0]rò
hGXExamplesró
…rô
}rõ
(h5XExamplesh6jî
ubaubj)rö
}r÷
(h5XÃsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,0,(1,2,3,4,5))
sage: psi1 = s.psi(1); psi1
ps1
sage: psi2 = s.psi(2); psi2
ps2
sage: psi1*psi2
ps1*ps2
sage: (psi1*psi2).integrate()
2h6jÎ
h7j¨
h9jh;}rø
(h=h>h?]h@]hA]hB]hC]uhDMhEhh0]rù
hGXÃsage: from strataalgebra import *
sage: s = StrataAlgebra(QQ,0,(1,2,3,4,5))
sage: psi1 = s.psi(1); psi1
ps1
sage: psi2 = s.psi(2); psi2
ps2
sage: psi1*psi2
ps1*ps2
sage: (psi1*psi2).integrate()
2rú
…rû
}rü
(h5Uh6jö
ubaubhv)rý
}rþ
(h5XPNote that the psi variables are not automatically injected into the namespace ::rÿ
h6jÎ
h7j¨
h9hyh;}r(hA]hB]h@]h?]hC]uhDKhEhh0]rhGXMNote that the psi variables are not automatically injected into the namespacer…r}r(h5XMNote that the psi variables are not automatically injected into the namespaceh6jý
ubaubj)r}r(h5XUsage: ps1
Traceback (most recent call last):
...
NameError: name 'ps1' is not definedh6jÎ
h7j¨
h9jh;}r(h=h>h?]h@]hA]hB]hC]uhDM&hEhh0]rhGXUsage: ps1
Traceback (most recent call last):
...
NameError: name 'ps1' is not definedr	…r
}r(h5Uh6jubaubhv)r}r
(h5XtIn case of repeated marks, notice that the :math:`\psi`-class is the pushforward under the quotient map. Observe: ::rh6jÎ
h7j¨
h9hyh;}r(hA]hB]h@]h?]hC]uhDKhEhh0]r(hGX+In case of repeated marks, notice that the r…r}r(h5X+In case of repeated marks, notice that the h6jubj¤)r}r(h5Uh;}r(UlatexX\psih?]h@]hA]hB]hC]uh6jh0]h9j¨ubhGX:-class is the pushforward under the quotient map. Observe:r…r}r(h5X:-class is the pushforward under the quotient map. Observe:h6jubeubj)r}r(h5Xsage: s = StrataAlgebra(QQ,1,(1,1))
sage: s.psi(1)^2
ps1^2 + ps1*ps1
sage: s.psi(2)
Traceback (most recent call last):
...
ValueError: tuple.index(x): x not in tuple
sage: s = StrataAlgebra(QQ,1,(1,1,1))
sage: s.psi(1)^2
2*ps1^2 + 4*ps1*ps1
sage: s.psi(1)^3
4*ps1^3 + 24*ps1^2*ps1 + 8*ps1*ps1*ps1
sage: var('ps') #This should be done automatically.
ps
sage: s([[0,1,1,1],[1,ps^3+1,1,1]])
ps1^3
sage: s = StrataAlgebra(QQ,0,(1,1,1,2,2))
sage: s.psi(1)*s.psi(2)
12*ps1*ps2
sage: s.psi(1)*s.psi(1)
4*ps1^2 + 8*ps1*ps1h6jÎ
h7j¨
h9jh;}r(h=h>h?]h@]hA]hB]hC]uhDM-hEhh0]rhGXsage: s = StrataAlgebra(QQ,1,(1,1))
sage: s.psi(1)^2
ps1^2 + ps1*ps1
sage: s.psi(2)
Traceback (most recent call last):
...
ValueError: tuple.index(x): x not in tuple
sage: s = StrataAlgebra(QQ,1,(1,1,1))
sage: s.psi(1)^2
2*ps1^2 + 4*ps1*ps1
sage: s.psi(1)^3
4*ps1^3 + 24*ps1^2*ps1 + 8*ps1*ps1*ps1
sage: var('ps') #This should be done automatically.
ps
sage: s([[0,1,1,1],[1,ps^3+1,1,1]])
ps1^3
sage: s = StrataAlgebra(QQ,0,(1,1,1,2,2))
sage: s.psi(1)*s.psi(2)
12*ps1*ps2
sage: s.psi(1)*s.psi(1)
4*ps1^2 + 8*ps1*ps1r…r}r (h5Uh6jubaubhv)r!}r"(h5X@This maybe looks surprising, but it makes sense with the formular#h6jÎ
h7j¨
h9hyh;}r$(hA]hB]h@]h?]hC]uhDK1hEhh0]r%hGX@This maybe looks surprising, but it makes sense with the formular&…r'}r((h5j#h6j!ubaubcsphinx.ext.mathbase
displaymath
r))r*}r+(h5Uh6jÎ
h7j¨
h9Udisplaymathr,h;}r-(Ulatexr.Xx\pi_*(\alpha) \pi_*(\beta) = \frac{1}{|G|} \pi_* \left( \sum_{\sigma, \tau \in G} \sigma_*(\alpha) \tau_*(\beta) \right)Unowrapr/‰Unumberr0Nh?]h@]hA]hB]hC]Udocnamer1hZUlabelr2NuhDK3hEhh0]ubhv)r3}r4(h5X‰for two class :math:`\alpha,\;\beta \in H^*(X)` where :math:`\pi: X \rightarrow X/G` is the quotient map and :math:`G` is a finite group.r5h6jÎ
h7j¨
h9hyh;}r6(hA]hB]h@]h?]hC]uhDK7hEhh0]r7(hGXfor two class r8…r9}r:(h5Xfor two class h6j3ubj¤)r;}r<(h5Uh;}r=(UlatexX\alpha,\;\beta \in H^*(X)h?]h@]hA]hB]hC]uh6j3h0]h9j¨ubhGX where r>…r?}r@(h5X where h6j3ubj¤)rA}rB(h5Uh;}rC(UlatexX\pi: X \rightarrow X/Gh?]h@]hA]hB]hC]uh6j3h0]h9j¨ubhGX is the quotient map and rD…rE}rF(h5X is the quotient map and h6j3ubj¤)rG}rH(h5Uh;}rI(UlatexXGh?]h@]hA]hB]hC]uh6j3h0]h9j¨ubhGX is a finite group.rJ…rK}rL(h5X is a finite group.h6j3ubeubeubeubeubeubeubhd)rM}rN(h5Uh6hh7h8h9hgh;}rO(hA]hB]h@]h?]rP(Xmodule-testsrQh'ehC]rRhauhDK)hEhh0]rS(hl)rT}rU(h5XTestingrVh6jMh7h8h9hph;}rW(hA]hB]h@]h?]hC]uhDK)hEhh0]rXhGXTestingrY…rZ}r[(h5jVh6jTubaubj)r\}r](h5Uh6jMh7X@/Users/drewjohnson/mgn/strataalgebra/tests.py:docstring of testsr^h9jh;}r_(h?]h@]hA]hB]hC]Uentries]r`(jXtests (module)Xmodule-testsUNtraauhDKhEhh0]ubhv)rb}rc(h5X…The ``tests`` module tests the implementation of the product and the FZ relations by comparing them to the ``topintersections`` code.h6jMh7X@/Users/drewjohnson/mgn/strataalgebra/tests.py:docstring of testsrdh9hyh;}re(hA]hB]h@]h?]hC]uhDKhEhh0]rf(hGXThe rg…rh}ri(h5XThe h6jbubh)rj}rk(h5X	``tests``h;}rl(hA]hB]h@]h?]hC]uh6jbh0]rmhGXtestsrn…ro}rp(h5Uh6jjubah9h‡ubhGX^ module tests the implementation of the product and the FZ relations by comparing them to the rq…rr}rs(h5X^ module tests the implementation of the product and the FZ relations by comparing them to the h6jbubh)rt}ru(h5X``topintersections``h;}rv(hA]hB]h@]h?]hC]uh6jbh0]rwhGXtopintersectionsrx…ry}rz(h5Uh6jtubah9h‡ubhGX code.r{…r|}r}(h5X code.h6jbubeubhv)r~}r(h5X~You can change which pairs you want to check by modifying the ``g_n_pairs_to_check variable`` in the source code ``tests.py``.h6jMh7jdh9hyh;}r€(hA]hB]h@]h?]hC]uhDKhEhh0]r(hGX>You can change which pairs you want to check by modifying the r‚…rƒ}r„(h5X>You can change which pairs you want to check by modifying the h6j~ubh)r…}r†(h5X``g_n_pairs_to_check variable``h;}r‡(hA]hB]h@]h?]hC]uh6j~h0]rˆhGXg_n_pairs_to_check variabler‰…rŠ}r‹(h5Uh6j…ubah9h‡ubhGX in the source code rŒ…r}rŽ(h5X in the source code h6j~ubh)r}r(h5X``tests.py``h;}r‘(hA]hB]h@]h?]hC]uh6j~h0]r’hGXtests.pyr“…r”}r•(h5Uh6jubah9h‡ubhGX.…r–}r—(h5X.h6j~ubeubj)r˜}r™(h5XGsage: import strataalgebra.tests as tests
sage: tests.run() # long timeh6jMh7jdh9jh;}rš(h=h>h?]h@]hA]hB]hC]uhDK
hEhh0]r›hGXGsage: import strataalgebra.tests as tests
sage: tests.run() # long timerœ…r}rž(h5Uh6j˜ubaubeubhd)rŸ}r (h5Uh6hh7h8h9hgh;}r¡(hA]hB]h@]h?]r¢h)ahC]r£h	auhDK.hEhh0]r¤(hl)r¥}r¦(h5XIndices and tablesr§h6jŸh7h8h9hph;}r¨(hA]hB]h@]h?]hC]uhDK.hEhh0]r©hGXIndices and tablesrª…r«}r¬(h5j§h6j¥ubaubj¤)r­}r®(h5Uh6jŸh7h8h9jUh;}r¯(Ubulletr°X*h?]h@]hA]hB]hC]uhDK0hEhh0]r±(j©)r²}r³(h5X:ref:`genindex`r´h6j­h7h8h9jãh;}rµ(hA]hB]h@]h?]hC]uhDNhEhh0]r¶hv)r·}r¸(h5j´h6j²h7h8h9hyh;}r¹(hA]hB]h@]h?]hC]uhDK0h0]rºj¿)r»}r¼(h5j´h6j·h7h8h9jÏh;}r½(UreftypeXrefjsˆjtXgenindexU	refdomainXstdr¾h?]h@]Urefexplicit‰hA]hB]hC]jvhZuhDK0h0]r¿cdocutils.nodes
inline
rÀ)rÁ}rÂ(h5j´h;}rÃ(hA]hB]rÄ(j~j¾Xstd-refrÅeh@]h?]hC]uh6j»h0]rÆhGXgenindexrÇ…rÈ}rÉ(h5Uh6jÁubah9UinlinerÊubaubaubaubj©)rË}rÌ(h5X:ref:`modindex`rÍh6j­h7h8h9jãh;}rÎ(hA]hB]h@]h?]hC]uhDNhEhh0]rÏhv)rÐ}rÑ(h5jÍh6jËh7h8h9hyh;}rÒ(hA]hB]h@]h?]hC]uhDK1h0]rÓj¿)rÔ}rÕ(h5jÍh6jÐh7h8h9jÏh;}rÖ(UreftypeXrefjsˆjtXmodindexU	refdomainXstdr×h?]h@]Urefexplicit‰hA]hB]hC]jvhZuhDK1h0]rØjÀ)rÙ}rÚ(h5jÍh;}rÛ(hA]hB]rÜ(j~j×Xstd-refrÝeh@]h?]hC]uh6jÔh0]rÞhGXmodindexrß…rà}rá(h5Uh6jÙubah9jÊubaubaubaubj©)râ}rã(h5X:ref:`search`
h6j­h7h8h9jãh;}rä(hA]hB]h@]h?]hC]uhDNhEhh0]råhv)ræ}rç(h5X
:ref:`search`rèh6jâh7h8h9hyh;}ré(hA]hB]h@]h?]hC]uhDK2h0]rêj¿)rë}rì(h5jèh6jæh7h8h9jÏh;}rí(UreftypeXrefjsˆjtXsearchU	refdomainXstdrîh?]h@]Urefexplicit‰hA]hB]hC]jvhZuhDK2h0]rïjÀ)rð}rñ(h5jèh;}rò(hA]hB]ró(j~jîXstd-refrôeh@]h?]hC]uh6jëh0]rõhGXsearchrö…r÷}rø(h5Uh6jðubah9jÊubaubaubaubeubeubeh5UUtransformerrùNU
footnote_refsrú}rûUrefnamesrü}rý(Xmgn package]rþhêaXs. yang's note]rÿh¡ah¯]rh¬aXdrew johnson]rh“auUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU	citationsr]r	hEhUcurrent_liner
NUtransform_messagesr]rUreporterr
NUid_startrKU
autofootnotesr]rU
citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend
Values
ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNUrfc_base_urlrUhttps://tools.ietf.org/html/rU	tracebackrˆUpep_referencesrNUstrip_commentsrNU
toc_backlinksr Uentryr!U
language_coder"Uenr#U	datestampr$NUreport_levelr%KU_destinationr&NU
halt_levelr'KU
strip_classesr(NhpNUerror_encoding_error_handlerr)Ubackslashreplacer*Udebugr+NUembed_stylesheetr,‰Uoutput_encoding_error_handlerr-Ustrictr.U
sectnum_xformr/KUdump_transformsr0NU
docinfo_xformr1KUwarning_streamr2NUpep_file_url_templater3Upep-%04dr4Uexit_status_levelr5KUconfigr6NUstrict_visitorr7NUcloak_email_addressesr8ˆUtrim_footnote_reference_spacer9‰Uenvr:NUdump_pseudo_xmlr;NUexpose_internalsr<NUsectsubtitle_xformr=‰Usource_linkr>NUrfc_referencesr?NUoutput_encodingr@Uutf-8rAU
source_urlrBNUinput_encodingrCU	utf-8-sigrDU_disable_configrENU	id_prefixrFUUcharacter_level_inline_markuprG‰U	tab_widthrHKUerror_encodingrIUUTF-8rJU_sourcerKh8Ugettext_compactrLˆU	generatorrMNUdump_internalsrNNUsmart_quotesrO‰Upep_base_urlrPU https://www.python.org/dev/peps/rQUsyntax_highlightrRUlongrSUinput_encoding_error_handlerrTj.Uauto_id_prefixrUUidrVUdoctitle_xformrW‰Ustrip_elements_with_classesrXNU
_config_filesrY]Ufile_insertion_enabledrZˆUraw_enabledr[KU
dump_settingsr\NubUsymbol_footnote_startr]Kh?}r^(jQh¸)r_}r`(h5Uh6jMh7j^h9h¼h;}ra(hA]h?]rbjQah@]UismodˆhB]hC]uhDKhEhh0]ubhj˜h'jMh/heh,j
hjŒ	hjÈh(h¹h
j-h-hÀh)jŸhjShjªhj^
h*hÅhjÉh.hÊhj*hj±
hj¾	hj"h+hôhjòhjmhjÁuUsubstitution_namesrc}rdh9hEh;}re(hA]h?]h@]Usourceh8hB]hC]uU	footnotesrf]rgUrefidsrh}riub.

back to top

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API