o
    GZŽh£3  ã                   @   sl  d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# dd„ Z$dd„ Z%d	d
„ Z&dd„ Z'dd„ Z(dd„ Z)dd„ Z*dd„ Z+dd„ Z,dd„ Z-dd„ Z.dd„ Z/dd„ Z0dd „ Z1d!d"„ Z2d#d$„ Z3d%d&„ Z4d'd(„ Z5d)d*„ Z6d+d,„ Z7d-d.„ Z8d/d0„ Z9d1d2„ Z:d3d4„ Z;d5d6„ Z<d7S )8é    )ÚSymbol)ÚpquoÚpremÚsturmÚsubresultants)ÚMatrix)Ú	sylvesterÚresÚres_qÚres_zÚbezoutÚsubresultants_sylvÚmodified_subresultants_sylvÚsubresultants_bezoutÚmodified_subresultants_bezoutÚbackward_eyeÚsturm_pgÚsturm_qÚ	sturm_amvÚ	euclid_pgÚeuclid_qÚ
euclid_amvÚmodified_subresultants_pgÚsubresultants_pgÚsubresultants_amv_qÚquo_zÚrem_zÚsubresultants_amvÚmodified_subresultants_amvÚsubresultants_remÚsubresultants_vvÚsubresultants_vv_2c               	   C   s®  t dƒ} t| d d d| ƒt| d d d| dƒ  kr$tdggƒks'J ‚ J ‚td| d d | ƒtd| d d | dƒ  krGtdggƒksJJ ‚ J ‚t| d d d| dƒtdggƒks]J ‚td| d d | dƒtdggƒkspJ ‚t| d d d| ƒ ¡ t| d d d| dƒ ¡   krdks“J ‚ J ‚td| d d | ƒ ¡ td| d d | dƒ ¡   kr³dks¶J ‚ J ‚t| d d d| dƒ ¡ dksÇJ ‚td| d d | dƒ ¡ dksØJ ‚tdd| ƒ ¡ tdd| dƒ ¡   krütdd| dƒ ¡   krüdksÿJ ‚ J ‚tdd| ƒ ¡ tdd| dƒ ¡   kr&tdd| dƒ ¡   kr&dks)J ‚ J ‚t| d | d	 | ƒt| d | d	 | dƒ  kr^t| d | d	 | dƒ  kr^tdd
gddggƒksaJ ‚ J ‚t| d d|   d d| d  d | ƒt| d d|   d d| d  d | dƒ  kr¤tg d¢g d¢g d¢g d¢g d¢gƒks§J ‚ J ‚t| d d|   d d| d  d | dƒtg d¢g d¢g d¢g d¢g d¢g d¢gƒksÕJ ‚d S )NÚxé   é   r   é   é   iW  i©þÿÿé   éýÿÿÿiøÿÿÿ)r%   r   éùÿÿÿr$   r   )r   r%   r   r)   r$   )r#   r   r)   r   r   )r   r#   r   r)   r   )r   r   r#   r   r)   )r%   r   r)   r$   r   r   )r   r#   r   r)   r   r   )r   r%   r   r)   r$   r   )r   r   r#   r   r)   r   )r   r   r%   r   r)   r$   )r   r   r   r#   r   r)   )r   r   r   Údet©r"   © r,   úY/var/www/auris/lib/python3.10/site-packages/sympy/polys/tests/test_subresultants_qq_zz.pyÚtest_sylvester   s    FF&&FF""NTpŒ*$ÿr.   c                  C   sH  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t||| ƒt||| ƒksJJ ‚t||| ƒd
 t||| ƒksZJ ‚t||| ƒt||| ƒkshJ ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒks‚J ‚| d d|   d }d| d  d }t||| ƒt||| ƒks¢J ‚d S )Nr"   r'   é   r#   é   r&   é   é	   é   éÿÿÿÿ©r%   r%   r4   r%   r4   r%   c                 S   ó   g | ]\}}|| ‘qS r,   r,   ©Ú.0ÚiÚjr,   r,   r-   Ú
<listcomp>0   ó    z+test_subresultants_sylv.<locals>.<listcomp>r$   )r   r   r   r	   r   Úzipr   ©r"   ÚpÚqZamv_factorsr,   r,   r-   Útest_subresultants_sylv'   s   @0 , rA   c                  C   sT  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }g d
¢}t||| ƒdd„ t|t||| ƒƒD ƒksVJ ‚t||| ƒd t|| d  || ƒksjJ ‚t||| ƒt||| ƒksxJ ‚| d d|   d }d| d  d }t||| ƒt||| ƒks˜J ‚t| || ƒt| || ƒks¨J ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   <   r<   z4test_modified_subresultants_sylv.<locals>.<listcomp>r4   r$   )r   r   r=   r   r
   r   r>   r,   r,   r-   Ú test_modified_subresultants_sylv6   s   @0,($rB   c                  C   ó    t dƒ} tdd| ƒdksJ ‚d S ©Nr"   r#   r1   r%   )r   r	   r+   r,   r,   r-   Útest_resE   ó   rE   c                  C   rC   rD   )r   r
   r+   r,   r,   r-   Ú
