§
    OŠtj©  ã                   óR   — d dl mZ d dlmZ d dlmZ ddlmZ  G d„ de¦  «        ZdS )	é    )ÚS)Ú_sympify)ÚPolyé   )Ú
MatrixExprc                   óD   ‡ — e Zd ZdZˆ fd„Zed„ ¦   «         Zd„ Zd„ Zˆ xZ	S )ÚCompanionMatrixaÎ  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                 óì  •— t          |¦  «        }t          |t          ¦  «        s"t          d                     |¦  «        ¦  «        ‚|j        s"t          d                     |¦  «        ¦  «        ‚|j        s"t          d                     |¦  «        ¦  «        ‚|                     ¦   «         dk    s"t          d                     |¦  «        ¦  «        ‚t          ¦   «          	                    | |¦  «        S )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     €úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/matrices/expressions/companion.pyr   zCompanionMatrix.__new__   së   ø€ Ý˜‰~Œ~ˆÝ˜$¥Ñ%Ô%ð 	IÝÐ:×AÒAÀ$ÑGÔGÑHÔHÐHØŒ}ð 	LÝÐ=×DÒDÀTÑJÔJÑKÔKÐKØÔ!ð 	DÝØ5×<Ò<¸TÑBÔBñDô Dð Dà�{Š{‰}Œ} Ò!Ð!ÝØ6×=Ò=¸dÑCÔCñEô Eð Eõ ‰wŒw�Š˜s DÑ)Ô)Ð)ó    c                 óL   — | j         d         }|                     ¦   «         }||fS )Nr   )Úargsr   )Úselfr   Úsizes      r   ÚshapezCompanionMatrix.shape'   s$   € àŒy˜Œ|ˆØ�{Š{‰}Œ}ˆØ�TˆzÐr   c                 ó²   — || j         dz
  k    r)| j        d                              ¦   «         d|z
            S ||dz   k    rt          j        S t          j        S )Nr   r   éÿÿÿÿ)Úcolsr   Ú
all_coeffsr   ÚOneÚZero)r   ÚiÚjs      r   Ú_entryzCompanionMatrix._entry.   sR   € Ø�”	˜A‘ÒÐØ”I˜a”L×+Ò+Ñ-Ô-¨b°1©fÔ5Ð5Ð5Ø�!�a‘%ŠZˆZÝ”5ˆLÝŒvˆr   c                 óN   — ddl m} |                     | j        d         ¦  «        S )Nr   )ÚImmutableDenseMatrix)Úsympy.matrices.immutabler'   Ú	companionr   )r   r'   s     r   Úas_explicitzCompanionMatrix.as_explicit6   s.   € ØAÐAÐAÐAÐAÐAØ#×-Ò-¨d¬i¸¬lÑ;Ô;Ð;r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r%   r*   Ú__classcell__)r   s   @r   r	   r	      s{   ø€ € € € € ðð ð*ð *ð *ð *ð *ð  ðð ñ „Xððð ð ð<ð <ð <ð <ð <ð <ð <r   r	   N)	Úsympy.core.singletonr   Úsympy.core.sympifyr   Úsympy.polys.polytoolsr   Úmatexprr   r	   © r   r   ú<module>r6      s�   ðØ "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &à Ð Ð Ð Ð Ð ð0<ð 0<ð 0<ð 0<ð 0<�jñ 0<ô 0<ð 0<ð 0<ð 0<r   