@@ -1611,18 +1611,16 @@ def __init__(self, f, g):
1611
1611
sage: h = Stream_cauchy_compose(f, g)
1612
1612
"""
1613
1613
#assert g._approximate_order > 0
1614
- self ._fv = f ._approximate_order
1615
- self ._gv = g ._approximate_order
1616
- if self ._fv < 0 :
1614
+ if f ._approximate_order < 0 :
1617
1615
ginv = Stream_cauchy_invert (g )
1618
1616
# The constant part makes no contribution to the negative.
1619
1617
# We need this for the case so self._neg_powers[0][n] => 0.
1620
1618
self ._neg_powers = [Stream_zero (f ._is_sparse ), ginv ]
1621
- for i in range (1 , - self . _fv ):
1619
+ for i in range (1 , - f . _approximate_order ):
1622
1620
self ._neg_powers .append (Stream_cauchy_mul (self ._neg_powers [- 1 ], ginv ))
1623
1621
# Placeholder None to make this 1-based.
1624
1622
self ._pos_powers = [None , g ]
1625
- val = self . _fv * self . _gv
1623
+ val = f . _approximate_order * g . _approximate_order
1626
1624
super ().__init__ (f , g , f ._is_sparse , val )
1627
1625
1628
1626
def get_coefficient (self , n ):
@@ -1644,15 +1642,18 @@ def get_coefficient(self, n):
1644
1642
sage: [h.get_coefficient(i) for i in range(10)]
1645
1643
[0, 1, 6, 28, 124, 527, 2172, 8755, 34704, 135772]
1646
1644
"""
1645
+ fv = self ._left ._approximate_order
1646
+ gv = self ._right ._approximate_order
1647
1647
if n < 0 :
1648
- return sum (self ._left [i ] * self ._neg_powers [- i ][n ] for i in range (self ._fv , n // self ._gv + 1 ))
1648
+ return sum (self ._left [i ] * self ._neg_powers [- i ][n ]
1649
+ for i in range (fv , n // gv + 1 ))
1649
1650
# n > 0
1650
- while len (self ._pos_powers ) <= n // self . _gv :
1651
+ while len (self ._pos_powers ) <= n // gv :
1651
1652
self ._pos_powers .append (Stream_cauchy_mul (self ._pos_powers [- 1 ], self ._right ))
1652
- ret = sum (self ._left [i ] * self ._neg_powers [- i ][n ] for i in range (self . _fv , 0 ))
1653
+ ret = sum (self ._left [i ] * self ._neg_powers [- i ][n ] for i in range (fv , 0 ))
1653
1654
if n == 0 :
1654
1655
ret += self ._left [0 ]
1655
- return ret + sum (self ._left [i ] * self ._pos_powers [i ][n ] for i in range (1 , n // self . _gv + 1 ))
1656
+ return ret + sum (self ._left [i ] * self ._pos_powers [i ][n ] for i in range (1 , n // gv + 1 ))
1656
1657
1657
1658
1658
1659
class Stream_plethysm (Stream_binary ):
0 commit comments