test_res_qJ   rF   rG   c                  C   sT   t dƒ} tdd| ƒdksJ ‚tdd| ƒtdd| ƒ  kr%tdd| ƒks(J ‚ J ‚d S rD   )r   r   r	   r
   r+   r,   r,   r-   Ú
test_res_zO   s   8rH   c                  C   sà   t dƒ} d| d  d| d   d| d   d|   d }d	| d
  d| d   d|   d }t||| dƒ ¡ t||| dƒ ¡ ksBJ ‚t||| dƒ ¡ t||| dƒ ¡ ksVJ ‚t||| dƒtdƒt||| dƒ tdƒ ksnJ ‚d S )Nr"   éþÿÿÿr1   r$   r#   r2   r&   r%   iöÿÿÿr0   r3   é   ZbzZprs)r   r   r*   r   r   ©r"   r?   r@   r,   r,   r-   Útest_bezoutU   s   0$((4rL   c                  C   óL  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t||| ƒt||| ƒksJJ ‚t||| ƒd
 t||| ƒ ¡ ks\J ‚t||| ƒt||| ƒksjJ ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒks„J ‚| d d|   d }d| d  d }t||| ƒt||| ƒks¤J ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   g   r<   z-test_subresultants_bezout.<locals>.<listcomp>r$   )r   r   r   r   r*   r   r=   r   r>   r,   r,   r-   Útest_subresultants_bezout^   ó   @0$, rN   c                  C   óX  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }g d
¢}t||| ƒdd„ t|t||| ƒƒD ƒksVJ ‚t||| ƒd t|| d  || ƒ ¡ kslJ ‚t||| ƒt||| ƒkszJ ‚| d d|   d }d| d  d }t||| ƒt||| ƒksšJ ‚t| || ƒt| || ƒksªJ ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   s   r<   z6test_modified_subresultants_bezout.<locals>.<listcomp>r4   r$   )r   r   r=   r   r   r*   r   r>   r,   r,   r-   Ú"test_modified_subresultants_bezoutm   ó   @0,,$rQ   c                  C   s¢  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t||| ƒd
 t||| dƒ ¡ ksOJ ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒksiJ ‚d| d  d| d   d }d| d  d| d   }t||| dƒd
 t||| dƒ ¡ ks—J ‚t||| ƒd
 t||| dƒ ¡ ksªJ ‚t| || ƒd
 t| || dƒ ¡ ks¿J ‚t| || ƒt| || ƒksÏJ ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   ©r%   r%   r4   r4   r%   r%   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   ƒ   r<   z!test_sturm_pg.<locals>.<listcomp>é÷ÿÿÿéÓÿÿÿé   r%   )r   r   r   r*   r=   r   r   ©r"   r?   r@   Zsam_factorsr,   r,   r-   Útest_sturm_pg|   ó   @0&,(&*$rX   c                  C   sf   t dƒ} | d d|   d }d| d  d }t||| ƒt|ƒks"J ‚t| | | ƒt| ƒks1J ‚d S )Nr"   r#   r$   r&   )r   r   r   rK   r,   r,   r-   Útest_sturm_qŒ   s
   "rZ   c                  C   s¢  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t||| ƒd
 t||| dƒ ¡ ksOJ ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒksiJ ‚d| d  d| d   d }d| d  d| d   }t||| dƒd
 t||| dƒ ¡ ks—J ‚t||| ƒd
 t||| dƒ ¡ ksªJ ‚t| || ƒd
 t| || dƒ ¡ ks¿J ‚t| || ƒt| || ƒksÏJ ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   rS   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   œ   r<   z"test_sturm_amv.<locals>.<listcomp>rT   rU   rV   r%   )r   r   r   r*   r=   r   r   r   rW   r,   r,   r-   Útest_sturm_amv•   rY   r[   c                  C   s‚  t dƒ} | d | d  | d  | d  | d  |  d }d| d  d| d   d| d   d| d   d|   d }t||| ƒd t||| ƒ ¡ ksLJ ‚t||| ƒt||| ƒksZJ ‚| d	 | d  d| d   d| d   d	| d   d|   d }d| d  d| d   d| d   d
