ó
    ‰*£h©  ã                   óJ   • S SK Jr  S SKJr  S SKJr  SSKJr   " S S\5      rg)	é    )ÚS)Ú_sympify)ÚPolyé   )Ú
MatrixExprc                   óH   ^ • \ rS rSrSrU 4S jr\S 5       rS rS r	Sr
U =r$ )ÚCompanionMatrixé   a¢  A symbolic companion matrix of a polynomial.

Examples
========

>>> from sympy import Poly, Symbol, symbols
>>> from sympy.matrices.expressions import CompanionMatrix
>>> x = Symbol('x')
>>> c0, c1, c2, c3, c4 = symbols('c0:5')
>>> p = Poly(c0 + c1*x + c2*x**2 + c3*x**3 + c4*x**4 + x**5, x)
>>> CompanionMatrix(p)
CompanionMatrix(Poly(x**5 + c4*x**4 + c3*x**3 + c2*x**2 + c1*x + c0,
x, domain='ZZ[c0,c1,c2,c3,c4]'))
c                 óž  >• [        U5      n[        U[        5      (       d  [        SR	                  U5      5      eUR
                  (       d  [        SR	                  U5      5      eUR                  (       d  [        SR	                  U5      5      eUR                  5       S:¼  d  [        SR	                  U5      5      e[        TU ]%  X5      $ )Nz{} must be a Poly instance.z{} must be a monic polynomial.z#{} must be a univariate polynomial.r   z${} must have degree not less than 1.)
r   Ú
isinstancer   Ú
ValueErrorÚformatÚis_monicÚis_univariateÚdegreeÚsuperÚ__new__)ÚclsÚpolyÚ	__class__s     €Úa/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/matrices/expressions/companion.pyr   ÚCompanionMatrix.__new__   s°   ø€ Ü˜‹~ˆÜ˜$¤×%Ñ%ÜÐ:×AÑAÀ$ÓGÓHÐHØ�}�}ÜÐ=×DÑDÀTÓJÓKÐKØ×!×!ÜØ5×<Ñ<¸TÓBóDð Dà�{‰{‹} Ó!ÜØ6×=Ñ=¸dÓCóEð Eô ‰w‰˜sÓ)Ð)ó    c                 óF   • U R                   S   nUR                  5       nX"4$ )Nr   )Úargsr   )Úselfr   Úsizes      r   ÚshapeÚCompanionMatrix.shape'   s"   € à�y‰y˜‰|ˆØ�{‰{‹}ˆØˆzÐr   c                 ó¾   • X R                   S-
  :X  a$  U R                  S   R                  5       SU-
     * $ XS-   :X  a  [        R                  $ [        R
                  $ )Nr   r   éÿÿÿÿ)Úcolsr   Ú
all_coeffsr   ÚOneÚZero)r   ÚiÚjs      r   Ú_entryÚCompanionMatrix._entry.   sN   € Ø—	‘	˜A‘ÓØ—I‘I˜a‘L×+Ñ+Ó-¨b°1©fÑ5Ð5Ð5Ø�a‘%‹ZÜ—5‘5ˆLÜ�v‰vˆr   c                 óJ   • SSK Jn  UR                  U R                  S   5      $ )Nr   )ÚImmutableDenseMatrix)Úsympy.matrices.immutabler+   Ú	companionr   )r   r+   s     r   Úas_explicitÚCompanionMatrix.as_explicit6   s   € ÝAØ#×-Ñ-¨d¯i©i¸©lÓ;Ð;r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úpropertyr   r(   r.   Ú__static_attributes__Ú__classcell__)r   s   @r   r	   r	      s0   ø† ñõ*ð  ñó ðò÷<ð <r   r	   N)	Úsympy.core.singletonr   Úsympy.core.sympifyr   Úsympy.polys.polytoolsr   Úmatexprr   r	   r0   r   r   Ú<module>r=      s   ðÝ "Ý 'Ý &å ô0<�jõ 0<r   