Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sf fixes #37976

Open
wants to merge 155 commits into
base: develop
Choose a base branch
from
Open

sf fixes #37976

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
55066e1
Initial implementation of integral() for lazy series; improvements to…
tscrim Sep 10, 2023
419701c
Adding functional equation and taylor series constructions.
tscrim Oct 10, 2023
b979007
Adding more examples, fixing bugs, streamlining the implementation.
tscrim Oct 12, 2023
9de8c8f
Fixing more bugs, updating the inputs, other touchups.
tscrim Oct 13, 2023
071a10a
Improving the functional defintion; changing the method name/location…
tscrim Oct 17, 2023
743cad6
Full doctest coverage for the PR.
tscrim Oct 17, 2023
971c44b
Adding Martin's patch and updating a few doctests reflecting the spee…
tscrim Oct 24, 2023
c62ee41
Fixing some remaining details and polishing.
tscrim Oct 24, 2023
a4ae02c
provide method to access parent streams, trust that only last element…
mantepse Oct 29, 2023
b7d0913
Merge branch 'develop' into lazy_series/integration
mantepse Oct 29, 2023
aaf978f
slightly improve substitution, test is failing elsewhere
mantepse Oct 29, 2023
95f00b0
fix a typo and make the linter happy
mantepse Oct 30, 2023
9f11648
use a custom getitem method
mantepse Nov 2, 2023
a346c5d
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Nov 9, 2023
185788e
add optional argument input_streams to Stream_function
mantepse Nov 9, 2023
94cd0f1
Merge branch 'develop' into lazy_series/integration_experimental
mantepse Nov 15, 2023
10a2c2b
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Nov 16, 2023
699adef
Merge branch 'lazy_series/integration_experimental' of https://github…
mantepse Nov 16, 2023
19e46a6
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Nov 20, 2023
caea280
WIP: merge Stream_functional_equation into Stream_uninitialized
mantepse Nov 20, 2023
4c6e089
WIP: find all input streams at setup - bug because there are equal st…
mantepse Nov 20, 2023
4c4b9f3
walk through the closure in Stream_function to determine input stream…
mantepse Nov 20, 2023
5d4918d
Merge branch 'lazy_series/integration_experimental' of https://github…
mantepse Nov 20, 2023
036f11f
fix bad error message
mantepse Nov 20, 2023
1954a27
store the list of variables belonging to each implicitly defined stre…
mantepse Nov 21, 2023
616d3b3
solve systems of functional equations
mantepse Nov 21, 2023
5d0c3a6
WIP: use no more new variables than necessary
mantepse Nov 22, 2023
fcb3bf9
fix conversion issue
mantepse Nov 22, 2023
378e28d
better substitution, better error messages
mantepse Nov 23, 2023
e91fd91
switch to ZZ.sum, add more failing doctests
mantepse Nov 24, 2023
0f449ff
more failing doctests
mantepse Nov 25, 2023
1b7b15a
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Jan 2, 2024
a046fd0
initial commit to solve also systems of functional equations
mantepse Jan 7, 2024
a464a61
work around bug in InfinitePolynomialRing, better error messages
mantepse Jan 7, 2024
b9f29ad
fix bad counting in _subs_in_caches
mantepse Jan 8, 2024
9ab26c2
fix to erroneous doctests - the bug was in the old version
mantepse Jan 8, 2024
409c21e
fix bookkeeping
mantepse Jan 11, 2024
92d0abd
slightly simplify logic
mantepse Jan 11, 2024
bf700ab
fix typo
mantepse Jan 12, 2024
62574fe
bypass buggy subs in InfinitePolynomialRing
mantepse Jan 12, 2024
80769fb
more work on the multivariate case
mantepse Jan 12, 2024
26c8bb8
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Jan 15, 2024
2285de9
replace InfinitePolynomialRing, make simple bivariate example work
mantepse Jan 16, 2024
07f3c07
stay in the coefficient ring if possible in Stream_cauchy_invert and …
mantepse Jan 17, 2024
41afaa2
provide functorial construction for coercion
mantepse Jan 18, 2024
6b69493
Merge branch 'develop' into lazy_series/integration_experimental
mantepse Jan 22, 2024
44fcaff
fix bug in composition, work around performance bug in subs
mantepse Jan 22, 2024
585a358
make _terms_of_degree more correct for completions in higher arity
mantepse Jan 22, 2024
0cc3eaf
provide a construction functor
mantepse Feb 1, 2024
ebbce9b
Merge branch 'sagemath:develop' into sf/construction
mantepse Feb 5, 2024
b71f967
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Feb 5, 2024
693c051
more constructions
mantepse Feb 6, 2024
7d7cceb
fix oversight in factorization of symmetric function: unit should be …
mantepse Feb 6, 2024
7bd1c5b
skip construction for dual and orthotriang
mantepse Feb 6, 2024
10f796a
adapt to PolynomialSequence.coefficients_monomials
mantepse Feb 7, 2024
2d99739
add change_ring, add doctests demonstrating that coercions with diffe…
mantepse Feb 8, 2024
e615e18
Merge branch 'sf/construction' into lazy_series/integration_experimental
mantepse Feb 8, 2024
7c2d51e
Merge branch 'fraction_field_element/subs' into lazy_series/integrati…
mantepse Feb 8, 2024
f1c6140
Merge branch 'element/substitute_alias' into lazy_series/integration_…
mantepse Feb 8, 2024
71c1259
add change_ring, add doctests demonstrating that coercions with diffe…
mantepse Feb 9, 2024
08d4d78
make map_coefficients more general, in line with polynomials
mantepse Feb 9, 2024
4c1d455
correct equality
mantepse Feb 9, 2024
1054970
Merge branch 'sf/construction' into lazy_series/integration_experimental
mantepse Feb 9, 2024
1aae0f7
Merge branch 'modules_with_basis/map_coefficients' into lazy_series/i…
mantepse Feb 9, 2024
3a056bd
fix equality and subs in UndeterminedCoefficientsRingElement, fix con…
mantepse Feb 9, 2024
791c63b
beautify repr, add doctests, deprecate corresponding_basis_over
mantepse Feb 10, 2024
6a20994
provide _descriptor for llt
mantepse Feb 10, 2024
77b79c7
construction for dual bases
mantepse Feb 11, 2024
3752688
fix equality for llt
mantepse Feb 11, 2024
b6a6a10
Merge branch 'sagemath:develop' into sf/construction
mantepse Feb 20, 2024
2e92cae
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Feb 20, 2024
0688f74
correct ring for _terms_of_degrees in LazySymmetricFunctions
mantepse Feb 24, 2024
08c9cdc
Merge branch 'sf/construction' into lazy_series/integration_experimental
mantepse Feb 24, 2024
883fce6
Merge branch 'combinat/free_module_tensor_construction' into lazy_ser…
mantepse Feb 24, 2024
ffbbe78
fix doctests
mantepse Feb 24, 2024
32cebca
fix blank lines
mantepse Feb 24, 2024
6cd4f94
another test, fix type of constant in Stream_exact
mantepse Feb 24, 2024
26781b3
add output for a doctest
mantepse Feb 25, 2024
328ef0f
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Feb 25, 2024
57e4b40
move UndeterminedCoefficientsFunctor to stream.py, improve substituti…
mantepse Feb 27, 2024
ab22965
micro-optimization
mantepse Feb 27, 2024
5d7ccfe
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Mar 1, 2024
2627705
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Mar 6, 2024
58ed9e0
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Mar 20, 2024
c16b7c6
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Apr 1, 2024
96aea2a
remove UndeterminedCoefficientsRing
mantepse Apr 1, 2024
60bc31c
use bad workaround for InfinitePolynomialRing bug
mantepse Apr 2, 2024
df87361
conversion is slower than direct computation
mantepse Apr 2, 2024
b3fb771
fix doctests and error handling for undefined streams
mantepse Apr 3, 2024
f70ebf5
fix bad markup (:cls: should be :class:)
mantepse Apr 3, 2024
5524bff
remove workaround and fix InfinitePolynomialRing instead
mantepse Apr 3, 2024
205f3ea
add documentation and tests, remove cached_method
mantepse Apr 3, 2024
b0b6e62
optimize and clarify substitution
mantepse Apr 4, 2024
4bef1dc
simplify VariablePool, add documentation and doctests
mantepse Apr 4, 2024
4c1682b
improve documentation of doctests
mantepse Apr 4, 2024
519c1f3
Merge branch 'sf/construction-functional' into lazy_series/integratio…
mantepse Apr 4, 2024
12fc4bc
return numerator and denominator as elements of self, restrict elemen…
mantepse Apr 6, 2024
a0deca4
add docstring to numerator, remove wrong denominator method (the inhe…
mantepse Apr 7, 2024
690e048
remove workaround and fix InfinitePolynomialRing instead
mantepse Apr 3, 2024
6d4659c
add documentation and tests, remove cached_method
mantepse Apr 3, 2024
0fe5270
add doctest, fix linter
mantepse Apr 7, 2024
064d6ba
add doctest for coercion issue
mantepse Apr 7, 2024
23166b0
Merge branch 'rings/infinite_polynomial_ring_fixes' into lazy_series/…
mantepse Apr 7, 2024
fdb99dc
Use proper reference role
mantepse Apr 7, 2024
acfc7f2
Remove wrong indentation
mantepse Apr 7, 2024
b36cfea
Fix missing backticks
mantepse Apr 7, 2024
4e569b5
Fix missing backticks
mantepse Apr 7, 2024
891bfe4
remove misleading sentence and whitespace
mantepse Apr 7, 2024
54b65c0
break expected output of doctest
mantepse Apr 7, 2024
ba1d8fa
provide missing doctests
mantepse Apr 7, 2024
ef1539b
Merge branch 'lazy_series/integration_experimental' of https://github…
mantepse Apr 7, 2024
c62292d
add missing colon
mantepse Apr 7, 2024
e419a73
break expected output of doctest
mantepse Apr 7, 2024
716fca4
add missing # needs
mantepse Apr 7, 2024
6c536b0
Remove wrong indentation
mantepse Apr 7, 2024
bd3eaa1
break expected output of doctest
mantepse Apr 7, 2024
9ec2d30
Remove wrong indentation
mantepse Apr 7, 2024
a782b71
use proper sphinx roles
mantepse Apr 7, 2024
2286ac9
remove whitespace
mantepse Apr 7, 2024
7b49ae1
Fix missing backticks
mantepse Apr 7, 2024
a36aac5
Fix missing backticks
mantepse Apr 7, 2024
b128a60
remove misleading sentence and whitespace
mantepse Apr 7, 2024
8015042
add missing colon
mantepse Apr 7, 2024
385ee8c
use proper sphinx roles
mantepse Apr 7, 2024
6706a39
remove whitespace
mantepse Apr 8, 2024
575731d
improve docstring formatting
mantepse Apr 8, 2024
97dbbc6
remove unnecessary parens
mantepse Apr 8, 2024
9b76cf6
improve docstring
mantepse Apr 8, 2024
2f607aa
fix sphinx role
mantepse Apr 8, 2024
796eab9
Merge branch 'sf/construction-functional' into lazy_series/integratio…
mantepse Apr 8, 2024
789374d
Merge branch 'sagemath:develop' into lazy_series/integration_experime…
mantepse Apr 9, 2024
b17a9fb
Merge branch 'develop' into lazy_series/integration_experimental
mantepse Apr 13, 2024
b42e2d9
Merge branch 'sagemath:develop' into rings/infinite_polynomial_ring_f…
mantepse Apr 13, 2024
198a3ce
Merge branch 'rings/infinite_polynomial_ring_fixes' into lazy_series/…
mantepse Apr 18, 2024
11c5cd9
dirty fix for composition, add doctests, one works only with rank of …
mantepse Apr 18, 2024
9dcb87a
Merge branch 'develop' into lazy_series/integration_experimental
mantepse Apr 28, 2024
9e3d782
Merge branch 'structure/coerce_actions' into lazy_series/integration_…
mantepse May 2, 2024
8e088ca
improve error messages
mantepse May 2, 2024
85bcdf8
fix filling of cache, improve documentation
mantepse May 2, 2024
a4dbb41
fix typo and implicit doctest -> indirect doctest
mantepse May 3, 2024
d855cc3
fix doctest
mantepse May 3, 2024
e1a26e2
provide an option to look ahead in the equations, refactor
mantepse May 7, 2024
245f32c
free variables in VariablePool on destruction of a Stream_uninitialized
mantepse May 8, 2024
d64c968
remove duplicate example, cache _terms_of_degree
mantepse May 8, 2024
aa5e686
Merge branch 'develop' into lazy_series/integration_experimental
mantepse May 8, 2024
4ceac4c
replace list() with []
mantepse May 10, 2024
87ec8e4
improve doc formatting
mantepse May 10, 2024
2355a32
remove trailing blank lines in docstrings
mantepse May 10, 2024
e0cb0f3
use list comprehension
mantepse May 10, 2024
688e91a
cosmetic fixes and replace else: if...: with elif:
mantepse May 10, 2024
b8ecc28
use PolynomialRing explicitly
mantepse May 10, 2024
b3105a8
naive implementations of is_prime_field and fraction_field for symmet…
mantepse May 10, 2024
a814c20
add (currently failing) example
mantepse May 12, 2024
12c8546
Merge branch 'develop' into sf-fixes
mantepse May 13, 2024
124c7df
work harder putting the coefficients into the correct parent
mantepse May 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/sage/combinat/sf/orthotriang.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def __init__(self, Sym, base, scalar, prefix, basis_name, leading_coeff):
TESTS::

sage: TestSuite(s).run(elements=[s[1,1]+2*s[2], s[1]+3*s[1,1]])
sage: TestSuite(s).run(skip=["_test_associativity", "_test_prod", '_test_construction']) # long time (7s on sage.math, 2011)
sage: TestSuite(s).run(skip=["_test_associativity", "_test_prod"]) # long time (7s on sage.math, 2011)

Note: ``s.an_element()`` is of degree 4; so we skip
``_test_associativity`` and ``_test_prod`` which involve
Expand Down
1 change: 0 additions & 1 deletion src/sage/combinat/sf/sf.py
Original file line number Diff line number Diff line change
Expand Up @@ -845,7 +845,6 @@ class function on the symmetric group where the elements
- Devise a mechanism so that pickling bases of symmetric
functions pickles the coercions which have a cache.
"""

def __init__(self, R):
r"""
Initialization of ``self``.
Expand Down
14 changes: 14 additions & 0 deletions src/sage/combinat/sf/sfa.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,17 @@ def is_integral_domain(self, proof=True):
"""
return self.base_ring().is_integral_domain()

def fraction_field(self):
if not self.is_integral_domain():
raise TypeError("self must be an integral domain.")
if hasattr(self, "__fraction_field") and self.__fraction_field is not None:
return self.__fraction_field
else:
import sage.rings.fraction_field
K = sage.rings.fraction_field.FractionField_generic(self)
self.__fraction_field = K
return self.__fraction_field

def is_field(self, proof=True):
"""
Return whether ``self`` is a field. (It is not.)
Expand Down Expand Up @@ -1854,6 +1865,9 @@ def __init__(self, Sym, basis_name=None, prefix=None, graded=True):

_print_style = 'lex'

def is_prime_field(self):
return False

# Todo: share this with ncsf and over algebras with basis indexed by word-like elements
def __getitem__(self, c):
r"""
Expand Down
4 changes: 2 additions & 2 deletions src/sage/combinat/species/generating_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def __init__(self, base_ring):
sage: from sage.combinat.species.generating_series import OrdinaryGeneratingSeriesRing
sage: OrdinaryGeneratingSeriesRing.options.halting_precision(15)
sage: R = OrdinaryGeneratingSeriesRing(QQ)
sage: TestSuite(R).run()
sage: TestSuite(R).run(skip="_test_construction")

sage: OrdinaryGeneratingSeriesRing.options._reset() # reset options
"""
Expand Down Expand Up @@ -269,7 +269,7 @@ def __init__(self, base_ring):
sage: from sage.combinat.species.generating_series import ExponentialGeneratingSeriesRing
sage: ExponentialGeneratingSeriesRing.options.halting_precision(15)
sage: R = ExponentialGeneratingSeriesRing(QQ)
sage: TestSuite(R).run()
sage: TestSuite(R).run(skip="_test_construction")

sage: ExponentialGeneratingSeriesRing.options._reset() # reset options
"""
Expand Down
4 changes: 2 additions & 2 deletions src/sage/combinat/species/species.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ def structures(self, labels, structure_class=None):
sage: F.structures([1,2,3]).list()
Traceback (most recent call last):
...
NotImplementedError
ValueError: Stream is not yet defined
"""
return StructuresWrapper(self, labels, structure_class)

Expand All @@ -388,7 +388,7 @@ def isotypes(self, labels, structure_class=None):
sage: F.isotypes([1,2,3]).list()
Traceback (most recent call last):
...
NotImplementedError
ValueError: Stream is not yet defined
"""
return IsotypesWrapper(self, labels, structure_class=structure_class)

Expand Down