|   d }t||| ƒd t||| dƒ ¡ ks¥J ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒks¿J ‚d S )Nr"   r/   r1   r0   r#   r&   r%   r4   r'   r2   r3   rS   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   ²   r<   z"test_euclid_pg.<locals>.<listcomp>)r   r   r   r*   r   r=   r   rW   r,   r,   r-   Útest_euclid_pg¦   s   0<$@0&0r\   c                  C   sR   t dƒ} | d d|   d }d| d  d }t||| ƒd t|ƒd  ks'J ‚d S )Nr"   r#   r$   r&   r4   )r   r   r   rK   r,   r,   r-   Útest_euclid_qµ   s   &r]   c                  C   s:  t dƒ} | d d|   d }d| d  d }t||| ƒd t||| ƒ ¡ ks(J ‚t||| ƒt||| ƒks6J ‚| d | d  d| d   d| d   d| d   d|   d	 }d| d  d	| d   d| d   d
|   d }t||| ƒd t||| dƒ ¡ ksJ ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒks›J ‚d S )Nr"   r#   r$   r&   r4   r'   r/   r0   r1   r2   r3   rS   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   É   r<   z#test_euclid_amv.<locals>.<listcomp>)r   r   r   r*   r   r=   r   rW   r,   r,   r-   Útest_euclid_amv½   s   $@0&0r^   c                  C   rP   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   Ò   r<   z2test_modified_subresultants_pg.<locals>.<listcomp>r4   r$   )r   r   r=   r   r   r*   r   r>   r,   r,   r-   Útest_modified_subresultants_pgÌ   rR   r_   c                  C   rM   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   å   r<   z)test_subresultants_pg.<locals>.<listcomp>r$   )r   r   r   r   r*   r   r=   r   r>   r,   r,   r-   Útest_subresultants_pgÜ   rO   r`   c                  C   sL  t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t||| ƒt||| ƒksJJ ‚t||| ƒd
 t||| ƒ ¡ ks\J ‚t||| ƒt||| ƒksjJ ‚g d¢}t||| ƒdd„ t|t||| ƒƒD ƒks„J ‚| d d|   d }d| d  d }t||| ƒt||| ƒks¤J ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   õ   r<   z,test_subresultants_amv_q.<locals>.<listcomp>r$   )	r   r   r   r   r*   r   r=   r   r   r>   r,   r,   r-   Útest_subresultants_amv_qì   rO   ra   c                  C   sœ   t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t|| | ƒt|| | ƒksLJ ‚d S )
Nr"   r'   r/   r#   r0   r&   r1   r2   r3   )r   r   r   rK   r,   r,   r-   Ú
test_rem_zü   s   @0$rb   c                  C   sô   t dƒ} | d | d  d| d   d| d   d| d   d|   d }d| d  d| d   d| d   d|   d	 }t|| | ƒt|| | ƒksLJ ‚t d
ƒ}d| d  d|d   d| d   d|   d	 }t|| | ƒt|| | ƒksxJ ‚d S )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   Úy)r   r   r   )r"   r?   r@   rc   r,   r,   r-   Ú
test_quo_z  s   @0 0$rd   c                  C   rM   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;     r<   z*test_subresultants_amv.<locals>.<listcomp>r$   )r   r   r   r   r*   r   r=   r   r>   r,   r,   r-   Útest_subresultants_amv  rO   re   c                  C   rP   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   $  r<   z3test_modified_subresultants_amv.<locals>.<listcomp>r4   r$   )r   r   r=   r   r   r*   r   r>   r,   r,   r-   Útest_modified_subresultants_amv  rR   rf   c                  C   rM   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   7  r<   z*test_subresultants_rem.<locals>.<listcomp>r$   )r   r   r   r   r*   r   r=   r   r>   r,   r,   r-   Útest_subresultants_rem.  rO   rg   c                  C   rM   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   G  r<   z)test_subresultants_vv.<locals>.<listcomp>r$   )r   r    r   r   r*   r   r=   r   r>   r,   r,   r-   Útest_subresultants_vv>  rO   rh   c                  C   rM   )Nr"   r'   r/   r#   r0   r&   r1   r2   r3   r4   r5   c                 S   r6   r,   r,   r7   r,   r,   r-   r;   W  r<   z+test_subresultants_vv_2.<locals>.<listcomp>r$   )r   r!   r   r   r*   r   r=   r   r>   r,   r,   r-   Útest_subresultants_vv_2N  rO   ri   N)=Zsympy.core.symbolr   Zsympy.polys.polytoolsr   r   r   r   Zsympy.matricesr   Zsympy.polys.subresultants_qq_zzr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r.   rA   rB   rE   rG   rH   rL   rN   rQ   rX   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rd   re   rf   rg   rh   ri   r,   r,   r,   r-   Ú<module>   s:    p		