本文整理汇总了Python中frame.Frame.seed方法的典型用法代码示例。如果您正苦于以下问题:Python Frame.seed方法的具体用法?Python Frame.seed怎么用?Python Frame.seed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类frame.Frame
的用法示例。
在下文中一共展示了Frame.seed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: next_frame
# 需要导入模块: from frame import Frame [as 别名]
# 或者: from frame.Frame import seed [as 别名]
def next_frame(self,length=infinity):
"""
Produce the child Frame in the tree of OM representations with the
partitioning from self.
This method generates a new Frame with the ``self`` as previous and
seeds it with a new approximation with strictly greater valuation
than the current one.
INPUT:
- ``length`` -- Integer or infinity, default infinity; The length of
the segment generating this factor. This is used to reduce the
total number of quotient with remainder operations needed in the
resulting Frame.
EXAMPLES::
sage: from sage.rings.polynomial.padics.factor.frame import Frame
sage: Phi = ZpFM(2,20,'terse')['x'](x^32+16)
sage: f = Frame(Phi)
sage: f.seed(Phi.parent().gen());f
Frame with phi (1 + O(2^20))*x
sage: f = f.polygon[0].factors[0].next_frame();f
Frame with phi (1 + O(2^20))*x^8 + (1048574 + O(2^20))
sage: f = f.polygon[0].factors[0].next_frame();f
Frame with phi (1 + O(2^20))*x^8 + (1048574 + O(2^20))*x^2 + (1048574 + O(2^20))
sage: f = f.polygon[0].factors[0].next_frame();f
Frame with phi (1 + O(2^20))*x^16 + (1048572 + O(2^20))*x^10 + (1048572 + O(2^20))*x^8 + (1048572 + O(2^20))*x^5 + (4 + O(2^20))*x^4 + (8 + O(2^20))*x^2 + (4 + O(2^20))
"""
from frame import Frame
if self.segment.slope == infinity:
next = Frame(self.segment.frame.Phi,self,self.segment.frame.iteration)
self.next = next
next.seed(self.segment.frame.phi,length=length)
return next
if self.Fplus == 1 and self.segment.Eplus == 1:
next = Frame(self.segment.frame.Phi,self.segment.frame.prev,self.segment.frame.iteration)
else:
next = Frame(self.segment.frame.Phi,self,self.segment.frame.iteration)
self.next = next
self.gamma_frameelt = FrameElt(next,self.segment.psi**-1,self.segment.Eplus)
if self.Fplus == 1 and self.segment.frame.F == 1:
next_phi = self.segment.frame.phi**self.segment.Eplus-(self.segment.psi.polynomial()*self.segment.frame.Ox(self.delta))
self.reduce_elt = FrameElt(next,self.segment.psi*self.lift(self.delta),0)
next.seed(next_phi,length=length)
elif self.Fplus == 1 and self.segment.Eplus == 1:
delta_elt = self.lift(self.delta)
next_phi_tail = self.segment.psi*delta_elt.reduce()
next_phi = self.segment.frame.phi-next_phi_tail.polynomial()
self.reduce_elt = FrameElt(next,next_phi_tail,0)
next.seed(next_phi,length=length)
else:
lifted_rho_coeffs = [self.lift(r) for r in list(self.rho)]
lifted_rho_coeffs_with_psi = [FrameElt(next,(self.segment.psi**(self.Fplus-i)*lifted_rho_coeffs[i]).reduce(),0) for i in range(len(lifted_rho_coeffs))]
phi_elt = FrameElt(next,self.segment.frame.Ox(1),1)
next_phi_tail = sum([phi_elt**(self.segment.Eplus*i)*lifted_rho_coeffs_with_psi[i] for i in range(len(lifted_rho_coeffs_with_psi)-1)])
next_phi = (phi_elt**(self.segment.Eplus*self.Fplus)+next_phi_tail).polynomial()
self.reduce_elt = FrameElt(next)+(-next_phi_tail) # that is -next_phi_tail
next.seed(next_phi,length=length)
return next