Ë
    7^(hDÝ ã                   óŒ
  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	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 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# d dl$m%Z% d dl&m'Z'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI d dlJmKZKmLZL d dlMmNZN d dlOmPZP d dlQmRZR d dlSmTZT d dlUmVZV d dlWmXZX d dlYmZZZm[Z[ d d l\m]Z] d d!l^m_Z_m`Z` d d"lambZb d d#lcmdZd d d$lemfZf d d%lgmhZh d d&limjZjmkZkmlZlmmZm d d'lnmoZo d d(lpmqZq d d)lrmsZsmtZtmuZumvZvmwZw d d*lxmyZymzZzm{Z{m|Z|m}Z}m~Z~ d d+l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�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.l²m³Z³m´Z´mµZµm¶Z¶m·Z·m¸Z¸m¹Z¹mºZº d d/l»m¼Z¼ d d0l½m¾Z¾ d d1l¿mÀZÀmÁZÁmÂZÂmÃZÃmÄZÄmÅZÅmÆZÆmÇZÇmÈZÈ d d2lÉmÊZÊmËZË d d3lÌmÍZÍmÎZÏ d d4lÐmÑZÑmÒZÒmÓZÓ d d5lÔmÕZÕ d d6lÖm×Z×mØZØ d d7lÙmÚZÚ d d8lÛmÜZÜ d d9lÝmÞZÞmßZßmàZàmáZá d d:lâmãZã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ï d d=lðmñZñmòZòmóZó d d>lômõZõmöZöm÷Z÷møZømùZùmúZúmûZû d d?lüZý G d@„ dAeý�jü                  «      Zþ e(dB«      \  Zÿ�Z �Z�Z�Z�Z�Z�Z�Z�Z�Z	 edC«      �Z
 e'dD«      �Z e'dE«      �Z	 dädF„ZÎdädG„�ZdH„ �ZdI„ �ZdJ„ �ZdK„ �ZdL„ �ZdM„ �ZdN„ �ZdO„ �ZdP„ �ZdQ„ �ZdR„ �ZdS„ �ZdT„ �ZdU„ �ZdV„ �ZdW„ �ZdX„ �ZdY„ �ZdZ„ �Z d[„ �Z!d\„ �Z"d]„ �Z#eòd^„ «       �Z$d_„ �Z%d`„ �Z&da„ �Z'db„ �Z(dc„ �Z)dd„ �Z*de„ �Z+df„ �Z,dg„ �Z-dh„ �Z.di„ �Z/dj„ �Z0dk„ �Z1dl„ �Z2dm„ �Z3dn„ �Z4do„ �Z5dp„ �Z6dq„ �Z7dr„ �Z8ds„ �Z9dt„ �Z:du„ �Z;dv„ �Z<dw„ �Z=dx„ �Z>dy„ �Z?dz„ �Z@d{„ �ZAd|„ �ZBd}„ �ZCd~„ �ZDd„ �ZEd€„ �ZFd�„ �ZGd‚„ �ZHdƒ„ �ZId„„ �ZJd…„ �ZKd†„ �ZLd‡„ �ZMdˆ„ �ZNd‰„ �ZOdŠ„ �ZPd‹„ �ZQdŒ„ �ZRd�„ �ZSdŽ„ �ZTd�„ �ZUd�„ �ZVd‘„ �ZWd’„ �ZXd“„ �ZYd”„ �ZZd•„ �Z[d–„ �Z\d—„ �Z]d˜„ �Z^d™„ �Z_dš„ �Z`d›„ �Zadœ„ �Zbd�„ �Zcdž„ �ZddŸ„ �Zed „ �Zfd¡„ �Zgd¢„ �Zhd£„ �Zid¤„ �Zjd¥„ �Zkd¦„ �Zld§„ �Zmd¨„ �Znd©„ �Zodª„ �Zpd«„ �Zqd¬„ �Zrd­„ �Zsd®„ �Ztd¯„ �Zud°„ �Zvd±„ �Zwd²„ �Zxd³„ �Zyd´„ �Zzdµ„ �Z{d¶„ �Z|d·„ �Z}d¸„ �Z~d¹„ �Zdº„ �Z€d»„ �Z�d¼„ �Z‚d½„ �Zƒd¾„ �Z„d¿„ �Z…dÀ„ �Z†dÁ„ �Z‡dÂ„ �ZˆdÃ„ �Z‰dÄ„ �ZŠdÅ„ �Z‹dÆ„ �ZŒdÇ„ �Z�dÈ„ �ZŽdÉ„ �Z�dÊ„ �Z�dË„ �Z‘dÌ„ �Z’dÍ„ �Z“dÎ„ �Z”dÏ„ �Z•dÐ„ �Z–dÑ„ �Z—dÒ„ �Z˜dÓ„ �Z™dÔ„ �ZšdÕ„ �Z›dÖ„ �Zœd×„ �Z�dØ„ �ZždÙ„ �ZŸdÚ„ �Z dÛ„ �Z¡dÜ„ �Z¢dÝ„ �Z£dÞ„ �Z¤dß„ �Z¥dà„ �Z¦dá„ �Z§dâ„ �Z¨dã„ �Z©y?)åé    )ÚProduct)ÚSum)ÚAdd)ÚBasic)ÚDictÚTuple)Ú
DerivativeÚFunctionÚLambdaÚSubs)ÚMul)Ú
EulerGammaÚGoldenRatioÚCatalan)ÚIÚRationalÚooÚpi)ÚPow)ÚEqÚGeÚGtÚLeÚLtÚNe)ÚS)ÚSymbolÚsymbols)Ú	conjugate)ÚLambertW)ÚairyaiÚairyaiprimeÚairybiÚairybiprime)Ú	Heaviside)ÚfresnelcÚfresnels)ÚSingularityFunction)Údirichlet_eta)ÚRayÚSegment)ÚIntegral)	ÚAndÚ
EquivalentÚITEÚImpliesÚNandÚNorÚNotÚOrÚXor)ÚMatrixÚdiag)ÚMatrixSlice)ÚTrace)ÚFF)ÚZZ)ÚQQ)ÚRR)ÚgrlexÚilex)Úgroebner)ÚRootSumÚrootof)Úfps)Úfourier_series)ÚLimit)ÚO)ÚSeqAddÚ
SeqFormulaÚSeqMulÚSeqPer)ÚContains)ÚRange)Ú
ComplementÚ	FiniteSetÚIntersectionÚIntervalÚUnion)Ú
AssignmentÚAddAugmentedAssignmentÚSubAugmentedAssignmentÚMulAugmentedAssignmentÚDivAugmentedAssignmentÚModAugmentedAssignment)ÚUnevaluatedExpr)ÚTr).ÚAbsÚChiÚCiÚEiÚKroneckerDeltaÚ	PiecewiseÚShiÚSiÚatan2ÚbetaÚbinomialÚcatalanÚceilingÚcosÚeulerÚexpÚexpintÚ	factorialÚ
factorial2ÚfloorÚgammaÚhyperÚlogÚmeijergÚsinÚsqrtÚsubfactorialÚtanÚ
uppergammaÚlerchphiÚpolylogÚ
elliptic_kÚ
elliptic_fÚ
elliptic_eÚelliptic_piÚ
DiracDeltaÚbellÚ	bernoulliÚ	fibonacciÚ
tribonacciÚlucasÚ	stieltjesÚmathieucÚmathieusÚmathieusprimeÚmathieucprime)ÚAdjointÚInverseÚMatrixSymbolÚ	TransposeÚKroneckerProductÚBlockMatrixÚ	OneMatrixÚ
ZeroMatrix)Úhadamard_power)Ú	mechanics)	ÚTransferFunctionÚFeedbackÚTransferFunctionMatrixÚSeriesÚParallelÚ
MIMOSeriesÚMIMOParallelÚMIMOFeedbackÚ
StateSpace)ÚjouleÚdegree)ÚpprintÚpretty)Úcenter_accentÚis_combiningÚcenter)ÚConditionSet)ÚImageSetÚ
ProductSet)ÚSetExpr)ÚNormal)Ú
CovarianceÚExpectationÚProbabilityÚVariance)ÚImmutableDenseNDimArrayÚImmutableSparseNDimArrayÚMutableDenseNDimArrayÚMutableSparseNDimArrayÚtensorproduct)ÚTensorProduct)ÚTensorIndexTypeÚtensor_indicesÚ
TensorHeadÚTensorElementÚtensor_heads)ÚraisesÚ_both_exp_powÚwarns_deprecated_sympy)Ú
CoordSys3DÚGradientÚCurlÚ
DivergenceÚDotÚCrossÚ	LaplacianNc                   ó   — e Zd Zy)Ú
lowergammaN©Ú__name__Ú
__module__Ú__qualname__© ó    úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/printing/pretty/tests/test_pretty.pyrÁ   rÁ   V   s   „ ØrÇ   rÁ   za,b,c,d,x,y,z,k,n,s,pÚfÚthetaÚphic                 ó    — t        | |dd¬«      S )zASCII pretty-printingF©ÚorderÚuse_unicodeÚ	wrap_line©Úxpretty©ÚexprrÎ   s     rÈ   rž   rž   
  s   € ä�4˜u°%À5ÔIÐIrÇ   c                 ó    — t        | |dd¬«      S )zUnicode pretty-printingTFrÍ   rÑ   rÓ   s     rÈ   ÚuprettyrÖ     s   € ä�4˜u°$À%ÔHÐHrÇ   c                  óD  — t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚y ©NÚxxxzxxx'xxxzxxx"xxxzxxx"xxx'xxxzxxx
xxx©rž   rÆ   rÇ   rÈ   Útest_pretty_ascii_strrÛ     ó¾   € Ü�5‹?˜eÒ#Ð#Ð#Ü�5‹?˜eÒ#Ð#Ð#Ü�:Ó :Ò-Ð-Ð-Ü�9Ó *Ò,Ð,Ð,Ü�:Ó :Ò-Ð-Ð-Ü�9Ó *Ò,Ð,Ð,Ü�:Ó :Ò-Ð-Ð-Ü�:Ó :Ò-Ð-Ð-Ü�?Ó$¨Ò6Ð6Ð6Ü�:Ó :Ò-Ð-Ñ-rÇ   c                  óD  — t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚y rØ   rÚ   rÆ   rÇ   rÈ   Útest_pretty_unicode_strrÞ   !  rÜ   rÇ   c                  óÂ   — t        t        «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )Nõ   âˆžz	alpha^+_1u   Î±â�ºâ‚�rc   õ   Î²Úlambdau   Î»)rÖ   r   r   rÆ   rÇ   rÈ   Útest_upretty_greekrã   .  s[   € Ü”B‹=˜EÒ!Ð!Ð!Ü”F˜;Ó'Ó)¨ZÒ7Ð7Ð7Ü”F˜6“NÓ$¨Ò,Ð,Ð,Ü”6˜(Ó#Ó$¨Ò,Ð,Ñ,rÇ   c                  óÌ   — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚbeta12u   Î²â‚�â‚‚ÚY00u   Yâ‚€â‚€ÚY_00zF^+-u   Fâ�ºâ�»©rÖ   r   rÆ   rÇ   rÈ   Útest_upretty_multiindexré   5  s_   € Ü”F˜8Ó$Ó&¨*Ò4Ð4Ð4Ü”F˜5“MÓ# yÒ0Ð0Ð0Ü”F˜6“NÓ$¨	Ò1Ð1Ð1Ü”F˜6“NÓ$¨	Ò1Ð1Ñ1rÇ   c                  óÆ  — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d	«      «      d
k(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚbeta_1_2u	   Î²â‚� â‚‚zbeta^1^2u   Î²Â¹ Â²zbeta_1^2u   Î²Â²â‚�Ú
beta_10_20u   Î²â‚�â‚€ â‚‚â‚€zbeta_ax_gamma^iu   Î²â�±â‚�â‚“ áµ§z	F^1^2_3_4u   FÂ¹ Â²â‚ƒ â‚„z	F_1_2^3^4u   FÂ³ â�´â‚� â‚‚Ú	F_1_2_3_4u   Fâ‚� â‚‚ â‚ƒ â‚„z	F^1^2^3^4u   FÂ¹ Â² Â³ â�´rè   rÆ   rÇ   rÈ   Útest_upretty_sub_superrî   <  sß   € Ü”F˜:Ó&Ó(¨KÒ7Ð7Ð7Ü”F˜:Ó&Ó(¨IÒ5Ð5Ð5Ü”F˜:Ó&Ó(¨IÒ5Ð5Ð5Ü”F˜<Ó(Ó*Ð.?Ò?Ð?Ð?Ü”FÐ,Ó-Ó/Ð3DÒDÐDÐDÜ”F˜;Ó'Ó)¨_Ò<Ð<Ð<Ü”F˜;Ó'Ó)Ð-=Ò=Ð=Ð=Ü”F˜;Ó'Ó)Ð-?Ò?Ð?Ð?Ü”F˜;Ó'Ó)¨_Ò<Ð<Ñ<rÇ   c                  óŽ  — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d	«      «      d
k(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚF_betau   Fáµ¦ÚF_gammau   Fáµ§ÚF_rhou   Fáµ¨ÚF_phiu   Fáµ©ÚF_chiu   FáµªÚF_au   Fâ‚�ÚF_eu   Fâ‚‘ÚF_iu   Fáµ¢ÚF_ou   Fâ‚’ÚF_uu   Fáµ¤ÚF_ru   Fáµ£ÚF_vu   Fáµ¥ÚF_xu   Fâ‚“rè   rÆ   rÇ   rÈ   Útest_upretty_subs_missing_in_24rý   H  s/  € Ü”F˜8Ó$Ó&¨&Ò0Ð0Ð0Ü”F˜9Ó%Ó'¨6Ò1Ð1Ð1Ü”F˜7“OÓ%¨Ò/Ð/Ð/Ü”F˜7“OÓ%¨Ò/Ð/Ð/Ü”F˜7“OÓ%¨Ò/Ð/Ð/ä”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ñ-rÇ   c                  ó”  — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d	«      «      d
k(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚF_hu   Fâ‚•ÚF_ku   Fâ‚–ÚF_lu   Fâ‚—ÚF_mu   Fâ‚˜ÚF_nu   Fâ‚™ÚF_pu   Fâ‚šÚF_su   Fâ‚›ÚF_tu   Fâ‚œrè   rÆ   rÇ   rÈ   Útest_missing_in_2X_issue_9047r  Y  sº   € Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ð-Ü”F˜5“MÓ# vÒ-Ð-Ñ-rÇ   c                  ó  — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d	«      «      d
k(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚t        t        d «      «      d k(  sJ ‚t        t        d!«      «      d!k(  sJ ‚t        t        d"«      «      d"k(  sJ ‚t        t        d#«      «      d$k(  sJ ‚t        t        d%«      «      d&k(  sJ ‚t        t        d'«      «      d(k(  sJ ‚t        t        d)«      «      d(k(  sJ ‚t        t        d*«      «      d+k(  sJ ‚t        t        d,«      «      d-k(  sJ ‚t        t        d.«      «      d/k(  sJ ‚t        t        d0«      «      d1k(  sJ ‚t        t        d2«      «      d3k(  sJ ‚t        t        d4«      «      d4k(  sJ ‚t        t        d5«      «      d5k(  sJ ‚y )6NÚ	Fmathringu   FÌŠÚFddddotu   FâƒœÚFdddotu   Fâƒ›ÚFddotu   FÌˆÚFdotu   FÌ‡ÚFchecku   FÌŒÚFbreveu   FÌ†ÚFacuteu   FÌ�ÚFgraveu   FÌ€ÚFtildeu   FÌƒÚFhatu   FÌ‚ÚFbaru   FÌ…ÚFvecu   Fâƒ—ÚFprimeu   Fâ€²ÚFprmÚFboldÚFbmÚFcalÚFscrÚFfrakÚFnormu   â€–Fâ€–ÚFavgu   âŸ¨FâŸ©ÚFabsz|F|ÚFmagÚxvecdotu   xâƒ—Ì‡ÚxDotVecu   xÌ‡âƒ—ÚxHATNormu	   â€–xÌ‚â€–ÚxMathring_yCheckPRM__zbreveAbsu   xÌŠ_yÌŒâ€²__|zÌ†|Ú alphadothat_nVECDOT__tTildePrimeu   Î±Ì‡Ì‚_nâƒ—Ì‡__tÌƒâ€²Úx_dotÚx__dotrè   rÆ   rÇ   rÈ   Útest_upretty_modifiersr(  d  sÞ  € ä”F˜;Ó'Ó)¨UÒ2Ð2Ð2Ü”F˜9Ó%Ó'¨6Ò1Ð1Ð1Ü”F˜8Ó$Ó&¨&Ò0Ð0Ð0Ü”F˜7“OÓ%¨Ò.Ð.Ð.Ü”F˜6“NÓ$¨Ò-Ð-Ð-Ü”F˜8Ó$Ó&¨%Ò/Ð/Ð/Ü”F˜8Ó$Ó&¨%Ò/Ð/Ð/Ü”F˜8Ó$Ó&¨%Ò/Ð/Ð/Ü”F˜8Ó$Ó&¨%Ò/Ð/Ð/Ü”F˜8Ó$Ó&¨%Ò/Ð/Ð/Ü”F˜6“NÓ$¨Ò-Ð-Ð-Ü”F˜6“NÓ$¨Ò-Ð-Ð-Ü”F˜6“NÓ$¨Ò.Ð.Ð.Ü”F˜8Ó$Ó&¨&Ò0Ð0Ð0Ü”F˜6“NÓ$¨Ò.Ð.Ð.ä”F˜7“OÓ%¨Ò0Ð0Ð0Ü”F˜5“MÓ# uÒ,Ð,Ð,Ü”F˜6“NÓ$¨Ò.Ð.Ð.Ü”F˜6“NÓ$¨Ò.Ð.Ð.Ü”F˜7“OÓ%¨Ò0Ð0Ð0ä”F˜7“OÓ%¨Ò2Ð2Ð2Ü”F˜6“NÓ$¨	Ò1Ð1Ð1Ü”F˜6“NÓ$¨Ò-Ð-Ð-Ü”F˜6“NÓ$¨Ò-Ð-Ð-ä”F˜9Ó%Ó'¨8Ò3Ð3Ð3Ü”F˜9Ó%Ó'¨8Ò3Ð3Ð3Ü”F˜:Ó&Ó(¨KÒ7Ð7Ð7Ü”FÐ;Ó<Ó>ÐBUÒUÐUÐUÜ”FÐ=Ó>Ó@ÐD[Ò[Ð[Ð[Ü”F˜7“OÓ%¨Ò0Ð0Ð0Ü”F˜8Ó$Ó&¨(Ò2Ð2Ñ2rÇ   c                  óÐ   — ddl m}  t         | dd«      «      dk(  sJ ‚t         | d«      «      dk(  sJ ‚t          | dd«      dd	«      «      d
k(  sJ ‚t         | «       «      dk(  sJ ‚y )Nr   ©ÚCycleé   é   z(1 2)z(2)é   é   é   z
(1 3)(4 5)ú())Ú sympy.combinatorics.permutationsr+  rž   r*  s    rÈ   Útest_pretty_Cycler3  Š  sk   € Ý6Ü‘%˜˜1“+Ó 'Ò)Ð)Ð)Ü‘%˜“(Ó˜uÒ$Ð$Ð$Ü�+‘%˜˜1“+˜a Ó#Ó$¨Ò4Ð4Ð4Ü‘%“'‹?˜dÒ"Ð"Ñ"rÇ   c                  ó‚  — ddl m}    | dd«      dd«      }t        |dd¬«      d	k(  sJ ‚t        |dd
¬«      d	k(  sJ ‚t        |d
d¬«      dk(  sJ ‚t        |d
d
¬«      dk(  sJ ‚t        «       5  | j                  }d
| _        t        |d¬«      dk(  sJ ‚t        |d
¬«      dk(  sJ ‚|| _        d d d «       y # 1 sw Y   y xY w)Nr   )ÚPermutationr,  r-  r.  r/  T)Úperm_cyclicrÏ   z
(1 2)(3 4)Fu   âŽ›0 1 2 3 4âŽž
âŽ�0 2 1 4 3âŽ z/0 1 2 3 4\
\0 2 1 4 3/©rÏ   )r2  r5  rÒ   r¸   Úprint_cyclic)r5  Úp1Úold_print_cyclics      rÈ   Útest_pretty_Permutationr;  ’  s  € Ý<Ø	‰�Q˜Ó	˜1˜aÓ	 €BÜ�2 4°TÔ:¸lÒJÐJÐJÜ�2 4°UÔ;¸|ÒKÐKÐKÜ�2 5°dÔ;ðòð ð ô �2 5°eÔ<ðòð ð ô 
 Ó	!ñ 	4Ø&×3Ñ3ÐØ#(ˆÔ Ü�r tÔ,ð	òð 	ð ô �r uÔ-ð	òð 	ð ð $4ˆÔ ÷	4÷ 	4ñ 	4ús   Á-?B5Â5B>c                  óî	  — t        t        d«       dz  «      dk(  sJ ‚t        t        d«       dz  «      dk(  sJ ‚t        } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  } d	}d	}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        z  } d
}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        d«      dd¬«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dd«      z  } d}d}t        | ddd¬«      |k(  sJ ‚t        | ddd¬«      |k(  sJ ‚t        t        dd«      z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        ddd¬«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  t        z   dz   } d}d}d}d}d}d}t        | «      |||fv sJ ‚t        | «      |||fv sJ ‚dt        z
  } d }d!}d }d!}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚ddt        z  z
  } d"}d#}d$}d%}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚t        t        z  } d&}d'}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t         t        z  } d(}d)}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz   t        z  } d*}d+}d,}d-}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚dt        z   t        z  } d.}d/}d0}d1}d2}d3}t        | «      |||fv sJ ‚t        | «      |||fv sJ ‚dt        z  t        d4z   z  } d5}d6}d7}d8}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚t        j                   dt        z  z
  } d9}d:}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        j                  dt        z  z
  } d;}d<}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        j                   dt        z  dz  z
  } d=}d>}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        j                  dt        z  dz  z
  } d?}d@}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )ANr,  r-  z-1/2é   é   z-13 
----
 22 r   rà   z 2
x z1
-
xõ   1
â”€
xg      ð¿z -1.0
x    F©Úevaluatez -1.0
2    éþÿÿÿúy 
--
 2
x õ   y 
â”€â”€
 2
x r.  z	 1/3
x   )rÏ   rÐ   Úroot_notationTéûÿÿÿz 1  
----
 5/2
x   u    1  
â”€â”€â”€â”€
 5/2
x   z    x
(-2) z 1
3 ú         2
1 + x + x ú 2        
x  + x + 1z 2        
x  + 1 + xú1 - xú-x + 1ú1 - 2*xú-2*x + 1u	   1 - 2â‹…xu
   -2â‹…x + 1zx
-
yu   x
â”€
yú-x 
---
 y õ   -x 
â”€â”€â”€
 y z2 + x
-----
  y  zx + 2
-----
  y  u   2 + x
â”€â”€â”€â”€â”€
  y  u   x + 2
â”€â”€â”€â”€â”€
  y  z	y*(1 + x)z	(1 + x)*yz	y*(x + 1)u   yâ‹…(1 + x)u   (1 + x)â‹…yu   yâ‹…(x + 1)é
   z-5*x  
------
10 + xz-5*x  
------
x + 10u"   -5â‹…x  
â”€â”€â”€â”€â”€â”€
10 + xu"   -5â‹…x  
â”€â”€â”€â”€â”€â”€
x + 10z
-3*x - 1/2u   -3â‹…x - 1/2z	1/2 - 3*xu   1/2 - 3â‹…xz  3*x   1
- --- - -
   2    2u'     3â‹…x   1
- â”€â”€â”€ - â”€
   2    2z1   3*x
- - ---
2    2 u!   1   3â‹…x
â”€ - â”€â”€â”€
2    2 )
rž   r   r   rÖ   Úxr   r   ÚyrÒ   ÚHalf)	rÔ   Ú	ascii_strÚ	ucode_strÚascii_str_1Úascii_str_2Úascii_str_3Úucode_str_1Úucode_str_2Úucode_str_3s	            rÈ   Útest_pretty_basicr[  ª  s‚  € Ü”H˜Q“K�< ‘>Ó# vÒ-Ð-Ð-Ü”H˜R“L�= Ñ#Ó%ðòð ð ô €Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq‰D€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒQ‰3€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ô ˆd‰7€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ô Œq�‹t�T EÔ*€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒQ�‰U‰7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ô Œh�q˜!‹nÑ€Dðð ðð ô
 �4 U°eØôØ'ò(ð (ð (ä�4 T°UØôØ'ò(ð (ð (ô Œh�r˜1‹oÑ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%à”‰7€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ô ˆq�!˜eÔ$€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq‰D”1‰H�q‰L€Dðð ðð ðð ðð ðð ðð ô
 �$‹<˜K¨°kÐBÑBÐBÐBÜ�4‹=˜[¨+°{ÐCÑCÐCÐCàŒq‰5€Dðð ð
ð ð
ð ð
ð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6àˆq”‰s‰7€Dðð ð
ð ð
ð ð
ð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6äŒQ‰3€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆ2Œa‰4€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�‰E”1‰9€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6à”‰E”1‰9€Dðð ð
ð ð
ð ð
ð ð
ð ð
ð ô �$‹<˜K¨°kÐBÑBÐBÐBÜ�4‹=˜[¨+°{ÐCÑCÐCÐCð Œa‰4”�R‘‰=€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6ä�F‰Fˆ7�Q”q‘S‰=€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�6‰6�A”a‘C‰<€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�F‰Fˆ7�Q”q‘S˜‘U‰?€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�6‰6�A”a‘C˜‘E‰>€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó  — t          t        z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t          t        z  t        z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t         dz  t        z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t         dz   t        z  } d}d	}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t          t        t        z  z  } d
}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t
         t        dz  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t
         t        z  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        dz  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        dz  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dd«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )NrM  rN  z-x*z 
-----
  y  u   -xâ‹…z 
â”€â”€â”€â”€â”€
  y  r-  z 2
x 
--
y u    2
x 
â”€â”€
y z  2 
-x  
----
 y  u     2 
-x  
â”€â”€â”€â”€
 y  z-x 
---
y*zu   -x 
â”€â”€â”€
yâ‹…zz-a 
---
 2 
y  u   -a 
â”€â”€â”€
 2 
y  z -a 
 ---
  b 
y   u    -a 
 â”€â”€â”€
  b 
y   éÿÿÿÿz-1 
---
 2 
y  u   -1 
â”€â”€â”€
 2 
y  iöÿÿÿz-10 
----
  2 
 b  u   -10 
â”€â”€â”€â”€
  2 
 b  i8ÿÿÿé%   z-200 
-----
 37  u   -200 
â”€â”€â”€â”€â”€
 37  )rP  rQ  rž   rÖ   ÚzÚaÚbr   ©rÔ   rS  rT  s      rÈ   Útest_negative_fractionsrc  D  sÏ  € Üˆ2Œa‰4€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Üˆ2Œa‰4”‰6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Üˆa‰4”‰6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Üˆq‰Dˆ5”‰7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Üˆ2Œq”‰s‰8€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Üˆ2Œa�‰d‰7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Ü”ˆr”!‰t‰9€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ØŒa�‰d‰7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ØŒq�!‰t‰8€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%Ü�D˜"Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c            
      óü
  — t        ddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddd¬«      } t        | «      d	k(  sJ ‚t        | «      d
k(  sJ ‚t        dddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        dddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        dddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        dt        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddddt        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        ddd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        dddddt
        t        d¬«      } t        | «      d k(  sJ ‚t        | «      d!k(  sJ ‚t        ddddt        z   dt
        t        d¬«      } t        | «      d"k(  sJ ‚t        | «      d#k(  sJ ‚t        t        dd«      t        d$d%«      d¬«      } t        | «      d&k(  sJ ‚t        | «      d'k(  sJ ‚t        t        t
        z   t        dd«      d¬«      } t        | «      d(k(  sJ ‚t        | «      d)k(  sJ ‚t        t        dd«      t        t
        z   d¬«      } t        | «      d*k(  sJ ‚t        | «      d+k(  sJ ‚t        t        j                  t        t
        z   d¬«      } t        | «      d,k(  sJ ‚t        | «      d-k(  sJ ‚t        t        t
        z
  t        j                  d¬«      } t        | «      d.k(  sJ ‚t        | «      d/k(  sJ ‚t        t        dd«      t        t
        z
  t        j                  t        t
        z   d¬«      } t        | «      d0k(  sJ ‚t        | «      d1k(  sJ ‚t        t        t
        z   t        dd«      t        j                  t
        t        z
  d¬«      } t        | «      d2k(  sJ ‚t        | «      d3k(  sJ ‚t        t        t
        z   t        dd«      t        dd«      t        d$d4«      d¬«      } t        | «      d5k(  sJ ‚t        | «      d6k(  sJ ‚t        t        dd«      t        t
        z   t        j                  t
        t        z
  d¬«      } t        | «      d7k(  sJ ‚t        | «      d8k(  sJ ‚y )9Nr   r,  Fr@  z0*1u   0â‹…1z1*0u   1â‹…0z1*1u   1â‹…1z1*1*1u	   1â‹…1â‹…1r-  z1*2u   1â‹…2z0 + 1z1*1*2u	   1â‹…1â‹…2z	0 + 0 + 1r]  z1*-1u   1â‹…-1g      ð?z1.0*xu   1.0â‹…xr.  z	1*1*2*3*xu   1â‹…1â‹…2â‹…3â‹…xz-1*1u   -1â‹…1r/  z4*3*2*1*0*y*xu   4â‹…3â‹…2â‹…1â‹…0â‹…yâ‹…xz4*3*2*(z + 1)*0*y*xu   4â‹…3â‹…2â‹…(z + 1)â‹…0â‹…yâ‹…xr0  é   z2/3*5/7u	   2/3â‹…5/7z(x + y)*1/2u   (x + y)â‹…1/2zx + y
-----
  2  u   x + y
â”€â”€â”€â”€â”€
  2  z	1*(x + y)u   1â‹…(x + y)z	(x - y)*1u   (x - y)â‹…1z1/2*(x - y)*1*(x + y)u   1/2â‹…(x - y)â‹…1â‹…(x + y)z(x + y)*3/4*1*(y - z)u   (x + y)â‹…3/4â‹…1â‹…(y - z)é   z(x + y)*1*3/4*5/6u   (x + y)â‹…1â‹…3/4â‹…5/6z3/4*(x + y)*1*(y - z)u   3/4â‹…(x + y)â‹…1â‹…(y - z))
r   rž   rÖ   r   rP  rQ  r_  r   r   ÚOne©rÔ   s    rÈ   Útest_Mulri  é  s>  € Üˆq�!˜eÔ$€DÜ�$‹<˜5Ò Ð Ð Ü�4‹=˜GÒ#Ð#Ð#Üˆq�!˜eÔ$€DÜ�$‹<˜5Ò Ð Ð Ü�4‹=˜GÒ#Ð#Ð#Üˆq�!˜eÔ$€DÜ�$‹<˜5Ò Ð Ð Ü�4‹=˜GÒ#Ð#Ð#Üˆq�!�Q Ô'€DÜ�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜KÒ'Ð'Ð'Üˆq�!˜eÔ$€DÜ�$‹<˜5Ò Ð Ð Ü�4‹=˜GÒ#Ð#Ð#Üˆq�!˜eÔ$€DÜ�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜GÒ#Ð#Ð#Üˆq�!�Q Ô'€DÜ�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜KÒ'Ð'Ð'Üˆq�!�Q Ô'€DÜ�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜KÒ'Ð'Ð'Üˆq�"˜uÔ%€DÜ�$‹<˜6Ò!Ð!Ð!Ü�4‹=˜HÒ$Ð$Ð$Üˆs”A Ô&€DÜ�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜IÒ%Ð%Ð%Üˆq�!�Q˜œ1 uÔ-€DÜ�$‹<˜;Ò&Ð&Ð&Ü�4‹=Ð/Ò/Ð/Ð/Üˆr�1˜uÔ%€DÜ�$‹<˜6Ò!Ð!Ð!Ü�4‹=˜HÒ$Ð$Ð$Üˆq�!�Q˜˜1œa¤¨UÔ3€DÜ�$‹<˜?Ò*Ð*Ð*Ü�4‹=Ð7Ò7Ð7Ð7Üˆq�!�Q˜œ!™˜Q¤¤1¨uÔ5€DÜ�$‹<Ð0Ò0Ð0Ð0Ü�4‹=Ð=Ò=Ð=Ð=ÜŒx˜˜1‹~œx¨¨1›~¸Ô>€DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ð'ÜŒq”1‰u”h˜q !“n¨uÔ5€DÜ�$‹<˜=Ò(Ð(Ð(Ü�4‹=˜OÒ+Ð+Ð+ÜŒx˜˜1‹~œq¤1™u¨uÔ5€DÜ�$‹<Ð0Ò0Ð0Ð0Ü�4‹=Ð;Ò;Ð;Ð;ÜŒq�u‰u”aœ!‘e eÔ,€DÜ�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜MÒ)Ð)Ð)ÜŒq”1‰u”a—e‘e eÔ,€DÜ�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜MÒ)Ð)Ð)ÜŒx˜˜1‹~œq¤1™u¤a§e¡e¬Q´©U¸UÔC€DÜ�$‹<Ð2Ò2Ð2Ð2Ü�4‹=Ð9Ò9Ð9Ð9ÜŒq”1‰u”h˜q !“n¤a§e¡e¬Q´©U¸UÔC€DÜ�$‹<Ð2Ò2Ð2Ð2Ü�4‹=Ð9Ò9Ð9Ð9ÜŒq”1‰u”h˜q !“n¤h¨q°!£n´h¸qÀ!³nÈeÔT€DÜ�$‹<Ð.Ò.Ð.Ð.Ü�4‹=Ð5Ò5Ð5Ð5ÜŒx˜˜1‹~œq¤1™u¤a§e¡e¬Q´©U¸UÔC€DÜ�$‹<Ð2Ò2Ð2Ð2Ü�4‹=Ð9Ò9Ð9Ñ9rÇ   c                  ó(  — t        t         dz    t         dt        d«      z  z
  dz   z  t         dz   t         dz   z  z
  «      dk(  sJ ‚t	        t         dz    t         dt        d«      z  z
  dz   z  t         dz   t         dz   z  z
  «      dk(  sJ ‚y )Nr0  r-  zO         2           /         ___    \
- (5 - y)  + (x - 5)*\-x - 2*\/ 2  + 5/uO            2                          
- (5 - y)  + (x - 5)â‹…(-x - 2â‹…âˆš2 + 5))rž   rP  rs   rQ  rÖ   rÆ   rÇ   rÈ   Útest_issue_5524rk  1  s¨   € Ü”Q�B˜‘F�)œa˜R !¤D¨£G¡)™^¨aÑ/Ñ0´Q°B¸±F¼a¸RÀ!¹VÑ3DÑDÓEðòð ð ô ”a�R˜!‘V�9œq˜b 1¤T¨!£W¡9™n¨qÑ0Ñ1´a°R¸!±V¼q¸bÀ1¹fÑ4EÑEÓFðòð ñ rÇ   c                  ój  — t        t        dz  t        z   dz   d¬«      dk(  sJ ‚t        t        dz  t        z   dz   d¬«      dk(  sJ ‚t        dt        z
  d¬«      dk(  sJ ‚t        dt        z
  d¬«      d	k(  sJ ‚t        ddt        z  z
  d¬«      d
k(  sJ ‚t        ddt        z  z
  d¬«      dk(  sJ ‚dt        dz  z  t        dz  z   t        dz  z
  t        dz  z   } t        | d ¬«      dk(  sJ ‚t        | d¬«      dk(  sJ ‚t        | d¬«      dk(  sJ ‚t        t        dz  dz  z
  t        dz  dz  z   t        t        dz  «      z   }d}d}t        |d ¬«      |k(  sJ ‚t	        |d ¬«      |k(  sJ ‚t        |d¬«      |k(  sJ ‚t	        |d¬«      |k(  sJ ‚t        |d¬«      |k(  sJ ‚t	        |d¬«      |k(  sJ ‚y )Nr-  r,  Úlex©rÎ   rH  zrev-lexrG  rJ  rI  rL  rK  r/  r.  z'   4    2    3    2
2*x  - x  + y  + y z' 2    3    2      4
y  + y  - x  + 2*x rf  r0  éx   zS     3    5         
    x    x      / 6\
x - -- + --- + O\x /
    6    120        ue        3    5         
    x    x      âŽ› 6âŽž
x - â”€â”€ + â”€â”€â”€ + OâŽ�x âŽ 
    6    120        )rž   rP  rQ  rF   rÖ   )rÉ   rÔ   rS  rT  s       rÈ   Útest_pretty_orderingrp  ?  s  € Ü”!�Q‘$œ‘(˜Q‘, eÔ,ðòð ð ô
 ”!�Q‘$œ‘(˜Q‘, iÔ0ðòð ð ô
 �!”a‘%˜uÔ%¨Ò1Ð1Ð1Ü�!”a‘%˜yÔ)¨WÒ4Ð4Ð4ä�!�aœ‘c‘' Ô'¨:Ò5Ð5Ð5Ü�!�aœ‘c‘' Ô+¨yÒ8Ð8Ð8à	Œ!ˆQ‰$‰”�A‘‰œ˜1™Ñœq !™tÑ#€AÜ�!˜4Ô ðòð ð ô
 �!˜5Ô!ðòð ð ô
 �!˜9Ô%ðòð ð ô Œq�!‰t�A‰v‰:œ˜1™˜S™Ñ ¤1¤Q¨¡T£7Ñ*€Dðð ðð ô �$˜dÔ# yÒ0Ð0Ð0Ü�4˜tÔ$¨	Ò1Ð1Ð1ä�$˜eÔ$¨	Ò1Ð1Ð1Ü�4˜uÔ%¨Ò2Ð2Ð2ä�$˜iÔ(¨IÒ5Ð5Ð5Ü�4˜yÔ)¨YÒ6Ð6Ñ6rÇ   c                  ó€   — t        t        «      t        t        «      cxk(  rdk(  sJ ‚ J ‚t        t        «      dk(  sJ ‚y )Nr   õ   Î³)rž   r   ÚstrrÖ   rÆ   rÇ   rÈ   Útest_EulerGammart  z  s7   € Ü”*Ó¤¤Z£Ô@°LÒ@Ð@Ñ@Ð@Ð@Ü”:Ó $Ò&Ð&Ñ&rÇ   c                  ó€   — t        t        «      t        t        «      cxk(  rdk(  sJ ‚ J ‚t        t        «      dk(  sJ ‚y )Nr   u   Ï†)rž   r   rs  rÖ   rÆ   rÇ   rÈ   Útest_GoldenRatiorv    s8   € Ü”+Ó¤#¤kÓ"2ÔC°mÒCÐCÑCÐCÐCÜ”;Ó 4Ò'Ð'Ñ'rÇ   c                  óX   — t        t        «      t        t        «      cxk(  rdk(  sJ ‚ J ‚y )NÚG)rž   r   rÖ   rÆ   rÇ   rÈ   Útest_Catalanry  „  s$   € Ü”'‹?œg¤gÓ.Ô5°#Ò5Ð5Ñ5Ð5Ñ5rÇ   c                  óÊ  — t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        dz   z  t        d	z  «      } d
}d}d}d}t        | «      ||fv sJ ‚t	        | «      ||fv sJ ‚y )Nzx = yzx < yzx > yzx <= yu   x â‰¤ yzx >= yu   x â‰¥ yr,  r-  z#  x       2
----- != y 
1 + y      z#  x       2
----- != y 
y + 1      u,     x      2
â”€â”€â”€â”€â”€ â‰  y 
1 + y     u,     x      2
â”€â”€â”€â”€â”€ â‰  y 
y + 1     )
r   rP  rQ  rž   rÖ   r   r   r   r   r   )rÔ   rS  rT  rU  rV  rX  rY  s          rÈ   Útest_pretty_relationalr{  ˆ  sË  € ÜŒa”‹8€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒa”‹8€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒa”‹8€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒa”‹8€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒa”‹8€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒa”�Q‘‰iœ˜A™Ó€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ñ6rÇ   c                  ót   — t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nzx := y)rR   rP  rQ  rž   rÖ   rb  s      rÈ   Útest_Assignmentr}  â  sH   € Ü”aœÓ€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó4  — t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nzx += yzx -= yzx *= yzx /= yzx %= y)	rS   rP  rQ  rž   rÖ   rT   rU   rV   rW   rb  s      rÈ   Útest_AugmentedAssignmentr  ð  s`  € Ü!¤!¤QÓ'€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä!¤!¤QÓ'€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä!¤!¤QÓ'€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä!¤!¤QÓ'€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä!¤!¤QÓ'€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó”  — t         t        dz  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t         t	        dd«      z  t        t	        dd«      z  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        «      dz  t        t        «      dz  z  } d	}d
}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )NrB  rC  rD  r.  r-  rF  z 3/2
y   
----
 5/2
x   u     3/2
y   
â”€â”€â”€â”€
 5/2
x   z'   3   
sin (x)
-------
   2   
tan (x)u5      3   
sin (x)
â”€â”€â”€â”€â”€â”€â”€
   2   
tan (x))rQ  rP  rž   rÖ   r   rr   ru   rb  s      rÈ   Útest_pretty_rationalr�  .  s÷   € ÜŒQ�‰U‰7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒh�q˜!‹nÑœq¤(¨2¨q£/Ñ1Ñ1€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒq‹6�1‰9”Sœ“V˜Q‘YÑ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c            
      óÚ  — dt         z  t        t         «      z   } d}d}d}d}d}t        | «      ||fv sJ ‚t        | «      |||fv sJ ‚t	        t         «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t	        t         t         dz  d	z   z  «      } d
}d}d}d}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚t	        d	t
        t	        t         «      z
  z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dd¬«      }t        |«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        d|z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        |«      «      «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |d	z   «      } d}d}d}d}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚t        |«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        d|z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dd¬«      }t        |«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        d|z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        |«      «      «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |d	z   «      } d }d!}d }d!}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚dt        |t        «      z  } d"}d#}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        d|z  t        «      z  } d$}d%}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        |dz  t        «      z  } d&}d'}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      } d(}d(}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      } d(}d(}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      } d)}d)}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      } d)}d)}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |t         «      } d*}d*}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      } d+}d+}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t!        |«      } d,}d,}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t#        |«      } d-}d-}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t%        |«      } d.}d/}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t%        |t         «      } d0}d1}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t'        t         t
        t(        «      } d2}d2}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t+        t         t
        t(        «      } d3}d3}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t-        t         t
        t(        «      } d4}d4}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t/        t         t
        t(        «      } d5}d5}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t1        t         «      } d6}d6}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t3        d7«      }	t1         |	t         d	z   «      «      } d8}d9}d8}d9}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚ |	t         «      } d:}d:}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚ |	t         t
        «      } d;}d;}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚ |	t         t
        d	z   z  t
        «      } d<}d=}d>}d?}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚ |	t         t         t         t         t         t         z  z  z  z  z  «      } d@}dA}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t5        t         «      dz  } dB}dB}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t1        t6        t8        t:        z  z   «      } dC}dD}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t1        t        t6        t8        t:        z  z   «      «      } dE}dF}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t1         |	d	t1         |	t         «      «      z   «      «      } dG}dH}dI}dJ}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚ |	t         t
        d	z   z  t
        «      } d<}d=}d>}d?}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚t=        d	t
        t=        t         «      z
  z  «      } dK}dL}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t?        d	t
        t?        t         «      z
  z  «      } dM}dN}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚tA        |«      } dO}dO}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚tA        d	d	d	d	d	|z  z   z  z   z  «      } dP}dQ}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚tA        |t         «      } dR}dR}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚tA        |t         dz  «      } dS}dT}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚yU)Vz>Tests for Abs, conjugate, exp, function braces, and factorial.r-  z       x
2*x + e z x      
e  + 2*xu          x
2â‹…x + â„¯ u    x     
â„¯ + 2â‹…xu    x      
â„¯  + 2â‹…xz|x|u   â”‚xâ”‚r,  z#|  x   |
|------|
|     2|
|1 + x |z#|  x   |
|------|
| 2    |
|x  + 1|u?   â”‚  x   â”‚
â”‚â”€â”€â”€â”€â”€â”€â”‚
â”‚     2â”‚
â”‚1 + x â”‚u?   â”‚  x   â”‚
â”‚â”€â”€â”€â”€â”€â”€â”‚
â”‚ 2    â”‚
â”‚x  + 1â”‚z    1    
---------
|y - |x||u7       1    
â”€â”€â”€â”€â”€â”€â”€â”€â”€
â”‚y - â”‚xâ”‚â”‚ÚnT©Úintegerzn!z(2*n)!u   (2â‹…n)!z((n!)!)!z(1 + n)!z(n + 1)!z!nz!(2*n)u   !(2â‹…n)zn!!z(2*n)!!u	   (2â‹…n)!!z((n!!)!!)!!z	(1 + n)!!z	(n + 1)!!z  /n\
2*| |
  \k/u     âŽ›nâŽž
2â‹…âŽœ âŽŸ
  âŽ�kâŽ z  /2*n\
2*|   |
  \ k /u'     âŽ›2â‹…nâŽž
2â‹…âŽœ   âŽŸ
  âŽ� k âŽ z  / 2\
  |n |
2*|  |
  \k /u-     âŽ› 2âŽž
  âŽœn âŽŸ
2â‹…âŽœ  âŽŸ
  âŽ�k âŽ zC 
 nzB 
 nzB (x)
 n   zF 
 nzL 
 nzT 
 nzstieltjes 
         nu   Î³ 
 nzstieltjes (x)
         n   u   Î³ (x)
 n   z
C(x, y, z)z
S(x, y, z)zC'(x, y, z)zS'(x, y, z)z_
xrÉ   z________
f(1 + x)z________
f(x + 1)zf(x)zf(x, y)z# /  x     \
f|-----, y|
 \1 + y   /z# /  x     \
f|-----, y|
 \y + 1   /u9    âŽ›  x     âŽž
fâŽœâ”€â”€â”€â”€â”€, yâŽŸ
 âŽ�1 + y   âŽ u9    âŽ›  x     âŽž
fâŽœâ”€â”€â”€â”€â”€, yâŽŸ
 âŽ�y + 1   âŽ zk / / / / / x\\\\\
 | | | | \x /||||
 | | | \x    /|||
 | | \x       /||
 | \x          /|
f\x             /u»    âŽ› âŽ› âŽ› âŽ› âŽ› xâŽžâŽžâŽžâŽžâŽž
 âŽœ âŽœ âŽœ âŽœ âŽ�x âŽ âŽŸâŽŸâŽŸâŽŸ
 âŽœ âŽœ âŽœ âŽ�x    âŽ âŽŸâŽŸâŽŸ
 âŽœ âŽœ âŽ�x       âŽ âŽŸâŽŸ
 âŽœ âŽ�x          âŽ âŽŸ
fâŽ�x             âŽ z   2   
sin (x)z_     _
a - I*bu   _     _
a - â…ˆâ‹…bz _     _
 a - I*b
e       u     _     _
 a - â…ˆâ‹…b
â„¯       z#___________
 /    ____\
f\1 + f(x)/z#___________
 /____    \
f\f(x) + 1/u+   ___________
 âŽ›    ____âŽž
fâŽ�1 + f(x)âŽ u+   ___________
 âŽ›____    âŽž
fâŽ�f(x) + 1âŽ z;     /     1      \
floor|------------|
     \y - floor(x)/u;   âŽ¢   1   âŽ¥
âŽ¢â”€â”€â”€â”€â”€â”€â”€âŽ¥
âŽ£y - âŒŠxâŒ‹âŽ¦zG       /      1       \
ceiling|--------------|
       \y - ceiling(x)/u;   âŽ¡   1   âŽ¤
âŽ¢â”€â”€â”€â”€â”€â”€â”€âŽ¥
âŽ¢y - âŒˆxâŒ‰âŽ¥zE 
 nzWE         
     1    
 ---------
       1  
 1 + -----
         1
     1 + -
         nuu   E         
     1    
 â”€â”€â”€â”€â”€â”€â”€â”€â”€
       1  
 1 + â”€â”€â”€â”€â”€
         1
     1 + â”€
         nzE (x)
 n   z  /x\
E |-|
 n\2/u     âŽ›xâŽž
E âŽœâ”€âŽŸ
 nâŽ�2âŽ N)!rP  ri   rž   rÖ   rZ   rQ  r   rk   rt   rl   rd   Úkre   r~   r   r€   r‚   r�   rƒ   r„   r_  r…   r‡   r†   r   r
   rr   r`  ra  r   rm   rf   rh   )
rÔ   rU  rV  rX  rY  rZ  rS  rT  rƒ  rÉ   s
             rÈ   Útest_pretty_functionsr‡  j  s¢  € ð Œa‰C”#”a“&‰L€Dðð ðð ðð ðð ðð ô
 �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+°{ÐCÑCÐCÐCäŒq‹6€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒq”!�Q‘$˜‘(‰|Ó€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6äˆq”AœœA›‘JÑÓ €Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆs˜DÔ!€AÜ�Q‹<€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Q�q‘S‹>€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”Yœy¨›|Ó,Ó-€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Q˜‘UÓ€Dðð ð
ð ð
ð ð
ð ô
 �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6ä˜‹?€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä˜˜!™Ó€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆs˜DÔ!€AÜ�a‹=€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�a˜‘c‹?€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”j¤¨A£Ó/Ó0€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�a˜!‘eÓ€Dðð ð
ð ð
ð ð
ð ô
 �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6àŒX�aœ‹^Ñ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒX�a˜‘cœ1ÓÑ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒX�a˜‘dœAÓÑ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�1‹:€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�1‹:€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�‹7€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Q‹<€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Qœ‹?€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Q‹<€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�‹8€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�a‹=€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Q‹<€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Qœ‹?€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A”qœ!Ó€DØ€IØ€IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A”qœ!Ó€DØ€IØ€IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äœœAœqÓ!€DØ€IØ€IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äœœAœqÓ!€DØ€IØ€IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”Q‹<€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�‹€AÜ‘Q”q˜1‘u“XÓ€Dðð ðð ðð ðð ô
 �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6áŒQ‹4€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áŒQ”‹7€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áŒQ”�A‘‰Yœ‹?€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6áŒQ””1”aœœA™‘g‘:‘ÑÓ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒq‹6�1‰9€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”Qœœ1™‘WÓ€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”SœœQœq™S™“\Ó"€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä‘a˜œI¡a¬£d›OÑ+Ó,Ó.€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6áŒQ”�A‘‰Yœ‹?€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6ä�”aœ%¤›(‘lÑ#Ó$€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�1œœG¤A›J™Ñ'Ó(€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�‹8€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä��A˜˜1˜q ™s™7™‘OÑ$Ó%€Dð	ð ð	ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�”A‹;€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�”A�a‘C‹=€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óØ  — t        d«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        dd«      z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        dd«      z  } d	}d
}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  dz   «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚dt        d«      z   t        dd«      z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚ddt        z  z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dt
        z   «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚ddt        dz  z   dt        z   z  z   t        dd«      z  dt        t        dd«      z  z   t        dt        dz  z   «      z  z   } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nr-  z  ___
\/ 2 õ   âˆš2r,  r.  z3 ___
\/ 2 u   3 ___
â•²â•± 2 iè  z1000___
  \/ 2 u   1000___
  â•²â•± 2 z#   ________
  /  2     
\/  x  + 1 u)      ________
  â•±  2     
â•²â•±  x  + 1 r0  z,   ___________
3 /       ___ 
\/  1 + \/ 5  u   3 ________
â•²â•± 1 + âˆš5 zx ___
\/ 2 u   x ___
â•²â•± 2 z  ________
\/ 2 + pi u     _______
â•²â•± 2 + Ï€ r/  zß     ____________              
    /      2        1000___    
   /      x  + 1      \/ x  + 1
4 /   2 + ------  + -----------
\/        x + 2        ________
                      /  2     
                    \/  x  + 3 u       ____________              
    â•±      2        1000___    
   â•±      x  + 1      â•²â•± x  + 1
4 â•±   2 + â”€â”€â”€â”€â”€â”€  + â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
â•²â•±        x + 2        ________
                      â•±  2     
                    â•²â•±  x  + 3 )rs   rž   rÖ   r   rP  r   rb  s      rÈ   Útest_pretty_sqrtrŠ  h  s™  € Ü�‹7€Dðð ð ð ä�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒh�q˜!‹nÑ€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒh�q˜$ÓÑ€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”�1‘�q‘‹>€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%à”�Q“‰Kœ( 1 a›.Ñ(€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àˆq”‰s‰8€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�”B‘‹<€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àØ	ŒAˆq‰D‰�1”q‘5ññ Ü$ Q¨›Nñ+Ø./´!´X¸aÀÓ5FÑ2FÑ.FÌÈQÔQRÐTUÑQUÉXËÑ-VñW€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ón   — t        d«      } d}d}t        | dd¬«      |k(  sJ ‚t        | dd¬«      |k(  sJ ‚y )Nr-  u     ___
â•²â•± 2 r‰  TF)rÏ   Úuse_unicode_sqrt_char)rs   rÒ   )rÔ   Ú
ucode_str1Ú
ucode_str2s      rÈ   Útest_pretty_sqrt_char_knobr�  å  sa   € ä�‹7€Dðð ð ð ä�4 TØ).ô0Ø3=ò>ð >ð >ä�4 TØ)-ô/Ø2<ò=ð =ñ =rÇ   c                  óP   — t        t        d«      «      } d}t        | «      |k(  sJ ‚y )NÚC1u     ____
â•²â•± Câ‚� )rs   r   rÖ   )rÔ   rT  s     rÈ   Ú(test_pretty_sqrt_longsymbol_no_sqrt_charr’  õ  s.   € ä”�t“Ó€Dðð ô
 �4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó€   — t        d«      \  } }t        | |«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )Nzx, yz	d   
 x,yu
   Î´   
 x,y)r   r^   rž   rÖ   ©rP  rQ  rÔ   rS  rT  s        rÈ   Útest_pretty_KroneckerDeltar•   	  sU   € Ü�6‹?�D€A€qÜ˜!˜QÓ€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó  — t        d«      \  } }}}t        dt        ¬«      }t         || dz  dz  «      | |dz  |f«      }d}d}t         || dz  dz  «      | |dz  |f|d|f«      }d	}d
}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚y )Nzn m k lrÉ   ©Úclsr.  r-  uÔ       l           
â”€â”¬â”€â”€â”€â”€â”€â”€â”¬â”€      
 â”‚      â”‚   âŽ› 2âŽž
 â”‚      â”‚   âŽœn âŽŸ
 â”‚      â”‚  fâŽœâ”€â”€âŽŸ
 â”‚      â”‚   âŽ�9 âŽ 
 â”‚      â”‚       
       2        
  n = k         z˜    l           
__________      
 |      |   / 2\
 |      |   |n |
 |      |  f|--|
 |      |   \9 /
 |      |       
       2        
  n = k         r,  u_      m          l           
â”€â”¬â”€â”€â”€â”€â”€â”€â”¬â”€ â”€â”¬â”€â”€â”€â”€â”€â”€â”¬â”€      
 â”‚      â”‚   â”‚      â”‚   âŽ› 2âŽž
 â”‚      â”‚   â”‚      â”‚   âŽœn âŽŸ
 â”‚      â”‚   â”‚      â”‚  fâŽœâ”€â”€âŽŸ
 â”‚      â”‚   â”‚      â”‚   âŽ�9 âŽ 
 â”‚      â”‚   â”‚      â”‚       
  l = 1           2        
             n = k         zû    m          l           
__________ __________      
 |      |   |      |   / 2\
 |      |   |      |   |n |
 |      |   |      |  f|--|
 |      |   |      |   \9 /
 |      |   |      |       
  l = 1           2        
             n = k         )r   r
   r   rž   rÖ   )rƒ  Úmr†  ÚlrÉ   rÔ   Úunicode_strrS  s           rÈ   Útest_pretty_productrœ  	  s¼   € Ü˜Ó#�J€A€qˆ!ˆQÜ�œÔ"€AÜ‘1�a˜‘c˜A‘X“;  A q¡D¨! Ó-€Dð	ð ð	ð ô ‘1�a˜‘c˜A‘X“;  A q¡D¨! ¨q°!°Q¨iÓ8€Dð	ð ð	ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ñ'rÇ   c                  óN  — t        t        t        «      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t        dz   «      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t        dz  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        dz  «      dz  } d	}d
}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        ft        «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        ft        dz  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        fft        dz  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nzx -> xu   x â†¦ xr,  z
x -> x + 1u   x â†¦ x + 1r-  z      2
x -> x u        2
x â†¦ x z          2
/      2\ 
\x -> x / u'           2
âŽ›     2âŽž 
âŽ�x â†¦ x âŽ  z(x, y) -> xu   (x, y) â†¦ xz           2
(x, y) -> x u             2
(x, y) â†¦ x z              2
((x, y),) -> x u                2
((x, y),) â†¦ x )r   rQ  rž   rÖ   rP  rb  s      rÈ   Útest_pretty_Lambdarž  J	  s×  € ä”!”Q‹<€DÜ�$‹<˜8Ò#Ð#Ð#Ü�4‹=˜IÒ%Ð%Ð%ä”!”Q�q‘S‹>€DÜ�$‹<˜<Ò'Ð'Ð'Ü�4‹=˜MÒ)Ð)Ð)ä”!”Q˜‘T‹?€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”!”Q˜‘T‹?˜AÑ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”1”a�&œ!Ó€DØ€IØ€IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”1”a�&œ!˜Q™$Ó€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A”q�6�)œQ ™TÓ"€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó  — t        t        dz
  t        dz   t        «      } t        | «      dk(  sJ ‚t        dt        z  dz   dt        z
  t        «      }t        |«      dk(  sJ ‚t        t        t        dz   t        «      }t        |«      dk(  sJ ‚y )Nr,  u   s - 1
â”€â”€â”€â”€â”€
s + 1r-  r.  u'   2â‹…s + 1
â”€â”€â”€â”€â”€â”€â”€
 3 - p u     p  
â”€â”€â”€â”€â”€
p + 1)r’   ÚsrÖ   Úp)Útf1Útf2Útf3s      rÈ   Útest_pretty_TransferFunctionr¥  •	  s}   € Ü
œ1˜q™5¤! a¡%¬Ó
+€CÜ�3‹<Ð:Ò:Ð:Ð:Ü
˜1œQ™3 ™7 A¬¡E¬1Ó
-€CÜ�3‹<ÐFÒFÐFÐFÜ
œ1œa !™e¤QÓ
'€CÜ�3‹<Ð:Ò:Ð:Ñ:rÇ   c            
      ó’  — t        t        t        z   t        dt        z  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        dz  t        z   t        t        z
  t        «      }t        ddt        «      }t        | |g||gg«      }t        |g| gg«      }t        | | | g|| |gg«      }t        | |g|| g| |  gg«      }t        | |  g|| g| |gg«      }d}	d}
d}d}d}d}t	        t        | |«      «      |	k(  sJ ‚t	        t        | |  «      «      |
k(  sJ ‚t	        t        || t        |  |«      «      «      |k(  sJ ‚t	        t        t        | |«      t        ||«      «      «      |k(  sJ ‚t	        t        ||«      «      |k(  sJ ‚t	        t        t        || «      ||«      «      |k(  sJ ‚y )	Nr-  r.  u…             âŽ› 2    âŽž
âŽ› x + y âŽž âŽœx  + yâŽŸ
âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€âŽŸ
âŽ�x - 2â‹…yâŽ  âŽ�-x + yâŽ un   âŽ›-x + yâŽž âŽ›-x - y âŽž
âŽœâ”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸ
âŽ�x + y âŽ  âŽ�x - 2â‹…yâŽ uõ   âŽ› 2    âŽž                            
âŽœx  + yâŽŸ âŽ› x + y âŽž âŽ›-x - y    x - yâŽž
âŽœâ”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€âŽŸ
âŽ�-x + yâŽ  âŽ�x - 2â‹…yâŽ  âŽ�x - 2â‹…y   x + yâŽ uÙ                     âŽ›         2    âŽž
âŽ› x + y    x - yâŽž âŽœx - y   x  + yâŽŸ
âŽœâ”€â”€â”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€â”€âŽŸ
âŽ�x - 2â‹…y   x + yâŽ  âŽ�x + y   -x + yâŽ u]  âŽ¡ x + y   x - yâŽ¤  âŽ¡ 2    âŽ¤ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€âŽ¥  âŽ¢x  + yâŽ¥ 
âŽ¢x - 2â‹…y  x + yâŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ¢              âŽ¥  âŽ¢-x + yâŽ¥ 
âŽ¢ 2            âŽ¥ â‹…âŽ¢      âŽ¥ 
âŽ¢x  + y     2  âŽ¥  âŽ¢ -2   âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€     â”€  âŽ¥  âŽ¢ â”€â”€â”€  âŽ¥ 
âŽ£-x + y     3  âŽ¦Ï„ âŽ£  3   âŽ¦Ï„u                                                 âŽ›âŽ¡ x + y    x - y âŽ¤    âŽ¡ x - y    x + y âŽ¤ âŽž
                                               âŽœâŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥    âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥ âŽŸ
âŽ¡ x + y   x - yâŽ¤  âŽ¡                    2    âŽ¤  âŽœâŽ¢x - 2â‹…y   x + y âŽ¥    âŽ¢ x + y   x - 2â‹…yâŽ¥ âŽŸ
âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€âŽ¥  âŽ¢ x + y   -x + y  - x  - yâŽ¥  âŽœâŽ¢                âŽ¥    âŽ¢                âŽ¥ âŽŸ
âŽ¢x - 2â‹…y  x + yâŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€â”€âŽ¥  âŽœâŽ¢ 2              âŽ¥    âŽ¢          2     âŽ¥ âŽŸ
âŽ¢              âŽ¥  âŽ¢x - 2â‹…y  x + y    -x + y âŽ¥  âŽœâŽ¢x  + y     -2   âŽ¥    âŽ¢  -2     x  + y âŽ¥ âŽŸ
âŽ¢ 2            âŽ¥ â‹…âŽ¢                         âŽ¥ â‹…âŽœâŽ¢â”€â”€â”€â”€â”€â”€     â”€â”€â”€  âŽ¥  + âŽ¢  â”€â”€â”€    â”€â”€â”€â”€â”€â”€ âŽ¥ âŽŸ
âŽ¢x  + y     2  âŽ¥  âŽ¢ 2                       âŽ¥  âŽœâŽ¢-x + y      3   âŽ¥    âŽ¢   3     -x + y âŽ¥ âŽŸ
âŽ¢â”€â”€â”€â”€â”€â”€     â”€  âŽ¥  âŽ¢x  + y    -2      x - y  âŽ¥  âŽœâŽ¢                âŽ¥    âŽ¢                âŽ¥ âŽŸ
âŽ£-x + y     3  âŽ¦Ï„ âŽ¢â”€â”€â”€â”€â”€â”€    â”€â”€â”€     â”€â”€â”€â”€â”€  âŽ¥  âŽœâŽ¢-x + y   -x - y âŽ¥    âŽ¢-x - y   -x + y âŽ¥ âŽŸ
                  âŽ£-x + y     3      x + y  âŽ¦Ï„ âŽœâŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥    âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€ âŽ¥ âŽŸ
                                               âŽ�âŽ£x + y    x - 2â‹…yâŽ¦Ï„   âŽ£x - 2â‹…y  x + y  âŽ¦Ï„âŽ )	r’   rP  rQ  r”   rÖ   r•   r–   r—   r˜   )r¢  r£  r¤  Útf4Útfm1Útfm2Útfm3Útfm4Útfm5Ú	expected1Ú	expected2Ú	expected3Ú	expected4Ú	expected5Ú	expected6s                  rÈ   Útest_pretty_Seriesr³  ž	  sð  € Ü
œ1œq™5¤! a¬¡c¡'¬1Ó
-€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1˜a™4¤!™8¤Q¬¡U¬AÓ
.€CÜ
˜1˜a¤Ó
#€Cä! C¨ :°°S¨zÐ":Ó;€DÜ! C 5¨C¨4¨& /Ó2€DÜ! C¨#¨°¨tÐ#4°s¸S¸DÀ#Ð6FÐ"GÓH€DÜ! C¨ :°°c°T¨{¸c¸TÀCÀ4¸LÐ"IÓJ€DÜ! S D¨3¨$ <°#¸°t°¸sÀC¸jÐ"IÓJ€Dðð ðð ðð ðð ð	ð ðð ô  ”6˜#˜sÓ#Ó$¨	Ò1Ð1Ð1Ü”6˜3˜$  Ó%Ó&¨)Ò3Ð3Ð3Ü”6˜#˜s¤H¨c¨T°3Ó$7Ó8Ó9¸YÒFÐFÐFÜ”6œ( 3¨Ó,¬h°s¸CÓ.@ÓAÓBÀiÒOÐOÐOÜ”:˜d DÓ)Ó*¨iÒ7Ð7Ð7Ü”:œl¨4°$°Ó7¸¸tÓDÓEÈÒRÐRÑRrÇ   c            
      ó¶  — t        t        t        z   t        dt        z  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        dz  t        z   t        t        z
  t        «      }t        t        dz  t        z
  t        dz  t        z   t        «      }t        | |g|| g| |  gg«      }t        | |  g|| g| |gg«      }t        |  |g| |g|| gg«      }t        |  | g| | gg«      }d}d}	d}
d}d}d}t	        t        | |«      «      |k(  sJ ‚t	        t        | |  «      «      |	k(  sJ ‚t	        t        || t        |  |«      «      «      |
k(  sJ ‚t	        t        t        | |«      t        ||«      «      «      |k(  sJ ‚t	        t        | | |«      «      |k(  sJ ‚t	        t        t        || «      |«      «      |k(  sJ ‚y )	Nr-  r.  uI    x + y    x - y
â”€â”€â”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€
x - 2â‹…y   x + yuN   -x + y   -x - y 
â”€â”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€â”€â”€
x + y    x - 2â‹…yuã    2                                  
x  + y    x + y    âŽ›-x - y âŽž âŽ›x - yâŽž
â”€â”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€â”€â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ
-x + y   x - 2â‹…y   âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ uû                               âŽ› 2    âŽž
âŽ› x + y âŽž âŽ›x - yâŽž   âŽ›x - yâŽž âŽœx  + yâŽŸ
âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ + âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€âŽŸ
âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ    âŽ�x + yâŽ  âŽ�-x + yâŽ uÊ  âŽ¡ x + y   -x + y âŽ¤    âŽ¡ x - y    x + y âŽ¤    âŽ¡ x + y    x - y âŽ¤ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€ âŽ¥    âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥    âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥ 
âŽ¢x - 2â‹…y  x + y  âŽ¥    âŽ¢ x + y   x - 2â‹…yâŽ¥    âŽ¢x - 2â‹…y   x + y âŽ¥ 
âŽ¢                âŽ¥    âŽ¢                âŽ¥    âŽ¢                âŽ¥ 
âŽ¢ 2            2 âŽ¥    âŽ¢     2    2     âŽ¥    âŽ¢ 2            2 âŽ¥ 
âŽ¢x  + y   x - y  âŽ¥    âŽ¢x - y    x  + y âŽ¥    âŽ¢x  + y   x - y  âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€ âŽ¥  + âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€ âŽ¥  + âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€ âŽ¥ 
âŽ¢-x + y    3     âŽ¥    âŽ¢ 3       -x + y âŽ¥    âŽ¢-x + y    3     âŽ¥ 
âŽ¢         x  + x âŽ¥    âŽ¢x  + x          âŽ¥    âŽ¢         x  + x âŽ¥ 
âŽ¢                âŽ¥    âŽ¢                âŽ¥    âŽ¢                âŽ¥ 
âŽ¢-x + y   -x - y âŽ¥    âŽ¢-x - y   -x + y âŽ¥    âŽ¢-x + y   -x - y âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥    âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€ âŽ¥    âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ£x + y    x - 2â‹…yâŽ¦Ï„   âŽ£x - 2â‹…y  x + y  âŽ¦Ï„   âŽ£x + y    x - 2â‹…yâŽ¦Ï„u�  âŽ¡ x - y    x + y âŽ¤                        âŽ¡-x + y   -x - y  âŽ¤ 
âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥                        âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€ âŽ¥ 
âŽ¢ x + y   x - 2â‹…yâŽ¥  âŽ¡-x - y    -x + yâŽ¤    âŽ¢x + y    x - 2â‹…y âŽ¥ 
âŽ¢                âŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€âŽ¥    âŽ¢                 âŽ¥ 
âŽ¢     2    2     âŽ¥  âŽ¢x - 2â‹…y   x + y âŽ¥    âŽ¢      2     2    âŽ¥ 
âŽ¢x - y    x  + y âŽ¥  âŽ¢                âŽ¥    âŽ¢-x + y   - x  - yâŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€ âŽ¥ â‹…âŽ¢   2           2âŽ¥  + âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ¢ 3       -x + y âŽ¥  âŽ¢- x  - y  x - y âŽ¥    âŽ¢ 3        -x + y âŽ¥ 
âŽ¢x  + x          âŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€âŽ¥    âŽ¢x  + x           âŽ¥ 
âŽ¢                âŽ¥  âŽ¢ -x + y    3    âŽ¥    âŽ¢                 âŽ¥ 
âŽ¢-x - y   -x + y âŽ¥  âŽ£          x  + xâŽ¦Ï„   âŽ¢ x + y    x - y  âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€ âŽ¥                        âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€  âŽ¥ 
âŽ£x - 2â‹…y  x + y  âŽ¦Ï„                       âŽ£x - 2â‹…y   x + y  âŽ¦Ï„)	r’   rP  rQ  r”   rÖ   r–   r•   r˜   r—   )r¢  r£  r¤  r§  r¨  r©  rª  r«  r­  r®  r¯  r°  r±  r²  s                 rÈ   Útest_pretty_Parallelrµ  è	  sö  € Ü
œ1œq™5¤! a¬¡c¡'¬1Ó
-€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1˜a™4¤!™8¤Q¬¡U¬AÓ
.€CÜ
œ1˜a™4¤!™8¤Q¨¡T¬A¡X¬qÓ
1€Cä! C¨ :°°c°T¨{¸c¸TÀCÀ4¸LÐ"IÓJ€DÜ! S D¨3¨$ <°#¸°t°¸sÀC¸jÐ"IÓJ€DÜ! S D¨# ;°#°°s°¸cÀ3¸ZÐ"HÓI€DÜ! S D¨3¨$ <°3°$¸¸°Ð">Ó?€Dðð ðð ðð ðð ðð ð"ð ô  ”8˜C Ó%Ó&¨)Ò3Ð3Ð3Ü”8˜S˜D 3 $Ó'Ó(¨IÒ5Ð5Ð5Ü”8˜C ¤f¨c¨T°3Ó&7Ó8Ó9¸YÒFÐFÐFÜ”8œF 3¨Ó,¬f°S¸#Ó.>Ó?Ó@ÀIÒMÐMÐMÜ”<  ¨ u¨dÓ3Ó4¸	ÒAÐAÐAÜ”<¤
¨4°$°Ó 7¸Ó>Ó?À9ÒLÐLÑLrÇ   c                  óL  — t        ddt        «      } t        t        t        z   t        dt        z  z
  t        «      }t        t        t        z
  t        t        z   t        «      }t        t        dz  dt        z  z
  dz   t        dz   t        «      }t        t        dt        dz  z  z
  t        t        z   t        «      }t        dt        z
  t        t        z
  t        «      }t        ddt        «      }d}d}d}	d}
d	}d
}d}d}d}d}t        t	        | |«      «      |k(  sJ ‚t        t	        | ||z  |z  «      «      |k(  sJ ‚t        t	        |||z  |z  «      «      |	k(  sJ ‚t        t	        ||z  | «      «      |
k(  sJ ‚t        t	        ||z  |«      «      |k(  sJ ‚t        t	        ||z  ||z  «      «      |k(  sJ ‚t        t	        ||«      «      |k(  sJ ‚t        t	        || «      «      |k(  sJ ‚t        t	        ||z  |d«      «      |k(  sJ ‚t        t	        || d«      «      |k(  sJ ‚y )Nr,  r-  r0  r.  u§        âŽ›1âŽž     
     âŽœâ”€âŽŸ     
     âŽ�1âŽ      
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
1   âŽ› x + y âŽž
â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - 2â‹…yâŽ uß                  âŽ›1âŽž                 
                âŽœâ”€âŽŸ                 
                âŽ�1âŽ                  
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
                      âŽ› 2          âŽž
1   âŽ›x - yâŽž âŽ› x + y âŽž âŽœy  - 2â‹…y + 1âŽŸ
â”€ + âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ
1   âŽ�x + yâŽ  âŽ�x - 2â‹…yâŽ  âŽ�   y + 5    âŽ uU                   âŽ› x + y âŽž                  
                 âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸ                  
                 âŽ�x - 2â‹…yâŽ                   
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
                      âŽ› 2          âŽž        
1   âŽ› x + y âŽž âŽ›x - yâŽž âŽœy  - 2â‹…y + 1âŽŸ âŽ›1 - xâŽž
â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ  âŽ�   y + 5    âŽ  âŽ�x - yâŽ u-    âŽ› x + y âŽž âŽ›x - yâŽž  
  âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ  
  âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ   
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
1   âŽ› x + y âŽž âŽ›x - yâŽž
â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ u�        âŽ› x + y âŽž âŽ›x - yâŽž      
      âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ      
      âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ       
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
1   âŽ› x + y âŽž âŽ›x - yâŽž âŽ›1 - xâŽž
â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ  âŽ�x - yâŽ u¨             âŽ› 2          âŽž                   
           âŽœy  - 2â‹…y + 1âŽŸ âŽ›1 - xâŽž           
           âŽœâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ           
           âŽ�   y + 5    âŽ  âŽ�x - yâŽ            
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
    âŽ› 2          âŽž                          
1   âŽœy  - 2â‹…y + 1âŽŸ âŽ›1 - xâŽž âŽ›x - yâŽž âŽ› x + y âŽž
â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸ
1   âŽ�   y + 5    âŽ  âŽ�x - yâŽ  âŽ�x + yâŽ  âŽ�x - 2â‹…yâŽ u$      âŽ›       3âŽž    
    âŽœx - 2â‹…y âŽŸ    
    âŽœâ”€â”€â”€â”€â”€â”€â”€â”€âŽŸ    
    âŽ� x + y  âŽ     
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
    âŽ›       3âŽž    
1   âŽœx - 2â‹…y âŽŸ âŽ›2âŽž
â”€ + âŽœâ”€â”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€âŽŸ
1   âŽ� x + y  âŽ  âŽ�2âŽ u—     âŽ›1 - xâŽž  
  âŽœâ”€â”€â”€â”€â”€âŽŸ  
  âŽ�x - yâŽ   
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
1   âŽ›1 - xâŽž
â”€ + âŽœâ”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - yâŽ u�        âŽ› x + y âŽž âŽ›x - yâŽž      
      âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ      
      âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ       
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
1   âŽ› x + y âŽž âŽ›x - yâŽž âŽ›1 - xâŽž
â”€ - âŽœâ”€â”€â”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸâ‹…âŽœâ”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - 2â‹…yâŽ  âŽ�x + yâŽ  âŽ�x - yâŽ u—     âŽ›1 - xâŽž  
  âŽœâ”€â”€â”€â”€â”€âŽŸ  
  âŽ�x - yâŽ   
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
1   âŽ›1 - xâŽž
â”€ - âŽœâ”€â”€â”€â”€â”€âŽŸ
1   âŽ�x - yâŽ )r’   rQ  rP  rÖ   r“   )Útfr¢  r£  r¤  r§  Útf5Útf6r­  r®  r¯  r°  r±  r²  Ú	expected7Ú	expected8Ú	expected9Ú
expected10s                    rÈ   Útest_pretty_Feedbackr¾  6
  s6  € Ü	˜!˜Q¤Ó	"€BÜ
œ1œq™5¤! a¬¡c¡'¬1Ó
-€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1˜a™4 !¤A¡#™:¨™>¬1¨q©5´!Ó
4€CÜ
œ1˜q¤ A¡™v™:¤q¬1¡u¬aÓ
0€CÜ
˜1œq™5¤!¤a¡%¬Ó
+€CÜ
˜1˜a¤Ó
#€Cðð ð	ð ð	ð ðð ðð ð
ð ð
ð ðð ðð ðð ô ”8˜B Ó$Ó%¨Ò2Ð2Ð2Ü”8˜B  C¡¨¡Ó,Ó-°Ò:Ð:Ð:Ü”8˜C  S¡¨¡Ó-Ó.°)Ò;Ð;Ð;Ü”8˜C ™G RÓ(Ó)¨YÒ6Ð6Ð6Ü”8˜C ™G SÓ)Ó*¨iÒ7Ð7Ð7Ü”8˜C ™G S¨¡WÓ-Ó.°)Ò;Ð;Ð;Ü”8˜C Ó%Ó&¨)Ò3Ð3Ð3Ü”8˜C Ó$Ó%¨Ò2Ð2Ð2ä”8˜C ™G S¨!Ó,Ó-°Ò:Ð:Ð:Ü”8˜C  QÓ'Ó(¨JÒ6Ð6Ñ6rÇ   c                  ó„  — t        t        t        z   t        dt        z  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        | |g|| gg«      }t        || g| |gg«      }t        | | g||gg«      }d}d}t	        t        ||d«      «      |k(  sJ ‚t	        t        ||z  |«      «      |k(  sJ ‚y )Nr-  uü  âŽ›    âŽ¡ x + y    x - y âŽ¤  âŽ¡ x - y    x + y âŽ¤ âŽž-1   âŽ¡ x + y    x - y âŽ¤ 
âŽœ    âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥  âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥ âŽŸ     âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥ 
âŽœ    âŽ¢x - 2â‹…y   x + y âŽ¥  âŽ¢ x + y   x - 2â‹…yâŽ¥ âŽŸ     âŽ¢x - 2â‹…y   x + y âŽ¥ 
âŽœI - âŽ¢                âŽ¥ â‹…âŽ¢                âŽ¥ âŽŸ   â‹… âŽ¢                âŽ¥ 
âŽœ    âŽ¢ x - y    x + y âŽ¥  âŽ¢ x + y    x - y âŽ¥ âŽŸ     âŽ¢ x - y    x + y âŽ¥ 
âŽœ    âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥ âŽŸ     âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ�    âŽ£ x + y   x - 2â‹…yâŽ¦Ï„ âŽ£x - 2â‹…y   x + y âŽ¦Ï„âŽ      âŽ£ x + y   x - 2â‹…yâŽ¦Ï„uº  âŽ›    âŽ¡ x + y    x - y âŽ¤  âŽ¡ x - y    x + y âŽ¤  âŽ¡ x + y    x + y âŽ¤ âŽž-1   âŽ¡ x + y    x - y âŽ¤  âŽ¡ x - y    x + y âŽ¤ 
âŽœ    âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥  âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€âŽ¥ âŽŸ     âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥  âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽœ    âŽ¢x - 2â‹…y   x + y âŽ¥  âŽ¢ x + y   x - 2â‹…yâŽ¥  âŽ¢x - 2â‹…y  x - 2â‹…yâŽ¥ âŽŸ     âŽ¢x - 2â‹…y   x + y âŽ¥  âŽ¢ x + y   x - 2â‹…yâŽ¥ 
âŽœI + âŽ¢                âŽ¥ â‹…âŽ¢                âŽ¥ â‹…âŽ¢                âŽ¥ âŽŸ   â‹… âŽ¢                âŽ¥ â‹…âŽ¢                âŽ¥ 
âŽœ    âŽ¢ x - y    x + y âŽ¥  âŽ¢ x + y    x - y âŽ¥  âŽ¢ x - y    x - y âŽ¥ âŽŸ     âŽ¢ x - y    x + y âŽ¥  âŽ¢ x + y    x - y âŽ¥ 
âŽœ    âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥  âŽ¢ â”€â”€â”€â”€â”€    â”€â”€â”€â”€â”€ âŽ¥ âŽŸ     âŽ¢ â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€â”€â”€âŽ¥  âŽ¢â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€ âŽ¥ 
âŽ�    âŽ£ x + y   x - 2â‹…yâŽ¦Ï„ âŽ£x - 2â‹…y   x + y âŽ¦Ï„ âŽ£ x + y    x + y âŽ¦Ï„âŽ      âŽ£ x + y   x - 2â‹…yâŽ¦Ï„ âŽ£x - 2â‹…y   x + y âŽ¦Ï„r,  )r’   rP  rQ  r”   rÖ   r™   )r¢  r£  Útfm_1Útfm_2Útfm_3r­  r®  s          rÈ   Útest_pretty_MIMOFeedbackrÃ  µ
  sÕ   € Ü
œ1œq™5¤! a¬¡c¡'¬1Ó
-€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ" S¨# J°°c°
Ð#;Ó<€EÜ" S¨# J°°c°
Ð#;Ó<€EÜ" S¨# J°°c°
Ð#;Ó<€Eðð ðð ô ”<  u¨aÓ0Ó1Øòð ð ä”<  e¡¨UÓ3Ó4Øòð ñ rÇ   c            	      ó8  — t        t        t        z   t        dt        z  z
  t        «      } t        t        t        z
  t        t        z   t        «      }t        t        dz  dt        z  z
  dz   t        dz   t        «      }t        t        t        dz  t        z   dz   t        «      }t        dt        z
  t        t        z
  t        «      }t        ddt        «      }d}d}d}d}	d}
t        t	        | g|gg«      «      |k(  sJ ‚t        t	        | g|g| gg«      «      |k(  sJ ‚t        t	        | |g||g||gg«      «      |k(  sJ ‚t        t	        || |g| | | gg«      «      |	k(  sJ ‚t        t	        t        || «      | |gt        ||«      | | gg«      «      |
k(  sJ ‚y )	Nr-  r,  r0  uƒ   âŽ¡ x + y âŽ¤ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ¢x - 2â‹…yâŽ¥ 
âŽ¢       âŽ¥ 
âŽ¢ x - y âŽ¥ 
âŽ¢ â”€â”€â”€â”€â”€ âŽ¥ 
âŽ£ x + y âŽ¦Ï„u@  âŽ¡    x + y     âŽ¤ 
âŽ¢   â”€â”€â”€â”€â”€â”€â”€    âŽ¥ 
âŽ¢   x - 2â‹…y    âŽ¥ 
âŽ¢              âŽ¥ 
âŽ¢    x - y     âŽ¥ 
âŽ¢    â”€â”€â”€â”€â”€     âŽ¥ 
âŽ¢    x + y     âŽ¥ 
âŽ¢              âŽ¥ 
âŽ¢   2          âŽ¥ 
âŽ¢- y  + 2â‹…y - 1âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ£    y + 5     âŽ¦Ï„uô  âŽ¡   x + y        x - y   âŽ¤ 
âŽ¢  â”€â”€â”€â”€â”€â”€â”€       â”€â”€â”€â”€â”€   âŽ¥ 
âŽ¢  x - 2â‹…y       x + y   âŽ¥ 
âŽ¢                        âŽ¥ 
âŽ¢ 2                      âŽ¥ 
âŽ¢y  - 2â‹…y + 1      y     âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ¢   y + 5       2        âŽ¥ 
âŽ¢              x  + x + 1âŽ¥ 
âŽ¢                        âŽ¥ 
âŽ¢   1 - x          2     âŽ¥ 
âŽ¢   â”€â”€â”€â”€â”€          â”€     âŽ¥ 
âŽ£   x - y          2     âŽ¦Ï„uß  âŽ¡    x - y        x + y       y     âŽ¤ 
âŽ¢    â”€â”€â”€â”€â”€       â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ¢    x + y       x - 2â‹…y   2        âŽ¥ 
âŽ¢                         x  + x + 1âŽ¥ 
âŽ¢                                   âŽ¥ 
âŽ¢   2                               âŽ¥ 
âŽ¢- y  + 2â‹…y - 1   x - 1      -2     âŽ¥ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€   â”€â”€â”€â”€â”€      â”€â”€â”€    âŽ¥ 
âŽ£    y + 5        x - y       2     âŽ¦Ï„u²  âŽ¡ x + y  x - y   x + y       y     âŽ¤ 
âŽ¢â”€â”€â”€â”€â”€â”€â”€â‹…â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€  â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽ¥ 
âŽ¢x - 2â‹…y x + y  x - 2â‹…y   2        âŽ¥ 
âŽ¢                        x  + x + 1âŽ¥ 
âŽ¢                                  âŽ¥ 
âŽ¢  1 - x   2     x + y      -2     âŽ¥ 
âŽ¢  â”€â”€â”€â”€â”€ + â”€    â”€â”€â”€â”€â”€â”€â”€     â”€â”€â”€    âŽ¥ 
âŽ£  x - y   2    x - 2â‹…y      2     âŽ¦Ï„)r’   rP  rQ  rÖ   r”   r•   r–   )r¢  r£  r¤  r§  r¸  r¹  r­  r®  r¯  r°  r±  s              rÈ   Ú"test_pretty_TransferFunctionMatrixrÅ  ×
  s¶  € Ü
œ1œq™5¤! a¬¡c¡'¬1Ó
-€CÜ
œ1œq™5¤!¤a¡%¬Ó
+€CÜ
œ1˜a™4 !¤A¡#™:¨™>¬1¨q©5´!Ó
4€CÜ
œ1œa ™d¤Q™h¨™l¬AÓ
.€CÜ
˜1œq™5¤!¤a¡%¬Ó
+€CÜ
˜1˜a¤Ó
#€Cðð ðð ð ð ð"
ð ð	ð ô Ô)¨C¨5°3°%¨.Ó9Ó:¸iÒGÐGÐGÜÔ)¨C¨5°3°%¸3¸$¸Ð*@ÓAÓBÀiÒOÐOÐOÜÔ)¨C°¨:¸¸S°zÀCÈÀ:Ð*NÓOÓPÐT]Ò]Ð]Ð]ÜÔ)¨C°°c¨?¸c¸TÀCÀ4È#ÈÐ<NÐ*OÓPÓQÐU^Ò^Ð^Ð^ÜÔ)¬F°3¸Ó,<¸cÀ3Ð+GÌ(ÐSVÐX[ÓJ\Ð^aÐdgÐcgÐIhÐ*iÓjÓkØòð ñ rÇ   c            
      ó  — t        t        t        g«      t        t        g«      t        t        g«      t        t
        g«      «      } t        ddgddgg«      }t        ddg«      }t        ddgg«      }t        dg«      }t        ||||«      }t        t        ddgddgg«      t        ddgddgg«      t        ddgddgg«      t        ddgddgg«      «      }d}d}d	}	t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚t        |«      |	k(  sJ ‚y )
Nr   r,  g      ø¿rB  ç      à?r-  u,   âŽ¡[a]  [b]âŽ¤
âŽ¢        âŽ¥
âŽ£[c]  [d]âŽ¦uq   âŽ¡âŽ¡0  1âŽ¤  âŽ¡1âŽ¤âŽ¤
âŽ¢âŽ¢    âŽ¥  âŽ¢ âŽ¥âŽ¥
âŽ¢âŽ£1  0âŽ¦  âŽ£0âŽ¦âŽ¥
âŽ¢           âŽ¥
âŽ£[0  1]  [0]âŽ¦uì   âŽ¡âŽ¡-1.5  -2âŽ¤  âŽ¡0.5  0âŽ¤âŽ¤
âŽ¢âŽ¢        âŽ¥  âŽ¢      âŽ¥âŽ¥
âŽ¢âŽ£ 1    0 âŽ¦  âŽ£ 0   1âŽ¦âŽ¥
âŽ¢                    âŽ¥
âŽ¢  âŽ¡0  1âŽ¤     âŽ¡2  2âŽ¤ âŽ¥
âŽ¢  âŽ¢    âŽ¥     âŽ¢    âŽ¥ âŽ¥
âŽ£  âŽ£0  2âŽ¦     âŽ£1  1âŽ¦ âŽ¦)rš   r6   r`  ra  ÚcÚdrÖ   )
Úss1ÚAÚBÚCÚDÚss2Úss3r­  r®  r¯  s
             rÈ   Útest_pretty_StateSpacerÑ  '  s,  € Ü
”VœQ˜C“[¤&¬!¨£+¬v´q°c«{¼FÄAÀ3»KÓ
H€CÜ��A�˜˜A˜ÐÓ €AÜ��1ˆv‹€AÜ��A�ˆxÓ€AÜ�ˆs‹€AÜ
�Q˜˜1˜aÓ
 €CÜ
”V˜d B˜Z¨!¨Q¨Ð0Ó1Ü˜S !˜H q¨! fÐ-Ó.Ü˜Q ˜F Q¨ FÐ+Ó,Ü˜Q ˜F Q¨ FÐ+Ó,ó.€Cðð ðð ðð ô �3‹<˜9Ò$Ð$Ð$Ü�3‹<˜9Ò$Ð$Ð$Ü�3‹<˜9Ò$Ð$Ñ$rÇ   c                  óð  — t        d«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dt        z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  t        dz  z   «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dt        t
        f«      } d}d	}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dt        z  t        t
        f«      } d
}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  t        dz  z   t        t
        ft        t
        f«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nr,  zO(1)z /1\
O|-|
 \x/u    âŽ›1âŽž
OâŽœâ”€âŽŸ
 âŽ�xâŽ r-  z9 / 2    2                  \
O\x  + y ; (x, y) -> (0, 0)/uA    âŽ› 2    2                 âŽž
OâŽ�x  + y ; (x, y) â†’ (0, 0)âŽ zO(1; x -> oo)u   O(1; x â†’ âˆž)z) /1         \
O|-; x -> oo|
 \x         /u5    âŽ›1       âŽž
OâŽœâ”€; x â†’ âˆžâŽŸ
 âŽ�x       âŽ z= / 2    2                    \
O\x  + y ; (x, y) -> (oo, oo)/uE    âŽ› 2    2                 âŽž
OâŽ�x  + y ; (x, y) â†’ (âˆž, âˆž)âŽ )rF   rž   rÖ   rP  rQ  r   rb  s      rÈ   Útest_pretty_orderrÓ  P  sÍ  € ÜˆQ‹4€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆQŒq‰S‹6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒQ�‰T”A�q‘D‰[‹>€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆQ””B�‹=€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆQŒq‰S”1”b�'‹?€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒQ�‰T”A�q‘D‰[œ1œb˜'¤A¤r 7Ó+€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó>  — t        t        t        «      t        d¬«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      t        d¬«      t        z   } d}d}d}d}t        | «      ||fv sJ ‚t	        | «      ||fv sJ ‚t        t        t        t
        z   «      t        z   t        «      } d	}d
}d}d}t        | «      ||fv sJ ‚t	        | «      ||fv sJ t	        | «      «       ‚t        t        t        «      t        dz  z   t        t
        «      } d}d}d}d}d}d}t        | «      |||fv sJ ‚t	        | «      |||fv sJ ‚t        dt        z  t
        z  t
        t        «      t        dz  z   } d}d}d}d}d}d}t        | «      |||fv sJ ‚t	        | «      |||fv sJ ‚t        dt        z  t
        z  t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        dt        z  t
        z  t        d«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        dt        z  t
        z  t        t        t
        «      } d}d }t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        d!«      }	t        d"«      }
 |
|	«      j                  |	«      } d#}d$}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      t        t        f«      } d%}d&}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )'NFr@  z d         
--(log(x))
dx        u$   d         
â”€â”€(log(x))
dx        z,    d         
x + --(log(x))
    dx        z,d             
--(log(x)) + x
dx            u0       d         
x + â”€â”€(log(x))
    dx        u0   d             
â”€â”€(log(x)) + x
dx            z8d                 
--(log(x + y) + x)
dx                z8d                 
--(x + log(x + y))
dx                u@   âˆ‚                 
â”€â”€(log(x + y) + x)
âˆ‚x                u@   âˆ‚                 
â”€â”€(x + log(x + y))
âˆ‚x                r-  zK   2              
  d  /          2\
-----\log(x) + x /
dy dx             zK   2              
  d  / 2         \
-----\x  + log(x)/
dy dx             zK  2               
 d   / 2         \
-----\x  + log(x)/
dy dx             u]      2              
  d  âŽ›          2âŽž
â”€â”€â”€â”€â”€âŽ�log(x) + x âŽ 
dy dx             u]      2              
  d  âŽ› 2         âŽž
â”€â”€â”€â”€â”€âŽ�x  + log(x)âŽ 
dy dx             u]     2               
 d   âŽ› 2         âŽž
â”€â”€â”€â”€â”€âŽ�x  + log(x)âŽ 
dy dx             zG   2             
  d             2
-----(2*x*y) + x 
dx dy            zG        2        
 2     d         
x  + -----(2*x*y)
     dx dy       zG       2         
 2    d          
x  + -----(2*x*y)
     dx dy       u[      2             
  âˆ‚             2
â”€â”€â”€â”€â”€(2â‹…xâ‹…y) + x 
âˆ‚x âˆ‚y            u[           2        
 2     âˆ‚         
x  + â”€â”€â”€â”€â”€(2â‹…xâ‹…y)
     âˆ‚x âˆ‚y       u[          2         
 2    âˆ‚          
x  + â”€â”€â”€â”€â”€(2â‹…xâ‹…y)
     âˆ‚x âˆ‚y       z6 2        
d         
---(2*x*y)
  2       
dx        uD    2        
âˆ‚         
â”€â”€â”€(2â‹…xâ‹…y)
  2       
âˆ‚x        é   z; 17        
d          
----(2*x*y)
  17       
dx         uK    17        
âˆ‚          
â”€â”€â”€â”€(2â‹…xâ‹…y)
  17       
âˆ‚x         zE   3         
  d          
------(2*x*y)
     2       
dy dx        u[      3         
  âˆ‚          
â”€â”€â”€â”€â”€â”€(2â‹…xâ‹…y)
     2       
âˆ‚y âˆ‚x        Úalpharc   z;  d                
------(beta(alpha))
dalpha             u!   d       
â”€â”€(Î²(Î±))
dÎ±      z1 n       
d        
---(f(x))
  n      
dx       u7    n       
d        
â”€â”€â”€(f(x))
  n      
dx       )r	   rp   rP  rž   rÖ   rQ  r   r
   ÚdiffrÉ   rƒ  )rÔ   rS  rT  rU  rV  rX  rY  rW  rZ  rÖ  rc   s              rÈ   Útest_pretty_derivativesrØ  ¦  sö  € ä”cœ!“fœa¨%Ô0€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”cœ!“fœa¨%Ô0´1Ñ4€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6ô ”cœ!œa™%“j¤1‘n¤aÓ(€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6ÐE¼À»ÓEÐ6ô ”cœ!“fœq !™t‘m¤Q¬Ó*€Dðð ðð ðð ðð ðð ðð ô �$‹<˜K¨°kÐBÑBÐBÐBÜ�4‹=˜[¨+°{ÐCÑCÐCÐCä�aœ‘cœ!‘eœQ¤Ó"¤Q¨¡TÑ)€Dðð ðð ðð ðð ðð ðð ô �$‹<˜K¨°kÐBÑBÐBÐBÜ�4‹=˜[¨+°{ÐCÑCÐCÐCä�aœ‘cœ!‘eœQ¤Ó"€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�aœ‘cœ!‘eœQ Ó#€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�aœ‘cœ!‘eœQ¤¤1Ó%€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ô �7‹O€EÜ�FÓ€DÙ�‹;×Ñ˜EÓ"€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”aœ“dœQ¤˜FÓ#€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó’  — t        t        t        «      t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        dz  t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      dz  t        t        «      dz  z  «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        dt        z  z  t        «      } d}d	}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        dz  t        d
df«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        dz  t        t        d
d«      df«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        dz  t        dz  z  t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      t        t        «      z  t        dt        ft        ddt        z  f«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nz@  /         
 |          
 | log(x) dx
 |          
/           u)   âŒ           
âŽ® log(x) dx
âŒ¡          r-  z5  /     
 |      
 |  2   
 | x  dx
 |      
/       u'   âŒ       
âŽ®  2   
âŽ® x  dx
âŒ¡      z}  /          
 |           
 |    2      
 | sin (x)   
 | ------- dx
 |    2      
 | tan (x)   
 |           
/            uv   âŒ            
âŽ®    2      
âŽ® sin (x)   
âŽ® â”€â”€â”€â”€â”€â”€â”€ dx
âŽ®    2      
âŽ® tan (x)   
âŒ¡           zS  /        
 |         
 |  / x\   
 |  \2 /   
 | x     dx
 |         
/          uH   âŒ          
âŽ®  âŽ› xâŽž   
âŽ®  âŽ�2 âŽ    
âŽ® x     dx
âŒ¡         r,  zO  2      
  /      
 |       
 |   2   
 |  x  dx
 |       
/        
1        u7   2      
âŒ       
âŽ®  2   
âŽ® x  dx
âŒ¡      
1      rO  zO 10      
  /      
 |       
 |   2   
 |  x  dx
 |       
/        
1/2      uC   10       
âŒ         
âŽ®    2   
âŽ®   x  dx
âŒ¡        
1/2      zk  /  /           
 |  |            
 |  |  2  2      
 |  | x *y  dx dy
 |  |            
/  /             uQ   âŒ  âŒ             
âŽ® âŽ®  2  2      
âŽ® âŽ® x â‹…y  dx dy
âŒ¡ âŒ¡            r   aC   2*pi pi                           
   /   /                           
  |   |                            
  |   |  sin(theta)                
  |   |  ---------- d(theta) d(phi)
  |   |   cos(phi)                 
  |   |                            
 /   /                             
0    0                             u¬   2â‹…Ï€ Ï€             
 âŒ   âŒ              
 âŽ®  âŽ® sin(Î¸)      
 âŽ®  âŽ® â”€â”€â”€â”€â”€â”€ dÎ¸ dÏ†
 âŽ®  âŽ® cos(Ï†)      
 âŒ¡  âŒ¡             
 0  0             )r,   rp   rP  rž   rÖ   rr   ru   r   rQ  Úthrg   Úphr   rb  s      rÈ   Útest_pretty_integralsrÜ  ³  sœ  € Ü”Cœ“FœAÓ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A�q‘Dœ!Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”Sœ“V˜a‘K¤3¤q£6¨A¡+Ñ-Ó.€Dð
ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A˜œ1™‘IœqÓ!€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A�q‘Dœ1˜a ˜)Ó$€Dð	ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A�q‘Dœ1œh q¨!›n¨bÐ1Ó2€Dð	ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”A�q‘Dœ˜A™‘Iœq¤!Ó$€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”Cœ“GœC¤›G‘O¤b¨!¬R [´2°q¸!¼B¹$°-Ó@€Dð
ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óä  — t        «       } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        ddd„ «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        ddd„ «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  dz   dgt        t        t        z   gg«      } d}d}d	}d
}t        | «      ||fv sJ ‚t        | «      ||fv sJ ‚t        t        t        z  t        t
        gdt        t        t        z  t        z  «      dgg«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚d}t        t        ddd«      Ž } t        | «      |k(  sJ ‚y )Nú[]r-  r   c                  ó   — y©Nr   rÆ   ©ÚiÚjs     rÈ   ú<lambda>z$test_pretty_matrix.<locals>.<lambda>p  ó   � rÇ   c                  ó   — yrà  rÆ   rá  s     rÈ   rä  z$test_pretty_matrix.<locals>.<lambda>u  rå  rÇ   r,  z?[     2       ]
[1 + x     1  ]
[             ]
[  y     x + y]z?[ 2           ]
[x  + 1    1  ]
[             ]
[  y     x + y]uO   âŽ¡     2       âŽ¤
âŽ¢1 + x     1  âŽ¥
âŽ¢             âŽ¥
âŽ£  y     x + yâŽ¦uO   âŽ¡ 2           âŽ¤
âŽ¢x  + 1    1  âŽ¥
âŽ¢             âŽ¥
âŽ£  y     x + yâŽ¦z}[x                 ]
[-     y      theta]
[y                 ]
[                  ]
[    I*k*phi       ]
[0  e           1  ]u}   âŽ¡x           âŽ¤
âŽ¢â”€    y     Î¸âŽ¥
âŽ¢y           âŽ¥
âŽ¢            âŽ¥
âŽ¢    â…ˆâ‹…kâ‹…Ï†   âŽ¥
âŽ£0  â„¯       1âŽ¦u´   âŽ¡vÌ‡_msc_00     0         0    âŽ¤
âŽ¢                            âŽ¥
âŽ¢   0      vÌ‡_msc_01     0    âŽ¥
âŽ¢                            âŽ¥
âŽ£   0         0      vÌ‡_msc_02âŽ¦Úvdot_mscr.  )r6   rž   rÖ   rP  rQ  rÚ  ri   r   r†  rÛ  r7   rŠ   )rÔ   rS  r›  rU  rV  rX  rY  rT  s           rÈ   Útest_pretty_matrixrè  i  sÁ  € ä‹8€DØ€IØ€KÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ð'Ü�!�Q™Ó'€DØ€IØ€KÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ð'Ü�!�Q™Ó'€DØ€IØ€KÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ð'Ü”A�q‘D˜1‘H˜a�=¤1¤a¬!¡e *Ð-Ó.€Dðð ðð ðð ðð ô �$‹<˜K¨Ð5Ñ5Ð5Ð5Ü�4‹=˜[¨+Ð6Ñ6Ð6Ð6ä”A”a‘CœœB�< !¤S¬¬1©¬R©£[°!Ð!4Ð5Ó6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ô ”˜j¨¨1Ó-Ð.€DÜ�4‹=˜KÒ'Ð'Ñ'rÇ   c                  ó‚  — t        d«      \  } }}}t        t        t        t        fD �]•  } || «      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚ |d| z  |g||gg«      } |d| z  ||g«      }t        ||«      }t        ||«      }d}	d}
t        |«      |	k(  sJ ‚t        |«      |
k(  sJ ‚d}	d}
t        |«      |	k(  sJ ‚t        |«      |
k(  sJ ‚d}	d	}
t        |«      |	k(  sJ ‚t        |«      |
k(  sJ ‚d
}	d}
t        |«      |	k(  sJ ‚t        |«      |
k(  sJ ‚ || |d|z  gg«      } || g|gd|z  gg«      } ||j                  «       g«      }d}	d}
t        |«      |	k(  sJ ‚t        |«      |
k(  sJ ‚d}	d}
t        |«      |	k(  sJ ‚t        |«      |
k(  sJ ‚d}	d}
t        |«      |	k(  sJ ‚t        |«      |
k(  r�Œ–J ‚ y )Nzx y z wrP  r,  z"[1   ]
[-  y]
[x   ]
[    ]
[z  w]u8   âŽ¡1   âŽ¤
âŽ¢â”€  yâŽ¥
âŽ¢x   âŽ¥
âŽ¢    âŽ¥
âŽ£z  wâŽ¦z[1      ]
[-  y  z]
[x      ]u+   âŽ¡1      âŽ¤
âŽ¢â”€  y  zâŽ¥
âŽ£x      âŽ¦a  [[1   y]                       ]
[[--  -]              [z      ]]
[[ 2  x]  [ y    2 ]  [-   y*z]]
[[x    ]  [ -   y  ]  [x      ]]
[[     ]  [ x      ]  [       ]]
[[z   w]  [        ]  [ 2     ]]
[[-   -]  [y*z  w*y]  [z   w*z]]
[[x   x]                       ]u‰  âŽ¡âŽ¡1   yâŽ¤                       âŽ¤
âŽ¢âŽ¢â”€â”€  â”€âŽ¥              âŽ¡z      âŽ¤âŽ¥
âŽ¢âŽ¢ 2  xâŽ¥  âŽ¡ y    2 âŽ¤  âŽ¢â”€   yâ‹…zâŽ¥âŽ¥
âŽ¢âŽ¢x    âŽ¥  âŽ¢ â”€   y  âŽ¥  âŽ¢x      âŽ¥âŽ¥
âŽ¢âŽ¢     âŽ¥  âŽ¢ x      âŽ¥  âŽ¢       âŽ¥âŽ¥
âŽ¢âŽ¢z   wâŽ¥  âŽ¢        âŽ¥  âŽ¢ 2     âŽ¥âŽ¥
âŽ¢âŽ¢â”€   â”€âŽ¥  âŽ£yâ‹…z  wâ‹…yâŽ¦  âŽ£z   wâ‹…zâŽ¦âŽ¥
âŽ£âŽ£x   xâŽ¦                       âŽ¦ag  [ [1   y]             ]
[ [--  -]             ]
[ [ 2  x]   [ y    2 ]]
[ [x    ]   [ -   y  ]]
[ [     ]   [ x      ]]
[ [z   w]   [        ]]
[ [-   -]   [y*z  w*y]]
[ [x   x]             ]
[                     ]
[[z      ]  [ w      ]]
[[-   y*z]  [ -   w*y]]
[[x      ]  [ x      ]]
[[       ]  [        ]]
[[ 2     ]  [      2 ]]
[[z   w*z]  [w*z  w  ]]u#  âŽ¡ âŽ¡1   yâŽ¤             âŽ¤
âŽ¢ âŽ¢â”€â”€  â”€âŽ¥             âŽ¥
âŽ¢ âŽ¢ 2  xâŽ¥   âŽ¡ y    2 âŽ¤âŽ¥
âŽ¢ âŽ¢x    âŽ¥   âŽ¢ â”€   y  âŽ¥âŽ¥
âŽ¢ âŽ¢     âŽ¥   âŽ¢ x      âŽ¥âŽ¥
âŽ¢ âŽ¢z   wâŽ¥   âŽ¢        âŽ¥âŽ¥
âŽ¢ âŽ¢â”€   â”€âŽ¥   âŽ£yâ‹…z  wâ‹…yâŽ¦âŽ¥
âŽ¢ âŽ£x   xâŽ¦             âŽ¥
âŽ¢                     âŽ¥
âŽ¢âŽ¡z      âŽ¤  âŽ¡ w      âŽ¤âŽ¥
âŽ¢âŽ¢â”€   yâ‹…zâŽ¥  âŽ¢ â”€   wâ‹…yâŽ¥âŽ¥
âŽ¢âŽ¢x      âŽ¥  âŽ¢ x      âŽ¥âŽ¥
âŽ¢âŽ¢       âŽ¥  âŽ¢        âŽ¥âŽ¥
âŽ¢âŽ¢ 2     âŽ¥  âŽ¢      2 âŽ¥âŽ¥
âŽ£âŽ£z   wâ‹…zâŽ¦  âŽ£wâ‹…z  w  âŽ¦âŽ¦z#[[      1]]
[[x  y  -]]
[[      z]]u=   âŽ¡âŽ¡      1âŽ¤âŽ¤
âŽ¢âŽ¢x  y  â”€âŽ¥âŽ¥
âŽ£âŽ£      zâŽ¦âŽ¦z[x]
[ ]
[y]
[ ]
[1]
[-]
[z]u9   âŽ¡xâŽ¤
âŽ¢ âŽ¥
âŽ¢yâŽ¥
âŽ¢ âŽ¥
âŽ¢1âŽ¥
âŽ¢â”€âŽ¥
âŽ£zâŽ¦z)[[x]]
[[ ]]
[[y]]
[[ ]]
[[1]]
[[-]]
[[z]]uc   âŽ¡âŽ¡xâŽ¤âŽ¤
âŽ¢âŽ¢ âŽ¥âŽ¥
âŽ¢âŽ¢yâŽ¥âŽ¥
âŽ¢âŽ¢ âŽ¥âŽ¥
âŽ¢âŽ¢1âŽ¥âŽ¥
âŽ¢âŽ¢â”€âŽ¥âŽ¥
âŽ£âŽ£zâŽ¦âŽ¦)	r   r«   r¬   r­   r®   rž   rÖ   r¯   Útolist)rP  rQ  r_  ÚwÚ	ArrayTypeÚMÚM1ÚM2ÚM3rS  rT  ÚMrowÚMcolumnÚMcol2s                 rÈ   Útest_pretty_ndim_arraysrô  ½  s‚  € Ü˜Ó#�J€A€qˆ!ˆQä-Ô/GÔI^Ô`vÐwó n+ˆ	á�a‹Lˆä�a‹y˜CÒÐÐÜ�q‹z˜SÒ Ð Ð á˜˜!™˜Q�x ! Q Ð(Ó)ˆÙ˜˜!™˜Q �{Ó#ˆä˜2˜qÓ!ˆÜ˜1˜aÓ ˆðð 	ðð 	ô �a‹y˜IÒ%Ð%Ð%Ü�q‹z˜YÒ&Ð&Ð&ðð 	ðð 	ô �b‹z˜YÒ&Ð&Ð&Ü�r‹{˜iÒ'Ð'Ð'ð	ð 	ð	ð 	ô �b‹z˜YÒ&Ð&Ð&Ü�r‹{˜iÒ'Ð'Ð'ðð 	ð&ð 	ô$ �b‹z˜YÒ&Ð&Ð&Ü�r‹{˜iÒ'Ð'Ð'á˜1˜a  Q¡˜-˜Ó)ˆÙ˜a˜S 1 #¨¨A© wÐ/Ó0ˆÙ˜7Ÿ>™>Ó+Ð,Ó-ˆðð 	ðð 	ô �d‹|˜yÒ(Ð(Ð(Ü�t‹} 	Ò)Ð)Ð)ðð 	ðð 	ô �g‹ )Ò+Ð+Ð+Ü�wÓ 9Ò,Ð,Ð,ðð 	ðð 	ô �e‹} 	Ò)Ð)Ð)Ü�u‹~ Ô*Ð*Ð*ñ]n+rÇ   c                  ó¢   — t        ddd«      } t        ddd«      }t        t        | |«      «      dk(  sJ ‚t        t        | || «      «      dk(  sJ ‚y )NrË  r.  rÌ  u   AâŠ—Bu	   AâŠ—BâŠ—A)rŠ   rÖ   r°   )rË  rÌ  s     rÈ   Útest_tensor_TensorProductrö  q  sU   € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ”=  AÓ&Ó'¨:Ò5Ð5Ð5Ü”=  A qÓ)Ó*Ð.?Ò?Ð?Ñ?rÇ   c                  ó–   — ddl m}  ddlm}  || j                  | j
                  «      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr   )ÚR2)ÚWedgeProductu   â…† xâˆ§â…† yzd x/\d y)Úsympy.diffgeom.rnrø  Úsympy.diffgeomrù  ÚdxÚdyrÖ   rž   )rø  rù  Úwps      rÈ   Ú test_diffgeom_print_WedgeProductrÿ  x  s@   € Ý$Ý+Ù	�b—e‘e˜RŸU™UÓ	#€BÜ�2‹;˜/Ò)Ð)Ð)Ü�"‹:˜Ò$Ð$Ñ$rÇ   c                  óœ  — t        ddd«      } t        ddd«      }t        t        | «      «      dk(  sJ ‚t        t        | |z   «      «      dk(  sJ ‚t        t        | «      t        |«      z   «      dk(  sJ ‚t        t        | |z  «      «      dk(  sJ ‚t        t        |«      t        | «      z  «      dk(  sJ ‚t        t        | dz  «      «      d	k(  sJ ‚t        t        | «      dz  «      d
k(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t	        | «      «      «      dk(  sJ ‚t        t	        t        | «      «      «      dk(  sJ ‚t        t        | «      «      dk(  sJ ‚t        t        | |z   «      «      dk(  sJ ‚t        t        | «      t        |«      z   «      dk(  sJ ‚t        t        | |z  «      «      dk(  sJ ‚t        t        |«      t        | «      z  «      dk(  sJ ‚t        t        | dz  «      «      dk(  sJ ‚t        t        | «      dz  «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t	        | «      «      «      dk(  sJ ‚t        t	        t        | «      «      «      dk(  sJ ‚t        d«      }t        t        |«      «      dk(  sJ ‚t        t        || z   «      «      dk(  sJ ‚t        t        t        t        dd«      | f|t        dd«      ff«      «      «      dk(  sJ ‚y )NÚXr-  ÚYz +
X z       +
(X + Y) z +    +
X  + Y z     +
(X*Y) z +  +
Y *X z    +
/ 2\ 
\X / z    2
/ +\ 
\X / z     +
/ -1\ 
\X  / z    -1
/ +\  
\X /  z    +
/ T\ 
\X / z    T
/ +\ 
\X / u    â€ 
X u          â€ 
(X + Y) u    â€     â€ 
X  + Y u        â€ 
(Xâ‹…Y) u    â€   â€ 
Y â‹…X u       â€ 
âŽ› 2âŽž 
âŽ�X âŽ  u       2
âŽ› â€ âŽž 
âŽ�X âŽ  u        â€ 
âŽ› -1âŽž 
âŽ�X  âŽ  u       -1
âŽ› â€ âŽž  
âŽ�X âŽ   u       â€ 
âŽ› TâŽž 
âŽ�X âŽ  u       T
âŽ› â€ âŽž 
âŽ�X âŽ  ©©r,  r-  )r.  r/  u-         â€ 
âŽ¡1  2âŽ¤ 
âŽ¢    âŽ¥ 
âŽ£3  4âŽ¦ uQ               â€ 
âŽ›âŽ¡1  2âŽ¤    âŽž 
âŽœâŽ¢    âŽ¥ + XâŽŸ 
âŽ�âŽ£3  4âŽ¦    âŽ  uu              â€ 
âŽ¡  ð�Ÿ™     XâŽ¤ 
âŽ¢         âŽ¥ 
âŽ¢âŽ¡1  2âŽ¤   âŽ¥ 
âŽ¢âŽ¢    âŽ¥  ð�Ÿ˜âŽ¥ 
âŽ£âŽ£3  4âŽ¦   âŽ¦ )
rŠ   rž   rˆ   r‰   r‹   rÖ   r6   r�   rŽ   r�   ©r  r  r™  s      rÈ   Útest_Adjointr  €  s\  € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ”'˜!“*Ó Ò)Ð)Ð)Ü”'˜!˜a™%“.Ó!Ð%9Ò9Ð9Ð9Ü”'˜!“*œw q›zÑ)Ó*Ð.@Ò@Ð@Ð@Ü”'˜!˜A™#“,ÓÐ#3Ò3Ð3Ð3Ü”'˜!“*œW Q›ZÑ'Ó(¨NÒ:Ð:Ð:Ü”'˜!˜Q™$“-Ó Ð$;Ò;Ð;Ð;Ü”'˜!“*˜a‘-Ó Ð$;Ò;Ð;Ð;Ü”'œ' !›*Ó%Ó&Ð*DÒDÐDÐDÜ”'œ' !›*Ó%Ó&Ð*DÒDÐDÐDÜ”'œ) A›,Ó'Ó(Ð,CÒCÐCÐCÜ”)œG A›JÓ'Ó(Ð,CÒCÐCÐCÜ”7˜1“:Ó *Ò,Ð,Ð,Ü”7˜1˜q™5“>Ó"Ð&<Ò<Ð<Ð<Ü”7˜1“:¤¨£
Ñ*Ó+Ð/EÒEÐEÐEÜ”7˜1˜Q™3“<Ó Ð$8Ò8Ð8Ð8Ü”7˜1“:œg a›jÑ(Ó)Ð-AÒAÐAÐAÜ”7˜1˜a™4“=Ó!Ø'ò(ð (ð (ä”7˜1“:˜q‘=Ó!Ø'ò(ð (ð (ä”7œ7 1›:Ó&Ó'Ø*ò+ð +ð +ä”7œ7 1›:Ó&Ó'Ø*ò+ð +ð +ä”7œ9 Q›<Ó(Ó)Ø'ò(ð (ð (ä”9œW Q›ZÓ(Ó)Ø'ò(ð (ð (äÐÓ €AÜ”7˜1“:Óð	òð ð ô
 ”7˜1˜Q™3“<Ó ð	 ò ð  ð  ô
 ”7œ;¬°1°a«¸!Ð(<Ø)*¬J°q¸!Ó,<Ð(=ð(?ó @ó Aó Bð	òð ñ rÇ   c                  óŒ  — t        ddd«      } t        ddd«      }t        t        | «      «      dk(  sJ ‚t        t        | |z   «      «      dk(  sJ ‚t        t        | «      t        |«      z   «      dk(  sJ ‚t        t        | |z  «      «      dk(  sJ ‚t        t        |«      t        | «      z  «      dk(  sJ ‚t        t        | dz  «      «      d	k(  sJ ‚t        t        | «      dz  «      d
k(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t        t        t        | «      «      «      dk(  sJ ‚t	        t        | «      «      dk(  sJ ‚t	        t        | |z   «      «      dk(  sJ ‚t	        t        | «      t        |«      z   «      dk(  sJ ‚t	        t        | |z  «      «      dk(  sJ ‚t	        t        |«      t        | «      z  «      dk(  sJ ‚t	        t        | dz  «      «      dk(  sJ ‚t	        t        | «      dz  «      dk(  sJ ‚t	        t        t        | «      «      «      dk(  sJ ‚t	        t        t        | «      «      «      dk(  sJ ‚t        d«      }t	        t        |«      «      dk(  sJ ‚t	        t        || z   «      «      dk(  sJ ‚t	        t        t        t        dd«      | f|t        dd«      ff«      «      «      dk(  sJ ‚y )Nr  r-  r  z T
X z       T
(X + Y) z T    T
X  + Y z     T
(X*Y) z T  T
Y *X z    T
/ 2\ 
\X / z    2
/ T\ 
\X / z     T
/ -1\ 
\X  / z    -1
/ T\  
\X /  u        T
(Xâ‹…Y) u    T  T
Y â‹…X u       T
âŽ› 2âŽž 
âŽ�X âŽ  u       2
âŽ› TâŽž 
âŽ�X âŽ  u        T
âŽ› -1âŽž 
âŽ�X  âŽ  u       -1
âŽ› TâŽž  
âŽ�X âŽ   r  u+         T
âŽ¡1  2âŽ¤ 
âŽ¢    âŽ¥ 
âŽ£3  4âŽ¦ uO               T
âŽ›âŽ¡1  2âŽ¤    âŽž 
âŽœâŽ¢    âŽ¥ + XâŽŸ 
âŽ�âŽ£3  4âŽ¦    âŽ  us              T
âŽ¡  ð�Ÿ™     XâŽ¤ 
âŽ¢         âŽ¥ 
âŽ¢âŽ¡1  2âŽ¤   âŽ¥ 
âŽ¢âŽ¢    âŽ¥  ð�Ÿ˜âŽ¥ 
âŽ£âŽ£3  4âŽ¦   âŽ¦ )	rŠ   rž   r‹   r‰   rÖ   r6   r�   rŽ   r�   r  s      rÈ   Útest_Transposer  ´  sß  € Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ”)˜A“,Ó 8Ò+Ð+Ð+Ü”)˜A ™EÓ"Ó#Ð';Ò;Ð;Ð;Ü”)˜A“,¤¨1£Ñ-Ó.Ð2DÒDÐDÐDÜ”)˜A˜a™C“.Ó!Ð%5Ò5Ð5Ð5Ü”)˜A“,œy¨›|Ñ+Ó,°Ò>Ð>Ð>Ü”)˜A˜q™D“/Ó"Ð&=Ò=Ð=Ð=Ü”)˜A“, ‘/Ó"Ð&=Ò=Ð=Ð=Ü”)œG A›JÓ'Ó(Ð,FÒFÐFÐFÜ”'œ) A›,Ó'Ó(Ð,FÒFÐFÐFÜ”9˜Q“<Ó  HÒ,Ð,Ð,Ü”9˜Q ™UÓ#Ó$Ð(<Ò<Ð<Ð<Ü”9˜Q“<¤)¨A£,Ñ.Ó/Ð3EÒEÐEÐEÜ”9˜Q˜q™S“>Ó"Ð&8Ò8Ð8Ð8Ü”9˜Q“<¤	¨!£Ñ,Ó-Ð1AÒAÐAÐAÜ”9˜Q ™T“?Ó#Ø%ò&ð &ð &ä”9˜Q“< ‘?Ó#Ø%ò&ð &ð &ä”9œW Q›ZÓ(Ó)Ø(ò)ð )ð )ä”7œ9 Q›<Ó(Ó)Ø(ò)ð )ð )äÐÓ €AÜ”9˜Q“<Ó ð	òð ð ô
 ”9˜Q˜q™S“>Ó"ð	 ò ð  ð  ô
 ”9œ[¬9°Q¸«?¸AÐ*>Ø+,¬j¸¸AÓ.>Ð*?ð*Aó Bó Có Dð	òð ñ rÇ   c                  óP  — t        ddgddgg«      } t        ddgddgg«      }d}d}d	}d
}t        t        | «      «      |k(  sJ ‚t        t        | «      «      |k(  sJ ‚t        t        | «      t        |«      z   «      |k(  sJ ‚t        t        | «      t        |«      z   «      |k(  sJ ‚y )Nr,  r-  r.  r/  rf  é   z   /[1  2]\
tr|[    ]|
  \[3  4]/u8     âŽ›âŽ¡1  2âŽ¤âŽž
trâŽœâŽ¢    âŽ¥âŽŸ
  âŽ�âŽ£3  4âŽ¦âŽ zG  /[1  2]\     /[2  4]\
tr|[    ]| + tr|[    ]|
  \[3  4]/     \[6  8]/uw     âŽ›âŽ¡1  2âŽ¤âŽž     âŽ›âŽ¡2  4âŽ¤âŽž
trâŽœâŽ¢    âŽ¥âŽŸ + trâŽœâŽ¢    âŽ¥âŽŸ
  âŽ�âŽ£3  4âŽ¦âŽ      âŽ�âŽ£6  8âŽ¦âŽ )r6   rž   r9   rÖ   )r  r  rU  rX  rV  rY  s         rÈ   Útest_pretty_Trace_issue_9044r  â  sÈ   € Ü��A�˜˜A˜ÐÓ €AÜ��A�˜˜A˜ÐÓ €Aðð ðð ðð ðð ô ”%˜“(Ó˜{Ò*Ð*Ð*Ü”5˜“8Ó Ò+Ð+Ð+ä”%˜“(œU 1›XÑ%Ó&¨+Ò5Ð5Ð5Ü”5˜“8œe A›hÑ&Ó'¨;Ò6Ð6Ñ6rÇ   c                  óp	  — t        dd¬«      } t        d«      \  }}}}}t        d| | «      }t        ddd«      }t        ddd«      }t        |d	d	«      }	t	        |	«      t        |	«      cxk(  rd
k(  sJ ‚ J ‚|||dz   …||dz   …f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|||dz   d…||dz   d…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|d |…|d …f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|d |…|d …f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚||d …d |…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|||…||…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚||||…|||…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚||d |…|d |…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|d ||…d ||…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|d d |…d d |…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚t        |dd«      }	t	        |	«      t        |	«      cxk(  rd
k(  sJ ‚ J ‚t        |d | d fd | d f«      }	t	        |	«      t        |	«      cxk(  rd
k(  sJ ‚ J ‚t        |d| d fd| d f«      }	t	        |	«      t        |	«      cxk(  rd
k(  sJ ‚ J ‚t        |d| dfd| df«      }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|ddd…ddd…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|ddd…ddd…f   }	t	        |	«      t        |	«      cxk(  rdk(  sJ ‚ J ‚|ddd…   }	t	        |	«      t        |	«      cxk(  rd k(  sJ ‚ J ‚|d d…dd!d…f   }	t	        |	«      t        |	«      cxk(  rd"k(  sJ ‚ J ‚|d d…ddd…f   }	t	        |	«      t        |	«      cxk(  rd#k(  sJ ‚ J ‚|dd dd…f   }	t	        |	«      t        |	«      cxk(  rd$k(  sJ ‚ J ‚|dd…dd…f   }	t	        |	«      t        |	«      cxk(  rd%k(  sJ ‚ J ‚|ddd…ddd…f   }	t	        |	«      t        |	«      cxk(  rd&k(  sJ ‚ J ‚||z   dd …dd …f   }	t	        |	«      t        |	«      cxk(  rd'k(  sJ ‚ J ‚y )(Nrƒ  Tr„  z	x y z w tr  r  rO  ÚZ)NNNzX[:, :]r,  zX[x:x + 1, y:y + 1]r-  zX[x:x + 1:2, y:y + 1:2]z	X[:x, y:]z	X[x:, :y]zX[x:y, z:w]zX[x:y:t, w:t:x]zX[x::y, t::w]zX[:x:y, :t:w]zX[::x, ::y])r   NNr   zX[::2, ::2]r.  r/  r0  rf  zX[1:2:3, 4:5:6]r
  zX[1:3:5, 4:6:8]zX[1:10:2, :]é	   zY[:5, 1:9:2]zY[:5, 1::2]zY[5:6, :5:2]z	X[:1, :1]zX[:1:2, :1:2]z(Y + Z)[2:, 2:])r   r   rŠ   r8   rž   rÖ   )
rƒ  rP  rQ  r_  rë  Útr  r  r  rÔ   s
             rÈ   Útest_MatrixSlicer    s‹  € Üˆs˜DÔ!€AÜ˜[Ó)�N€A€qˆ!ˆQ�Ü�S˜!˜QÓ€AÜ�S˜"˜bÓ!€AÜ�S˜"˜bÓ!€Aä�qÐ,Ð.@ÓA€DÜ�$‹<œ7 4›=Ô5¨IÒ5Ð5Ñ5Ð5Ð5ØˆQˆq�1‰uˆW�a˜˜A™�gÐÑ€DÜ�$‹<œ7 4›=ÔAÐ,AÒAÐAÑAÐAÐAØˆQˆq�1‰u�QˆY˜˜!˜a™% ˜	Ð!Ñ"€DÜ�$‹<œ7 4›=ÔEÐ,EÒEÐEÑEÐEÐEØˆRˆaˆR�‘ˆV‰9€DÜ�$‹<œ7 4›=Ô7¨KÒ7Ð7Ñ7Ð7Ð7ØˆRˆaˆR�‘ˆV‰9€DÜ�$‹<œ7 4›=Ô7¨KÒ7Ð7Ñ7Ð7Ð7ØˆQ‰R��!�ˆV‰9€DÜ�$‹<œ7 4›=Ô7¨KÒ7Ð7Ñ7Ð7Ð7ØˆQˆqˆS�!�A�#ˆX‰;€DÜ�$‹<œ7 4›=Ô9¨MÒ9Ð9Ñ9Ð9Ð9ØˆQˆq�ˆU�A�a˜�Eˆ\‰?€DÜ�$‹<œ7 4›=Ô=Ð,=Ò=Ð=Ñ=Ð=Ð=ØˆQˆT�ˆT�1�4�a�4ˆZ‰=€DÜ�$‹<œ7 4›=Ô;¨OÒ;Ð;Ñ;Ð;Ð;ØˆTˆa�ˆT�4�A�a�4ˆZ‰=€DÜ�$‹<œ7 4›=Ô;¨OÒ;Ð;Ñ;Ð;Ð;Ø‰SˆqˆS‘#�A�#ˆX‰;€DÜ�$‹<œ7 4›=Ô9¨MÒ9Ð9Ñ9Ð9Ð9Ü�q˜/¨?Ó;€DÜ�$‹<œ7 4›=Ô5¨IÒ5Ð5Ñ5Ð5Ð5Ü�q˜4  D˜/¨D°!°T¨?Ó;€DÜ�$‹<œ7 4›=Ô5¨IÒ5Ð5Ñ5Ð5Ð5Ü�q˜1˜a ˜,¨¨A¨t¨Ó5€DÜ�$‹<œ7 4›=Ô5¨IÒ5Ð5Ñ5Ð5Ð5Ü�q˜1˜a ˜) a¨¨A YÓ/€DÜ�$‹<œ7 4›=Ô9¨MÒ9Ð9Ñ9Ð9Ð9ØˆQˆq�ˆU�A�a˜�Eˆ\‰?€DÜ�$‹<œ7 4›=Ô=Ð,=Ò=Ð=Ñ=Ð=Ð=ØˆQˆq�ˆU�A�a˜�Eˆ\‰?€DÜ�$‹<œ7 4›=Ô=Ð,=Ò=Ð=Ñ=Ð=Ð=ØˆQˆr�!ˆV‰9€DÜ�$‹<œ7 4›=Ô:¨NÒ:Ð:Ñ:Ð:Ð:ØˆRˆaˆR��1�Q�ˆY‰<€DÜ�$‹<œ7 4›=Ô:¨NÒ:Ð:Ñ:Ð:Ð:ØˆRˆaˆR��2�a�ˆZ‰=€DÜ�$‹<œ7 4›=Ô9¨MÒ9Ð9Ñ9Ð9Ð9ØˆQ���1�ˆW‰:€DÜ�$‹<œ7 4›=Ô:¨NÒ:Ð:Ñ:Ð:Ð:ØˆQˆqˆS�!�A�#ˆX‰;€DÜ�$‹<œ7 4›=Ô7¨KÒ7Ð7Ñ7Ð7Ð7ØˆQˆq�ˆU�A�a˜�Eˆ\‰?€DÜ�$‹<œ7 4›=Ô;¨OÒ;Ð;Ñ;Ð;Ð;Ø�‰E�1‘2�q‘r�6‰?€DÜ�$‹<œ7 4›=Ô=Ð,=Ò=Ð=Ñ=Ð=Ñ=rÇ   c                  ó¦  — t        dd¬«      } t        d| | «      }t        |«      t        |«      cxk(  rdk(  sJ ‚ J ‚|j                  |z  j                  t        «      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        t        dt        z  «      }| |z  j                  |«      }d}d	}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )
Nrƒ  Tr„  r  z)              / T  \
(d -> sin(d)).\X *X/u4                âŽ› T  âŽž
(d â†¦ sin(d))Ë³âŽ�X â‹…XâŽ r,  z,/     1\      
|x -> -|.(n*X)
\     x/      u<   âŽ›    1âŽž      
âŽœx â†¦ â”€âŽŸË³(nâ‹…X)
âŽ�    xâŽ       )	r   rŠ   rž   rÖ   ÚTÚ	applyfuncrr   r   rP  )rƒ  r  rÔ   rS  rT  Úlamdas         rÈ   Útest_MatrixExpressionsr  =  sà   € Üˆs˜DÔ!€AÜ�S˜!˜QÓ€Aä�!‹9œ ›
Ô) cÒ)Ð)Ñ)Ð)Ð)ð �C‰C�‰E×ÑœSÓ!€Dð€Ið€Iô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”1�aœ‘c‹N€EØˆa‰C�?‰?˜5Ó!€Dð€Ið
€Iô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óR  — ddl m}  t        dd¬«      }t        d|d«      }t        d|d«      }t	        dd	g d
¢«      }t	        dd	g d¢«      }t         | ||«      «      dk(  sJ ‚t         | ||«      «      dk(  sJ ‚t         | ||«      «      dk(  sJ ‚t         | ||«      «      dk(  sJ ‚y )Nr   )Ú
DotProductrƒ  Tr„  rË  r,  rÌ  r.  ©r,  r-  r.  )r,  r.  r/  zA*Bz[1  2  3]*[1  3  4]u   Aâ‹…Bu   [1  2  3]â‹…[1  3  4])Ú%sympy.matrices.expressions.dotproductr  r   rŠ   r6   rž   rÖ   )r  rƒ  rË  rÌ  rÍ  rÎ  s         rÈ   Útest_pretty_dotproductr  b  s³   € Ý@Ü�˜TÔ"€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜˆq�!’YÓ€AÜˆq�!’YÓ€Aä‘*˜Q Ó"Ó# uÒ,Ð,Ð,Ü‘*˜Q Ó"Ó#Ð'<Ò<Ð<Ð<Ü‘:˜a Ó#Ó$¨Ò/Ð/Ð/Ü‘:˜a Ó#Ó$Ð(?Ò?Ð?Ñ?rÇ   c                  ór  — ddl m} m}m}m}m} t        d«      }t         | |«      «      dk(  sJ ‚t         |  ||«      «      «      dk(  sJ ‚t        ddd«      }t         | |«      «      dk(  sJ ‚t         | ||z   «      «      d	k(  sJ ‚t         |  | |dd«      |f| |dd«      ff«      «      «      d
k(  sJ ‚y )Nr   )ÚDeterminantr‰   r�   rŽ   r�   r  u    â”‚1  2â”‚
â”‚    â”‚
â”‚3  4â”‚uG   â”‚      -1â”‚
â”‚âŽ¡1  2âŽ¤  â”‚
â”‚âŽ¢    âŽ¥  â”‚
â”‚âŽ£3  4âŽ¦  â”‚r  r-  u   â”‚Xâ”‚u>   â”‚âŽ¡1  2âŽ¤    â”‚
â”‚âŽ¢    âŽ¥ + Xâ”‚
â”‚âŽ£3  4âŽ¦    â”‚ua   â”‚  ð�Ÿ™     Xâ”‚
â”‚         â”‚
â”‚âŽ¡1  2âŽ¤   â”‚
â”‚âŽ¢    âŽ¥  ð�Ÿ˜â”‚
â”‚âŽ£3  4âŽ¦   â”‚)	Úsympy.matricesr  r‰   r�   rŽ   r�   r6   rÖ   rŠ   )r  r‰   r�   rŽ   r�   r™  r  s          rÈ   Útest_pretty_Determinantr  p  sí   € ßWÕWÜÐÓ €AÜ‘;˜q“>Ó"Ð&JÒJÐJÐJÜ‘;™w q›zÓ*Ó+ð	òð ð ô
 	�S˜!˜QÓ€AÜ‘;˜q“>Ó" iÒ/Ð/Ð/Ü‘;˜q 1™uÓ%Ó&ð	òð ð ô ‘;™{©Y°q¸!«_¸aÐ,@Ø-.±
¸1¸aÓ0@Ð,Að,Có  Dó Eó Fð	òð ñ rÇ   c                  ó  — t        t        t        dk  ft        dz  df«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        dk  ft        dz  df«       } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        dkD  ft        df«      z   t        t        t        z  t        dk  ft        dz  t        dkD  fd	«      z   dz   } d
}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        dkD  ft        df«      z
  t        t        t        z  t        dk  ft        dz  t        dkD  fd	«      z   dz   } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        dkD  ft        df«      z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        dkD  ft        df«      t        t        t        z  t        dk  ft        dz  t        dkD  fd	«      z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        dkD  ft        df«       t        t        t        z  t        dk  ft        dz  t        dkD  fd	«      z  } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dt        dt        z  «      dk  fdt        t        «      dk  ft        t        dddt        z  «      z  df«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        dkD  ft        df«      dd¬«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nr,  r-  TzJ/x   for x < 1
|             
< 2           
|x   otherwise
\             uT   âŽ§x   for x < 1
âŽª             
âŽ¨ 2           
âŽªx   otherwise
âŽ©             zY //x   for x < 1\
 ||             |
-|< 2           |
 ||x   otherwise|
 \\             /uw    âŽ›âŽ§x   for x < 1âŽž
 âŽœâŽª             âŽŸ
-âŽœâŽ¨ 2           âŽŸ
 âŽœâŽªx   otherwiseâŽŸ
 âŽ�âŽ©             âŽ r   )r,  Ta‚                        //x            \    
                      ||-   for x < 2|    
                      ||y            |    
    //x  for x > 0\   ||             |    
x + |<            | + |< 2           | + 1
    \\y  otherwise/   ||y   for x > 2|    
                      ||             |    
                      ||1   otherwise|    
                      \\             /    uÌ                        âŽ›âŽ§x            âŽž    
                      âŽœâŽªâ”€   for x < 2âŽŸ    
                      âŽœâŽªy            âŽŸ    
    âŽ›âŽ§x  for x > 0âŽž   âŽœâŽª             âŽŸ    
x + âŽœâŽ¨            âŽŸ + âŽœâŽ¨ 2           âŽŸ + 1
    âŽ�âŽ©y  otherwiseâŽ    âŽœâŽªy   for x > 2âŽŸ    
                      âŽœâŽª             âŽŸ    
                      âŽœâŽª1   otherwiseâŽŸ    
                      âŽ�âŽ©             âŽ     a‚                        //x            \    
                      ||-   for x < 2|    
                      ||y            |    
    //x  for x > 0\   ||             |    
x - |<            | + |< 2           | + 1
    \\y  otherwise/   ||y   for x > 2|    
                      ||             |    
                      ||1   otherwise|    
                      \\             /    uÌ                        âŽ›âŽ§x            âŽž    
                      âŽœâŽªâ”€   for x < 2âŽŸ    
                      âŽœâŽªy            âŽŸ    
    âŽ›âŽ§x  for x > 0âŽž   âŽœâŽª             âŽŸ    
x - âŽœâŽ¨            âŽŸ + âŽœâŽ¨ 2           âŽŸ + 1
    âŽ�âŽ©y  otherwiseâŽ    âŽœâŽªy   for x > 2âŽŸ    
                      âŽœâŽª             âŽŸ    
                      âŽœâŽª1   otherwiseâŽŸ    
                      âŽ�âŽ©             âŽ     z5  //x  for x > 0\
x*|<            |
  \\y  otherwise/uI     âŽ›âŽ§x  for x > 0âŽž
xâ‹…âŽœâŽ¨            âŽŸ
  âŽ�âŽ©y  otherwiseâŽ a(                  //x            \
                ||-   for x < 2|
                ||y            |
//x  for x > 0\ ||             |
|<            |*|< 2           |
\\y  otherwise/ ||y   for x > 2|
                ||             |
                ||1   otherwise|
                \\             /ut                  âŽ›âŽ§x            âŽž
                âŽœâŽªâ”€   for x < 2âŽŸ
                âŽœâŽªy            âŽŸ
âŽ›âŽ§x  for x > 0âŽž âŽœâŽª             âŽŸ
âŽœâŽ¨            âŽŸâ‹…âŽœâŽ¨ 2           âŽŸ
âŽ�âŽ©y  otherwiseâŽ  âŽœâŽªy   for x > 2âŽŸ
                âŽœâŽª             âŽŸ
                âŽœâŽª1   otherwiseâŽŸ
                âŽ�âŽ©             âŽ a1                   //x            \
                 ||-   for x < 2|
                 ||y            |
 //x  for x > 0\ ||             |
-|<            |*|< 2           |
 \\y  otherwise/ ||y   for x > 2|
                 ||             |
                 ||1   otherwise|
                 \\             /u}                   âŽ›âŽ§x            âŽž
                 âŽœâŽªâ”€   for x < 2âŽŸ
                 âŽœâŽªy            âŽŸ
 âŽ›âŽ§x  for x > 0âŽž âŽœâŽª             âŽŸ
-âŽœâŽ¨            âŽŸâ‹…âŽœâŽ¨ 2           âŽŸ
 âŽ�âŽ©y  otherwiseâŽ  âŽœâŽªy   for x > 2âŽŸ
                 âŽœâŽª             âŽŸ
                 âŽœâŽª1   otherwiseâŽŸ
                 âŽ�âŽ©             âŽ ))r-  r,  rÆ   )rÆ   )r,  r   ap  /                                 1     
|            0               for --- < 1
|                                |y|    
|                                       
<            1               for |y| < 1
|                                       
|   __0, 2 /1, 2       | 1\             
|y*/__     |           | -|   otherwise 
\  \_|2, 2 \      0, 1 | y/             u¸  âŽ§                                 1     
âŽª            0               for â”€â”€â”€ < 1
âŽª                                â”‚yâ”‚    
âŽª                                       
âŽ¨            1               for â”‚yâ”‚ < 1
âŽª                                       
âŽª  â•­â”€â•®0, 2 âŽ›1, 2       â”‚ 1âŽž             
âŽªyâ‹…â”‚â•¶â”�     âŽœ           â”‚ â”€âŽŸ   otherwise 
âŽ©  â•°â”€â•¯2, 2 âŽ�      0, 1 â”‚ yâŽ              Fr@  zC               2
//x  for x > 0\ 
|<            | 
\\y  otherwise/ uU                  2
âŽ›âŽ§x  for x > 0âŽž 
âŽœâŽ¨            âŽŸ 
âŽ�âŽ©y  otherwiseâŽ  )r_   rP  rž   rÖ   rQ  rZ   rq   r   rb  s      rÈ   Útest_pretty_piecewiser   ˆ  s  € Ü”aœ˜Q™�Z¤! Q¡$¨ Ó.€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”qœ!˜a™%�j¤1 a¡4¨ ,Ó/Ð/€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒyœ!œQ ™U˜¤a¨ YÓ/Ñ/´)¼Q¼q¹SÄ!ÀaÁ%¸LÜˆ�TŒ1ˆq‰5€M�9ó3ñ Ø !ñ"€Dð
ð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒyœ!œQ ™U˜¤a¨ YÓ/Ñ/´)¼Q¼q¹SÄ!ÀaÁ%¸LÜˆ�TŒ1ˆq‰5€M�9ó3ñ Ø !ñ"€Dð
ð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒYœœ1˜q™5�z¤A t 9Ó-Ñ-€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”aœ˜Q™�Z¤! T Ó+¬I´q¼±s¼AÀ¹E°lÄQÈÁTÌ1ØñLð EØó-ñ €Dð
ð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”qœ!˜a™%�j¤1 d )Ó,Ð,¬Y¼¼!¹¼QÀ¹U°|ÄaÈÁdÌAØ
ñMð FØó.ñ €Dð
ð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�aœ˜Qœq™S› A™Ð&¨¬C´«F°Q©J¨¼!¼Gð EØ˜1œQ™3ó= ñ ; Ø!%ð:'ó (€Dð
ð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ô Œyœ!œQ ™U˜¤a¨ YÓ/°¸UÔC€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óv   — t        t        t        t        «      } t	        | «      dk(  sJ ‚t        | «      dk(  sJ ‚y )Nz)/y    for x  
<            
\z  otherwiseu/   âŽ§y    for x  
âŽ¨            
âŽ©z  otherwise)r/   rP  rQ  r_  rž   rÖ   rh  s    rÈ   Útest_pretty_ITEr"  g  sG   € ÜŒq”!”Q‹<€DÜ�$‹<ð	ò
ð 
ð 
ô
 �4‹=ð ò ð ñ rÇ   c            
      ó  — d} d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚g } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚i } i }d}d}t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚dt        z  f} d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  dt        z  t        t        t	        t
        «      dz  t        t        «      dz  z  g} d	}d
}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  dt        z  t        t        t	        t
        «      dz  t        t        «      dz  z  f} d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  dt        z  t        t        t	        t
        «      dz  t        t        «      dz  z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t	        t        «      i} t        t        t	        t        «      i«      }d}d}t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚dt        z  dt        z  t        t	        t        «      dz  i} t        dt        z  dt        z  t        t	        t        «      dz  i«      }d}d}t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚t        dz  g} d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  f} d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dz  di} t        t        dz  di«      }d}d}t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚t        | «      |k(  sJ ‚t        |«      |k(  sJ ‚y )NrÆ   r1  rÞ  z{}r,  z 1  
(-,)
 x  u   âŽ›1 âŽž
âŽœâ”€,âŽŸ
âŽ�x âŽ r-  z†                 2        
  2  1        sin (theta) 
[x , -, x, y, -----------]
     x            2       
               cos (phi)  u˜   âŽ¡                2   âŽ¤
âŽ¢ 2  1        sin (Î¸)âŽ¥
âŽ¢x , â”€, x, y, â”€â”€â”€â”€â”€â”€â”€âŽ¥
âŽ¢    x           2   âŽ¥
âŽ£             cos (Ï†)âŽ¦z†                 2        
  2  1        sin (theta) 
(x , -, x, y, -----------)
     x            2       
               cos (phi)  u˜   âŽ›                2   âŽž
âŽœ 2  1        sin (Î¸)âŽŸ
âŽœx , â”€, x, y, â”€â”€â”€â”€â”€â”€â”€âŽŸ
âŽœ    x           2   âŽŸ
âŽ�             cos (Ï†)âŽ z{x: sin(x)}z8 1  1        2    
{-: -, x: sin (x)}
 x  y             uH   âŽ§1  1        2   âŽ«
âŽ¨â”€: â”€, x: sin (x)âŽ¬
âŽ©x  y            âŽ­z	  2 
[x ]u   âŽ¡ 2âŽ¤
âŽ£x âŽ¦z  2  
(x ,)u   âŽ› 2 âŽž
âŽ�x ,âŽ z  2    
{x : 1}u#   âŽ§ 2   âŽ«
âŽ¨x : 1âŽ¬
âŽ©     âŽ­)
rž   rÖ   rP  rQ  rr   rÚ  rg   rÛ  r   r   )rÔ   rS  rT  Úexpr_2s       rÈ   Útest_pretty_seqr%  u  sÏ  € Ø€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%à€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%à€DØ€Fðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�&‹>˜YÒ&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%Ü�6‹?˜iÒ'Ð'Ð'àŒa‰Cˆ6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq‰D�!”A‘#”qœ!œS¤›W a™Z¬¬B«°©
Ñ2Ð3€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq‰D�!”A‘#”qœ!œS¤›W a™Z¬¬B«°©
Ñ2Ð3€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”�A‘�qœ‘sœAœq¤#¤b£'¨1¡*¬S´«W°a©ZÑ"7Ó8€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äŒs”1‹vˆ;€DÜ”1”cœ!“f�+Ó€Fðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�&‹>˜YÒ&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%Ü�6‹?˜iÒ'Ð'Ð'àŒa‰C�”1‘”aœœQ› ™Ð#€DÜ�1”Q‘3˜œ!™œQ¤¤A£¨¡	Ð*Ó+€Fðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�&‹>˜YÒ&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%Ü�6‹?˜iÒ'Ð'Ð'ô ˆq‰Dˆ6€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq‰Dˆ7€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”�A‘‹;€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq‰D�!ˆ9€DÜ”1�a‘4˜�)‹_€Fðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�&‹>˜YÒ&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%Ü�6‹?˜iÒ'Ð'Ñ'rÇ   c                  óx  — t        «       } t        t        «       «      }|| g}t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚|| h}t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚|| | |i}t        || | |i«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nz[Basic(Basic()), Basic()]z{Basic(), Basic(Basic())}z2{Basic(): Basic(Basic()), Basic(Basic()): Basic()})r   rž   rÖ   r   )Úb1Úb2rÔ   Úexpr2s       rÈ   Útest_any_object_in_sequencer*  I  s  € ä	‹€BÜ	Œu‹w‹€Bà�ˆ8€DÜ�$‹<Ð6Ò6Ð6Ð6Ü�4‹=Ð7Ò7Ð7Ð7à�ˆ8€DÜ�$‹<Ð6Ò6Ð6Ð6Ü�4‹=Ð7Ò7Ð7Ð7à��B˜Ð€DÜ�"�b˜"˜bÐ!Ó"€EÜ�$‹<ÐOÒOÐOÐOÜØóØFòGð Gð GäØóØEòFð Fð FäØóØFòGð Gñ GrÇ   c                  óx  — t        t        «       «      dk(  sJ ‚t        t        «       «      dk(  sJ ‚t        t        «       «      dk(  sJ ‚t        t        «       «      dk(  sJ ‚dt        z  t        h} t        | «      }t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nzset()zfrozenset()r,  z 1    
{-, x}
 x    u"   âŽ§1   âŽ«
âŽ¨â”€, xâŽ¬
âŽ©x   âŽ­z5           1     
frozenset({-, x})
           x     uO            âŽ›âŽ§1   âŽ«âŽž
frozensetâŽœâŽ¨â”€, xâŽ¬âŽŸ
         âŽ�âŽ©x   âŽ­âŽ )rž   ÚsetrÖ   Ú	frozensetrP  )Ús1Ús2s     rÈ   Útest_print_builtin_setr0  a  sÜ   € Ü”#“%‹=˜GÒ#Ð#Ð#Ü”3“5‹>˜WÒ$Ð$Ð$ä”)“+Ó -Ò/Ð/Ð/Ü”9“;Ó =Ò0Ð0Ð0à
ŒA‰#Œqˆ€BÜ	�2‹€Bä�"‹:ðòð ð ô �2‹;ðòð ð ô �"‹:ðòð ð ô �2‹;ðòð ñ rÇ   c                  ó:  — t         } t         | t        t        z  t        dz  gŽ «      dk(  sJ ‚t         | t	        dd«      Ž «      dk(  sJ ‚t         | t	        dd«      Ž «      dk(  sJ ‚t        t        t        z  t        dz  h«      dk(  sJ ‚t        t        t	        dd«      «      «      dk(  sJ ‚t        t        t	        dd«      «      «      dk(  sJ ‚t        t        t        t        z  t        dz  g«      «      dk(  sJ ‚t        t        t	        dd«      «      «      d	k(  sJ ‚t        t        t	        dd«      «      «      d
k(  sJ ‚t        t        ddd«      «      dk(  sJ ‚d}d}t        t        ddd«      «      |k(  sJ ‚t        t        ddd«      «      |k(  sJ ‚d}d}t        t        ddd«      «      |k(  sJ ‚t        t        ddd«      «      |k(  sJ ‚d}d}t        t        dt        d«      «      |k(  sJ ‚t        t        dt        d«      «      |k(  sJ ‚d}d}t        t        t        dd«      «      |k(  sJ ‚t        t        t        dd«      «      |k(  sJ ‚d}d}t        t        dt         d«      «      |k(  sJ ‚t        t        dt         d«      «      |k(  sJ ‚y )Nr-  z  2      
{x , x*y}r,  rf  z{1, 2, 3, 4, 5}r=  z'{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}z)            2       
frozenset({x , x*y})zfrozenset({1, 2, 3, 4, 5})z2frozenset({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12})r   r.  z	{0, 1, 2}z{0, 1, ..., 29}u   {0, 1, â€¦, 29}é   z{30, 29, ..., 2}u   {30, 29, â€¦, 2}r]  z{0, 2, ...}u   {0, 2, â€¦}z{..., 2, 0}u   {â€¦, 2, 0}rB  z{-2, -3, ...}u   {-2, -3, â€¦})
rN   rž   rP  rQ  Úranger,  r-  rL   rÖ   r   )r   rS  rT  s      rÈ   Útest_pretty_setsr4  †  s¼  € Ü€AÜ‘!”aœ‘cœ1˜a™4�[�/Ó"ðòð ð ô
 ‘!”U˜1˜a“[�/Ó"Ð&7Ò7Ð7Ð7Ü‘!”U˜1˜b“\Ð"Ó#Ð'PÒPÐPÐPä”1”Q‘3œ˜1™�+Óðòð ð ô
 ”#”e˜A˜q“kÓ"Ó#Ð'8Ò8Ð8Ð8Ü”#”e˜A˜r“lÓ#Ó$Ø1ò2ð 2ð 2ô ”)œQœq™S¤! Q¡$˜KÓ(Ó)ðòð ð ô
 ”)œE ! Q›KÓ(Ó)Ð-IÒIÐIÐIÜ”)œE ! R›LÓ)Ó*Ø<ò=ð =ð =ô ”%˜˜1˜a“.Ó! [Ò0Ð0Ð0à!€IØ!€IÜ”%˜˜2˜q“/Ó" iÒ/Ð/Ð/Ü”5˜˜B “?Ó# yÒ0Ð0Ð0à"€IØ"€IÜ”%˜˜A˜rÓ"Ó# yÒ0Ð0Ð0Ü”5˜˜Q Ó#Ó$¨	Ò1Ð1Ð1à€IØ€IÜ”%˜œ2˜q“/Ó" iÒ/Ð/Ð/Ü”5˜œB “?Ó# yÒ0Ð0Ð0à€IØ€IÜ”%œ˜B Ó#Ó$¨	Ò1Ð1Ð1Ü”5œ˜R Ó$Ó%¨Ò2Ð2Ð2à€IØ€IÜ”%˜œR˜C Ó$Ó%¨Ò2Ð2Ð2Ü”5˜œb˜S "Ó%Ó&¨)Ò3Ð3Ñ3rÇ   c                  óz   — t        dd«      } t        | «      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )Nr,  r.  zSetExpr([1, 3]))rP   r¥   rž   rÖ   )ÚivÚserS  rT  s       rÈ   Útest_pretty_SetExprr8  ¾  sD   € Ü	�!�Q‹€BÜ	�‹€BØ!€IØ!€IÜ�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ñ#rÇ   c                  óP  — t        t        t        t        ft        t        z   «      h d£ddh«      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        fft        t        z   «      t        h d£ddh«      «      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        dz  «      t        j                  «      } d	}d
}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        dt        dz  z  «      t        j                  «      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        t        fdt        t        z   dz  z  «      t        j                  t        j                  «      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        d«      t        d«      dz   z  g«      dk(  sJ ‚t        t        t        d«      t        d«      dz   g«      «      dk(  sJ ‚y )N>   r,  r-  r.  r.  r/  z%{x + y | x in {1, 2, 3}, y in {3, 4}}u)   {x + y â”‚ x âˆŠ {1, 2, 3}, y âˆŠ {3, 4}}z&{x + y | (x, y) in {1, 2, 3} x {3, 4}}u*   {x + y â”‚ (x, y) âˆŠ {1, 2, 3} Ã— {3, 4}}r-  z)  2                 
{x  | x in Naturals}u<   âŽ§ 2 â”‚      âŽ«
âŽ¨x  â”‚ x âˆŠ â„•âŽ¬
âŽ©   â”‚      âŽ­r,  zS 1                  
{-- | x in Naturals}
  2                 
 x                  uf   âŽ§1  â”‚      âŽ«
âŽªâ”€â”€ â”‚ x âˆŠ â„•âŽª
âŽ¨ 2 â”‚      âŽ¬
âŽªx  â”‚      âŽª
âŽ©   â”‚      âŽ­z§    1                                    
{-------- | x in Naturals, y in Naturals}
        2                                
 (x + y)                                 u·   âŽ§   1     â”‚             âŽ«
âŽªâ”€â”€â”€â”€â”€â”€â”€â”€ â”‚ x âˆŠ â„•, y âˆŠ â„•âŽª
âŽ¨       2 â”‚             âŽ¬
âŽª(x + y)  â”‚             âŽª
âŽ©         â”‚             âŽ­Úihatrâ  u/   âŽ¡  iÌ‚  âŽ¤
âŽ¢â”€â”€â”€â”€â”€âŽ¥
âŽ£i + 1âŽ¦u%   âŽ¡  iÌ‚  âŽ¤
âŽ¢     âŽ¥
âŽ£i + 1âŽ¦)r£   r   rP  rQ  rž   rÖ   r¤   r   ÚNaturalsr   r6   )ÚimgsetrS  rT  s      rÈ   Útest_pretty_ImageSetr=  Ç  s  € Ü”fœa¤˜V¤Q¬¡UÓ+ªY¸¸A¸Ó?€FØ7€IØ;€IÜ�&‹>˜YÒ&Ð&Ð&Ü�6‹?˜iÒ'Ð'Ð'ä”fœq¤!˜f˜Y¬¬A©Ó.´
º9ÀqÈ!ÀfÓ0MÓN€FØ8€IØ<€IÜ�&‹>˜YÒ&Ð&Ð&Ü�6‹?˜iÒ'Ð'Ð'ä”fœQ¤ 1¡“o¤q§z¡zÓ2€Fð€Ið€Iô �&‹>˜YÒ&Ð&Ð&Ü�6‹?˜iÒ'Ð'Ð'ô ”fœQ ¤! Q¡$¡Ó'¬¯©Ó4€Fð€Ið
€Iô �&‹>˜YÒ&Ð&Ð&Ü�6‹?˜iÒ'Ð'Ð'ä”fœa¤˜V Q¬¬A©°¡z¡\Ó2´A·J±JÄÇ
Á
ÓK€Fð-€Ið
#€Iô �&‹>˜YÒ&Ð&Ð&Ü�6‹?˜iÒ'Ð'Ð'ô ”F˜6“N¤f¨S£k°A¡oÑ6Ð7Ó8ð =ò ð ð ô
 ”6œ6 &›>¬6°#«;¸©?Ð;Ó<Ó=ð Bò ð ñ rÇ   c                  ób  — d} d}t        t        t        t        t	        t        «      d«      t
        j                  «      «      | k(  sJ ‚t        t        t        t        t	        t        «      d«      t
        j                  «      «      |k(  sJ ‚t        t        t        t        t        t
        j                  d¬«      t        d«      «      «      dk(  sJ ‚t        t        t        t        t        t
        j                  d¬«      t        d«      «      «      dk(  sJ ‚t        t        t        t        t        dkD  t        dk  «      t        dd	d
«      «      «      dk(  sJ ‚t        t        t        t        t        dkD  t        dk  «      t        dd	d
«      «      «      dk(  sJ ‚t        t        t        t        t        dkD  t        dk  «      t        dd	«      «      «      dk(  sJ ‚t        t        t        t        t        dkD  t        dk  «      t        dd	«      «      «      dk(  sJ ‚t        t        dt        d	z  z  dkD  «      }d} d}t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚t        t        dt        d	z  z  dkD  t
        j                  «      }d} d}t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚y )Nz#{x | x in (-oo, oo) and sin(x) = 0}u"   {x â”‚ x âˆŠ â„� âˆ§ (sin(x) = 0)}r   Fr@  r,  z{1}r]  r-  r.  ÚEmptySetõ   âˆ…z{2}z3     1      
{x | -- > 0}
      2     
     x      u|   âŽ§  â”‚ âŽ›1     âŽžâŽ«
âŽªx â”‚ âŽœâ”€â”€ > 0âŽŸâŽª
âŽ¨  â”‚ âŽœ 2    âŽŸâŽ¬
âŽª  â”‚ âŽ�x     âŽ âŽª
âŽ©  â”‚         âŽ­z                        1      
{x | x in (-oo, oo) and -- > 0}
                         2     
                        x      uª   âŽ§  â”‚         âŽ›1     âŽžâŽ«
âŽªx â”‚ x âˆŠ â„� âˆ§ âŽœâ”€â”€ > 0âŽŸâŽª
âŽ¨  â”‚         âŽœ 2    âŽŸâŽ¬
âŽª  â”‚         âŽ�x     âŽ âŽª
âŽ©  â”‚                 âŽ­)rž   r¢   rP  r   rr   r   ÚRealsrÖ   rK   rN   r-   r4   )rS  rT  Úcondsets      rÈ   Útest_pretty_ConditionSetrC    s(  € Ø5€IØ4€IÜ”,œq¤"¤S¬£V¨Q£-´·±Ó9Ó:¸iÒGÐGÐGÜ”<¤¤2¤c¬!£f¨a£=´!·'±'Ó:Ó;¸yÒHÐHÐHä”,œq¤(¬1¬a¯g©gÀÔ"FÌ	ÐRSËÓUÓVÐZ_Ò_Ð_Ð_Ü”<¤¤8¬A¬q¯w©wÀÔ#GÌÐSTËÓVÓWÐ[`Ò`Ð`Ð`ä”,œq¤#¤a¨!¡e¬Q°©VÓ"4´iÀÀ1ÀaÓ6HÓIÓJÈjÒXÐXÐXÜ”<¤¤3¤q¨1¡u¬a°"©fÓ#5´yÀÀAÀqÓ7IÓJÓKÈuÒTÐTÐTä”,œq¤"¤Q¨¡U¬A°©FÓ"3´Y¸qÀ!³_ÓEÓFÈ%ÒOÐOÐOÜ”<¤¤2¤a¨!¡e¬Q°©VÓ#4´iÀÀ1³oÓFÓGÈ5ÒPÐPÐPäœ1˜a¤ 1¡™f q™jÓ)€Gð€Ið
€Iô �'‹?˜iÒ'Ð'Ð'Ü�7Ó˜yÒ(Ð(Ð(äœ1˜a¤ 1¡™f q™j¬!¯'©'Ó2€Gð#€Ið
 €Iô �'‹?˜iÒ'Ð'Ð'Ü�7Ó˜yÒ(Ð(Ñ(rÇ   c                  ót  — ddl m}   | t        dd«      t        dd«      z  «      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚ | t        dd	«      t        dd
t
        z  «      z  d¬«      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚ | t        dd	t        d
z  z  «      t        dd«      z  «      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚ | t        dd	t        d
z  z  «      t        dd
t
        z  «      z  d¬«      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚y )Nr   )ÚComplexRegionr.  r0  r/  rf  z#{x + y*I | x, y in [3, 5] x [4, 6]}u+   {x + yâ‹…â…ˆ â”‚ x, y âˆŠ [3, 5] Ã— [4, 6]}r,  r-  T)Úpolarz@{r*(I*sin(theta) + cos(theta)) | r, theta in [0, 1] x [0, 2*pi)}uC   {râ‹…(â…ˆâ‹…sin(Î¸) + cos(Î¸)) â”‚ r, Î¸ âˆŠ [0, 1] Ã— [0, 2â‹…Ï€)}z“                       1            
{x + y*I | x, y in [3, --] x [4, 6]}
                        2           
                       a            uì   âŽ§        â”‚        âŽ¡   1 âŽ¤         âŽ«
âŽªx + yâ‹…â…ˆ â”‚ x, y âˆŠ âŽ¢3, â”€â”€âŽ¥ Ã— [4, 6]âŽª
âŽ¨        â”‚        âŽ¢    2âŽ¥         âŽ¬
âŽª        â”‚        âŽ£   a âŽ¦         âŽª
âŽ©        â”‚                        âŽ­a                                                   1               
{r*(I*sin(theta) + cos(theta)) | r, theta in [0, --] x [0, 2*pi)}
                                                  2              
                                                 a               uD  âŽ§                      â”‚        âŽ¡   1 âŽ¤           âŽ«
âŽªrâ‹…(â…ˆâ‹…sin(Î¸) + cos(Î¸)) â”‚ r, Î¸ âˆŠ âŽ¢0, â”€â”€âŽ¥ Ã— [0, 2â‹…Ï€)âŽª
âŽ¨                      â”‚        âŽ¢    2âŽ¥           âŽ¬
âŽª                      â”‚        âŽ£   a âŽ¦           âŽª
âŽ©                      â”‚                          âŽ­)Úsympy.sets.fancysetsrE  rP   rž   rÖ   r   r`  )rE  ÚcregionrS  rT  s       rÈ   Útest_pretty_ComplexRegionrI  :  sZ  € Ý2ÙœH Q¨›N¬8°A°q«>Ñ9Ó:€GØ5€IØ=€IÜ�'‹?˜iÒ'Ð'Ð'Ü�7Ó˜yÒ(Ð(Ð(áœH Q¨›N¬8°A°q¼±tÓ+<Ñ<ÀDÔI€GØR€IØU€IÜ�'‹?˜iÒ'Ð'Ð'Ü�7Ó˜yÒ(Ð(Ð(áœH Q¨¬!¨Q©$©Ó/´¸¸A³Ñ>Ó?€Gð(€Ið
-€Iô �'‹?˜iÒ'Ð'Ð'Ü�7Ó˜yÒ(Ð(Ð(áœH Q¨¬!¨Q©$©Ó/´¸¸A¼b¹DÓ0AÑAÈÔN€GðE€Ið
=€Iô �'‹?˜iÒ'Ð'Ð'Ü�7Ó˜yÒ(Ð(Ñ(rÇ   c                  ó¤   — t        dd«      t        dd«      }} d}d}t        t        | |«      «      |k(  sJ ‚t        t        | |«      «      |k(  sJ ‚y )Nr-  r.  r/  re  u   [2, 3] âˆª [4, 7]z[2, 3] U [4, 7])rP   rÖ   rQ   rž   )r`  ra  rT  rS  s       rÈ   Útest_pretty_Union_issue_10414rK  g  sS   € Ü�A�q‹>œ8 A q›>€q€AØ#€IØ!€IÜ”5˜˜A“;Ó 9Ò,Ð,Ð,Ü”%˜˜1“+Ó )Ò+Ð+Ñ+rÇ   c                  óÄ   — t        d«      \  } }}}t        | |«      t        ||«      }}d}d}t        t        ||«      «      |k(  sJ ‚t	        t        ||«      «      |k(  sJ ‚y )Nz
x, y, z, wu   [x, y] âˆ© [z, w]z[x, y] n [z, w])r   rP   rÖ   rO   rž   )rP  rQ  r_  rë  r`  ra  rT  rS  s           rÈ   Ú$test_pretty_Intersection_issue_10414rM  o  sg   € Ü˜Ó&�J€A€qˆ!ˆQÜ�A�q‹>œ8 A q›>€q€AØ#€IØ!€IÜ”<  1Ó%Ó&¨)Ò3Ð3Ð3Ü”,˜q !Ó$Ó%¨Ò2Ð2Ñ2rÇ   c                  ó€   — d} t        t        dd«      dz  «      | k(  sJ ‚d} t        t        dd«      dz  «      | k(  sJ ‚y )Nz      1
[0, 1] r   r,  z      2
[0, 1] r-  )rÖ   rP   )rT  s    rÈ   Útest_ProductSet_exponentrO  x  sH   € Ø"€IÜ”8˜A˜q“> 1Ñ$Ó%¨Ò2Ð2Ð2Ø"€IÜ”8˜A˜q“> 1Ñ$Ó%¨Ò2Ð2Ñ2rÇ   c            
      óŒ   — d} t        dd«      t        dd«      }}t        t        ||z  |t        dd«      z  «      «      | k(  sJ ‚y )Nu)   ([4, 7] Ã— {1, 2}) âˆª ([2, 3] Ã— [4, 7])r-  r.  r/  re  r,  )rP   rÖ   rQ   rN   )rT  r`  ra  s      rÈ   Útest_ProductSet_parenthesisrQ    sE   € Ø;€Iä�A�q‹>œ8 A q›>€q€AÜ”5˜˜1™˜a¤	¨!¨Q£Ñ/Ó0Ó1°YÒ>Ð>Ñ>rÇ   c                  óˆ   — d} d}t        dd«      t        dd«      }}t        ||z  «      | k(  sJ ‚t        ||z  «      |k(  sJ ‚y )Nz[2, 3] x [4, 7]u   [2, 3] Ã— [4, 7]r-  r.  r/  re  )rP   rž   rÖ   )rS  rT  r`  ra  s       rÈ   Ú%test_ProductSet_prod_char_issue_10413rS  †  sM   € Ø!€IØ"€Iä�A�q‹>œ8 A q›>€q€AÜ�!�A‘#‹;˜)Ò#Ð#Ð#Ü�1�Q‘3‹<˜9Ò$Ð$Ñ$rÇ   c                  óV  ‡
— t        t        dz  dt        f«      } t        d«      }d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚d}d}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        t        dz  d«      }t        dd«      }d	}d	}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚d
}d
}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        t        dz  t         df«      }t        dt         df«      }d}d}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚d}d}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚d}d}t	        t        | |«      «      |k(  sJ ‚t        t        | |«      «      |k(  sJ ‚d}d}t	        t        ||«      «      |k(  sJ ‚t        t        ||«      «      |k(  sJ ‚d}d}t	        t        ||«      «      |k(  sJ ‚t        t        ||«      «      |k(  sJ ‚d}d}t	        t        | |«      «      |k(  sJ ‚t        t        | |«      «      |k(  sJ ‚d}d}t	        t        ||«      «      |k(  sJ ‚t        t        ||«      «      |k(  sJ ‚d}d}t	        t        ||«      «      |k(  sJ ‚t        t        ||«      «      |k(  sJ ‚t        t        dz  t        dt        f«      Š
t        t        ˆ
fd„«       t        t        ˆ
fd„«       t        d«      }t        |t        dz  z  t        ddf«      }	d}d}t	        |	«      |k(  sJ ‚t        |	«      |k(  sJ ‚y )Nr-  r   r  z[0, 1, 4, 9, ...]u   [0, 1, 4, 9, â€¦]z[1, 2, 1, 2, ...]u   [1, 2, 1, 2, â€¦]©r   r-  z	[0, 1, 4]z	[1, 2, 1]z[..., 9, 4, 1, 0]u   [â€¦, 9, 4, 1, 0]z[..., 2, 1, 2, 1]u   [â€¦, 2, 1, 2, 1]z[1, 3, 5, 11, ...]u   [1, 3, 5, 11, â€¦]z	[1, 3, 5]z[..., 11, 5, 3, 1]u   [â€¦, 11, 5, 3, 1]z[0, 2, 4, 18, ...]u   [0, 2, 4, 18, â€¦]z	[0, 2, 4]z[..., 18, 4, 2, 0]u   [â€¦, 18, 4, 2, 0]c                  ó   •— t        ‰ «      S ©NrÚ   ©Ús7s   €rÈ   rä  z'test_pretty_sequences.<locals>.<lambda>à  s   ø€ ¬¨r«
€ rÇ   c                  ó   •— t        ‰ «      S rW  )rÖ   rX  s   €rÈ   rä  z'test_pretty_sequences.<locals>.<lambda>á  s   ø€ ¬°«€ rÇ   ra  z[0, b, 4*b]u   [0, b, 4â‹…b])rH   r`  r   rJ   rž   rÖ   rG   rI   rP  r¶   ÚNotImplementedErrorr   )r.  r/  rS  rT  Ús3Ús4Ús5Ús6ra  Ús8rY  s             @rÈ   Útest_pretty_sequencesra  �  sa  ø€ Ü	”A�q‘D˜1œb˜'Ó	"€BÜ	�‹€Bà#€IØ#€Iä�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ð#à#€IØ#€IÜ�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ð#ä	”A�q‘D˜&Ó	!€BÜ	�˜Ó	€Bà€IØ€Iä�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ð#à€IØ€IÜ�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ð#ä	”A�q‘DœB˜3 ˜(Ó	#€BÜ	�œ"˜˜a˜Ó	!€Bà#€IØ#€Iä�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ð#à#€IØ#€IÜ�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ð#à$€IØ$€Iä”&˜˜R“.Ó! YÒ.Ð.Ð.Ü”6˜"˜b“>Ó" iÒ/Ð/Ð/à€IØ€Iä”&˜˜R“.Ó! YÒ.Ð.Ð.Ü”6˜"˜b“>Ó" iÒ/Ð/Ð/à$€IØ$€Iä”&˜˜R“.Ó! YÒ.Ð.Ð.Ü”6˜"˜b“>Ó" iÒ/Ð/Ð/à$€IØ$€Iä”&˜˜R“.Ó! YÒ.Ð.Ð.Ü”6˜"˜b“>Ó" iÒ/Ð/Ð/à€IØ€Iä”&˜˜R“.Ó! YÒ.Ð.Ð.Ü”6˜"˜b“>Ó" iÒ/Ð/Ð/à$€IØ$€Iä”&˜˜R“.Ó! YÒ.Ð.Ð.Ü”6˜"˜b“>Ó" iÒ/Ð/Ð/ô 
”A�q‘Dœ1˜a¤˜)Ó	$€BÜ
ÔÓ 2Ô3Ü
ÔÓ 3Ô4äˆs‹€AÜ	�A”a˜‘d‘FœQ  1˜IÓ	&€BØ€IØ€IÜ�"‹:˜Ò"Ð"Ð"Ü�2‹;˜)Ò#Ð#Ñ#rÇ   c                  óŒ   — t        t        t        t         t        f«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nzt                      2*sin(3*x)      
2*sin(x) - sin(2*x) + ---------- + ...
                          3           uŒ                         2â‹…sin(3â‹…x)    
2â‹…sin(x) - sin(2â‹…x) + â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ + â€¦
                          3         )rD   rP  r   rž   rÖ   ©rÉ   rS  rT  s      rÈ   Útest_pretty_FourierSeriesrd  ë  sP   € Ü”qœ1œr˜c¤2˜,Ó'€Aðð ðð ô �!‹9˜	Ò!Ð!Ð!Ü�1‹:˜Ò"Ð"Ñ"rÇ   c                  ó‚   — t        t        dt        z   «      «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nr,  z¡ oo              
____             
\   `            
 \         -k  k 
  \   -(-1)  *x  
  /   -----------
 /         k     
/___,            
k = 1            uá    âˆž               
____             
â•²                
 â•²         -k  k 
  â•²   -(-1)  â‹…x  
  â•±   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
 â•±         k     
â•±                
â€¾â€¾â€¾â€¾             
k = 1            )rC   rp   rP  rž   rÖ   rc  s      rÈ   Útest_pretty_FormalPowerSeriesrf     sM   € ÜŒC�”A‘‹J‹€Að
ð ðð ô �!‹9˜	Ò!Ð!Ð!Ü�1‹:˜Ò"Ð"Ñ"rÇ   c            	      ót  — t        t        t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        dz  t        d«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        dt        z  t        d«      } d}d	}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      t        z  t        d«      } d
}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      t        z  t        dd«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        t        «      z   t        d«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        d«      dz  } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        t        dz  t        d«      z  t        d«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚dt        t        t        t        dz  t        d«      z  t        d«      z  } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        t        t        «      t        dd¬«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nz lim x
x->oo u   lim x
xâ”€â†’âˆž r-  r   z      2
 lim x 
x->0+  u         2
 lim x 
xâ”€â†’0â�º  r,  z     1
 lim -
x->0+xu        1
 lim â”€
xâ”€â†’0â�ºxz)     /sin(x)\
 lim |------|
x->0+\  x   /uG        âŽ›sin(x)âŽž
 lim âŽœâ”€â”€â”€â”€â”€â”€âŽŸ
xâ”€â†’0â�ºâŽ�  x   âŽ ú-z)     /sin(x)\
 lim |------|
x->0-\  x   /uG        âŽ›sin(x)âŽž
 lim âŽœâ”€â”€â”€â”€â”€â”€âŽŸ
xâ”€â†’0â�»âŽ�  x   âŽ z# lim (x + sin(x))
x->0+            u)    lim (x + sin(x))
xâ”€â†’0â�º            z        2
/ lim x\ 
\x->0+ / u+           2
âŽ› lim xâŽž 
âŽ�xâ”€â†’0â�º âŽ  z5     /       /y\\
 lim |x* lim |-||
x->0+\  y->0+\2//u]        âŽ›       âŽ›yâŽžâŽž
 lim âŽœxâ‹… lim âŽœâ”€âŽŸâŽŸ
xâ”€â†’0â�ºâŽ�  yâ”€â†’0â�ºâŽ�2âŽ âŽ z;       /       /y\\
2* lim |x* lim |-||
  x->0+\  y->0+\2//ue          âŽ›       âŽ›yâŽžâŽž
2â‹… lim âŽœxâ‹… lim âŽœâ”€âŽŸâŽŸ
  xâ”€â†’0â�ºâŽ�  yâ”€â†’0â�ºâŽ�2âŽ âŽ z+-)Údirzlim sin(x)
x->0      u   lim sin(x)
xâ”€â†’0      )rE   rP  r   rž   rÖ   rr   rQ  rb  s      rÈ   Útest_pretty_limitsrj  #  s$  € Ü””A”r‹?€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”�A‘”q˜!Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�”1‘”a˜Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä””Q“œ‘œ1˜aÓ €Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä””Q“œ‘œ1˜a Ó%€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä””Sœ“V‘œQ Ó"€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä””A�q‹>˜1Ñ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä””5œ˜1™œQ˜q“>Ñ!¤1 aÓ(€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒU”1”Uœ1˜Q™3œq “^Ñ#¤Q¨Ó*Ñ*€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä””Q“œ˜A 4Ô(€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óŒ   — t        t        dz  dt        z  z   dz
  d«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nr0  é   r-  r   z3       / 5              \
CRootOf\x  + 11*x - 2, 0/u=          âŽ› 5              âŽž
CRootOfâŽ�x  + 11â‹…x - 2, 0âŽ )rB   rP  rž   rÖ   rb  s      rÈ   Útest_pretty_ComplexRootOfrm  À  sX   € Ü”!�Q‘$˜œA™‘+ ‘/ 1Ó%€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c            	      óL  — t        t        dz  dt        z  z   dz
  d¬«      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        dz  dt        z  z   dz
  t	        t
        t        t
        «      «      «      } d}d	}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )
Nr0  rl  r-  F)Úautoz-       / 5           \
RootSum\x  + 11*x - 2/u7          âŽ› 5           âŽž
RootSumâŽ�x  + 11â‹…x - 2âŽ z?       / 5                   z\
RootSum\x  + 11*x - 2, z -> e /uK          âŽ› 5                  zâŽž
RootSumâŽ�x  + 11â‹…x - 2, z â†¦ â„¯ âŽ )rA   rP  rž   rÖ   r   r_  ri   rb  s      rÈ   Útest_pretty_RootSumrp  Ñ  s¹   € Ü”1�a‘4˜"œQ™$‘; ‘?¨Ô/€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”1�a‘4˜"œQ™$‘; ‘?¤F¬1¬c´!«fÓ$5Ó6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óÊ  — t        g t        t        «      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚t        dz  dt        z  z
  t        z
  dz   t        dz  dt        z  z
  t        z   dz
  g}t        |t        t        d¬«      } d}d	}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚| j                  d
«      } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚y )Nz-GroebnerBasis([], x, y, domain=ZZ, order=lex)u.   GroebnerBasis([], x, y, domain=â„¤, order=lex)r-  r.  r,  r>   rn  z£             /[ 2                 2              ]                              \
GroebnerBasis\[x  - x - 3*y + 1, y  - 2*x + y - 1], x, y, domain=ZZ, order=grlex/u·                âŽ›âŽ¡ 2                 2              âŽ¤                             âŽž
GroebnerBasisâŽ�âŽ£x  - x - 3â‹…y + 1, y  - 2â‹…x + y - 1âŽ¦, x, y, domain=â„¤, order=grlexâŽ rm  zµ             /[       2           4      3      2           ]                            \
GroebnerBasis\[2*x - y  - y + 1, y  + 2*y  - 3*y  - 16*y + 7], x, y, domain=ZZ, order=lex/uÍ                âŽ›âŽ¡       2           4      3      2           âŽ¤                           âŽž
GroebnerBasisâŽ�âŽ£2â‹…x - y  - y + 1, y  + 2â‹…y  - 3â‹…y  - 16â‹…y + 7âŽ¦, x, y, domain=â„¤, order=lexâŽ )r@   rP  rQ  rž   rÖ   Úfglm)rÔ   rS  rT  ÚFs       rÈ   Útest_GroebnerBasisrt  ñ  s  € Ü�Bœœ1Ó€Dðð ð
ð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä	
ˆA‰�”!‘‰”a‰˜!Ñ	œQ ™T A¤a¡C™Z¬!™^¨aÑ/Ð0€AÜ�A”qœ! 7Ô+€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%à�9‰9�UÓ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó|   — t        t        j                  «      dk(  sJ ‚t        t        j                  «      dk(  sJ ‚y )NÚUniversalSetu   ð�•Œ)rž   r   rv  rÖ   rÆ   rÇ   rÈ   Útest_pretty_UniversalSetrw  "  s0   € Ü”!—.‘.Ó! ^Ò3Ð3Ð3Ü”1—>‘>Ó" fÒ,Ð,Ñ,rÇ   c                  óà  — t        t        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t	        t        t
        «      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t
        «      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        d	«      }t	        |Ž } t        | «      d
k(  sJ ‚t        | «      dk(  sJ ‚t        |Ž } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t
        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t
        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t
        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t
        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t
        t        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t        t
        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        t
        t        d¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚y )NFr@  zNot(x)u   Â¬xz	And(x, y)u   x âˆ§ yzOr(x, y)u   x âˆ¨ yza:fzAnd(a, b, c, d, e, f)u   a âˆ§ b âˆ§ c âˆ§ d âˆ§ e âˆ§ fzOr(a, b, c, d, e, f)u   a âˆ¨ b âˆ¨ c âˆ¨ d âˆ¨ e âˆ¨ fz	Xor(x, y)u   x âŠ» yz
Nand(x, y)u   x âŠ¼ yz	Nor(x, y)u   x âŠ½ yzImplies(x, y)u   x â†’ yzImplies(y, x)u   y â†’ xzEquivalent(x, y)õ   x â‡” y)r3   rP  rž   rÖ   r-   rQ  r4   r   r5   r1   r2   r0   r.   )rÔ   Úsymss     rÈ   Útest_pretty_Booleanr{  '  sY  € ÜŒq˜5Ô!€Dä�$‹<˜8Ò#Ð#Ð#Ü�4‹=˜EÒ!Ð!Ð!äŒq”!‹9€Dä�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%äŒa”‹8€Dä�$‹<˜:Ò%Ð%Ð%Ü�4‹=˜IÒ%Ð%Ð%ä�5‹>€DÜ�ˆ:€Dä�$‹<Ð2Ò2Ð2Ð2Ü�4‹=Ð=Ò=Ð=Ð=äˆtˆ9€Dä�$‹<Ð1Ò1Ð1Ð1Ü�4‹=Ð=Ò=Ð=Ð=äŒq”!˜eÔ$€Dä�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%ä””1˜uÔ%€Dä�$‹<˜<Ò'Ð'Ð'Ü�4‹=˜IÒ%Ð%Ð%äŒq”!˜eÔ$€Dä�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜IÒ%Ð%Ð%ä”1”a %Ô(€Dä�$‹<˜?Ò*Ð*Ð*Ü�4‹=˜IÒ%Ð%Ð%ô ”1”a %Ô(€Dä�$‹<˜?Ò*Ð*Ð*Ü�4‹=˜IÒ%Ð%Ð%ä”aœ UÔ+€Dä�$‹<Ð-Ò-Ð-Ð-Ü�4‹=˜IÒ%Ð%Ð%ä”aœ UÔ+€Dä�$‹<Ð-Ò-Ð-Ð-Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óü  — t        d«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t
        } t        | «      dk(  sJ ‚t        | «      d	k(  sJ ‚t        t           } t        | «      d
k(  sJ ‚t        | «      dk(  sJ ‚t        t        t        f   } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        j                  t        «      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        j                  t        t        «      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t	        j                  t        t        t        ¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t	        j                  t        t        t        ¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚y )Né   zGF(23)u	   â„¤â‚‚â‚ƒr;   u   â„¤r<   u   â„šr=   u   â„�zQQ[x]u   â„š[x]zQQ[x, y]u	   â„š[x, y]zZZ(x)u   â„¤(x)zZZ(x, y)u	   â„¤(x, y)rn  zQQ[x, y, order=grlex]u   â„š[x, y, order=grlex]zQQ[x, y, order=ilex]u   â„š[x, y, order=ilex])r:   rž   rÖ   r;   r<   r=   rP  rQ  Ú
frac_fieldÚ	poly_ringr>   r?   rh  s    rÈ   Útest_pretty_Domainr€  g  sÞ  € Üˆb‹6€Dä�$‹<˜8Ò#Ð#Ð#Ü�4‹=˜KÒ'Ð'Ð'ä€Dä�$‹<˜4ÒÐÐÜ�4‹=˜EÒ!Ð!Ð!ä€Dä�$‹<˜4ÒÐÐÜ�4‹=˜EÒ!Ð!Ð!ä€Dä�$‹<˜4ÒÐÐÜ�4‹=˜EÒ!Ð!Ð!äŒa‰5€Dä�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜HÒ$Ð$Ð$äŒa”ˆd‰8€Dä�$‹<˜:Ò%Ð%Ð%Ü�4‹=˜KÒ'Ð'Ð'ä�=‰=œÓ€Dä�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜HÒ$Ð$Ð$ä�=‰=œœAÓ€Dä�$‹<˜:Ò%Ð%Ð%Ü�4‹=˜KÒ'Ð'Ð'ä�<‰<œœ1¤EÔ*€Dä�$‹<Ð2Ò2Ð2Ð2Ü�4‹=Ð4Ò4Ð4Ð4ä�<‰<œœ1¤DÔ)€Dä�$‹<Ð1Ò1Ð1Ð1Ü�4‹=Ð3Ò3Ð3Ñ3rÇ   c                  ó~  — t        t        d«      dd¬«      dk(  sJ ‚t        t        d«      dd¬«      dk(  sJ ‚t        t        d«      dd¬«      dk(  sJ ‚t        t        d«      t        z  ddd¬«      dv sJ ‚t        t        d«      t        z  ddd¬«      d	v sJ ‚t        t        d«      t        z  ddd¬«      d	v sJ ‚y )
Nz0.3TF)Ú	full_precrÐ   z0.300000000000000ro  )r‚  rÏ   rÐ   )z0.300000000000000*xzx*0.300000000000000)z0.3*xzx*0.3)rÒ   r   rP  rÆ   rÇ   rÈ   Útest_pretty_precrƒ  ›  sÚ   € Ü”1�U“8 t°uÔ=ÐATÒTÐTÐTÜ”1�U“8 v¸Ô?ÐCVÒVÐVÐVÜ”1�U“8 u¸Ô>À%ÒGÐGÐGÜ”1�U“8œA‘:¨¸5ÈEÔRð Wñ ð ð ô ”1�U“8œA‘:¨¸UÈeÔTð Yñ ð ð ô ”1�U“8œA‘:¨¸EÈUÔSð Xñ ð ñ rÇ   c                  óÂ   — dd l } ddlm}  |«       }| j                  }|| _        	 t	        t
        dd¬«       || _        |j                  «       dk(  sJ ‚y # || _        w xY w)Nr   )ÚStringIOF)rÏ   rÐ   zpi
)ÚsysÚior…  Ústdoutr�   r   Úgetvalue)r†  r…  ÚfdÚssos       rÈ   Útest_pprintrŒ  ­  sV   € ÛÝÙ	‹€BØ
�*‰*€CØ€C„JðÜŒr˜u°Õ6àˆŒ
Ø�;‰;‹=˜FÒ"Ð"Ñ"øð ˆ�
ús   ¦A Á	Ac                  ó�   —  G d„ d«      }  G d„ d«      }t        | «      t        | «      k(  sJ ‚t        |«      t        |«      k(  sJ ‚y)z;Test that the printer dispatcher correctly handles classes.c                   ó   — e Zd Zy)útest_pretty_class.<locals>.CNrÂ   rÆ   rÇ   rÈ   rÍ  r�  ¼  ó   „ ØrÇ   rÍ  c                   ó   — e Zd Zy)útest_pretty_class.<locals>.DNrÂ   rÆ   rÇ   rÈ   rÎ  r’  ¿  r�  rÇ   rÎ  N)rž   rs  )rÍ  rÎ  s     rÈ   Útest_pretty_classr“  º  sD   € ÷ñ ÷ñ ô �1‹;œ#˜q›(Ò"Ð"Ð"Ü�1‹;œ#˜q›(Ò"Ð"Ñ"rÇ   c                  óØ   — d} t        d«      D ]  }| |t        |t        z   «      z  z  } Œ t        | «      j	                  d«      dk7  sJ ‚t        | d¬«      j	                  d«      dk(  sJ ‚y )Nr   é   ú
r]  F)rÐ   )r3  rr   rP  rÒ   Úfind)Ú	huge_exprrâ  s     rÈ   Útest_pretty_no_wrap_liner™  Æ  sn   € Ø€IÜ�2‹Yò "ˆØ�Q”s˜1œq™5“z‘\Ñ!‰	ð"ä�9Ó)×.Ñ.¨tÓ4¸Ò:Ð:Ð:Ü�9¨Ô.×3Ñ3°DÓ9¸RÒ?Ð?Ñ?rÇ   c                  ó&   — t        t        d„ «       y )Nc                  ó.   — t        t        d«      d¬«      S )Nr/  Úgarbage)Úmethod)rž   r   rÆ   rÇ   rÈ   rä  ztest_settings.<locals>.<lambda>Ï  s   € œf¤Q q£T°)Ô<€ rÇ   )r¶   Ú	TypeErrorrÆ   rÇ   rÈ   Útest_settingsrŸ  Î  s   € Ü
Œ9Ñ<Õ=rÇ   c                  óÚ  — ddl m} m}m}m}m}m} t        ||z  |d|f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        ||z  |t        |f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        |t        | |z  | t         t        f«      z  |d||z  f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        |t        | |z  | t         t        f«      z  |dt        | | z  | t         t        f«      f«      }d	}d
}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        |t        | |z  | t         t        f«      z  || |z   | dz  z   |dz  z   | |z  z   d| z  z   t        | | z  | t         t        f«      f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        |t        | |z  | t         t        f«      z  |d| |z   | dz  z   |dz  z   | |z  z   d| z  z   f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        | | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        | dz  | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        | dz  | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        | dz  dz  | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        | dz  t        | dz  z  z  |z  | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        d| dz  z  | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        dt        ||z  z  z  | dt        f«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t        dt        ||z  z  z  | dt        ft        ddf«      }d }d!}t        ddddd|z  z   z  z   z  dz   |d"dd|z  z   f|dd|z   z  t        f«      ddd|z  z   z  z   }d#}d$}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )%Nr   )rP  r`  ra  r†  r™  rƒ  z> n      
___     
\  `    
 \     k
 /    k 
/__,    
k = 0   uU     n     
 ___    
 â•²      
  â•²    k
  â•±   k 
 â•±      
 â€¾â€¾â€¾    
k = 0   zE  n      
 ___     
 \  `    
  \     k
  /    k 
 /__,    
k = oo   uW     n     
 ___    
 â•²      
  â•²    k
  â•±   k 
 â•±      
 â€¾â€¾â€¾    
k = âˆž   a     n              
  n               
______            
\     `           
 \        oo      
  \        /      
   \      |       
    \     |   n   
     )    |  x  dx
    /     |       
   /     /        
  /      -oo      
 /      k         
/_____,           
 k = 0            u*     n            
  n             
______          
â•²               
 â•²              
  â•²     âˆž       
   â•²    âŒ        
    â•²   âŽ®   n   
    â•±   âŽ®  x  dx
   â•±    âŒ¡       
  â•±     -âˆž      
 â•±     k        
â•±               
â€¾â€¾â€¾â€¾â€¾â€¾          
k = 0           a¸   oo                 
  /                 
 |                  
 |   x              
 |  x  dx           
 |                  
/                   
-oo                 
 ______             
 \     `            
  \         oo      
   \         /      
    \       |       
     \      |   n   
      )     |  x  dx
     /      |       
    /      /        
   /       -oo      
  /       k         
 /_____,            
  k = 0             u   âˆž                 
âŒ                  
âŽ®   x             
âŽ®  x  dx          
âŒ¡                 
-âˆž                
 ______           
 â•²                
  â•²               
   â•²      âˆž       
    â•²     âŒ        
     â•²    âŽ®   n   
     â•±    âŽ®  x  dx
    â•±     âŒ¡       
   â•±      -âˆž      
  â•±      k        
 â•±                
 â€¾â€¾â€¾â€¾â€¾â€¾           
 k = 0            r-  r,  a€            oo                          
           /                          
          |                           
          |   x                       
          |  x  dx                    
          |                           
         /                            
         -oo                          
          ______                      
          \     `                     
           \                  oo      
            \                  /      
             \                |       
              \               |   n   
               )              |  x  dx
              /               |       
             /               /        
            /                -oo      
           /                k         
          /_____,                     
     2        2       1   x           
k = n  + n + x  + x + - + -           
                      x   n           uY           âˆž                           
         âŒ                            
         âŽ®   x                       
         âŽ®  x  dx                    
         âŒ¡                           
         -âˆž                          
          ______                     
          â•²                          
           â•²                         
            â•²                âˆž       
             â•²               âŒ        
              â•²              âŽ®   n   
              â•±              âŽ®  x  dx
             â•±               âŒ¡       
            â•±                -âˆž      
           â•±                k        
          â•±                          
          â€¾â€¾â€¾â€¾â€¾â€¾                     
     2        2       1   x          
k = n  + n + x  + x + â”€ + â”€          
                      x   n          a/   2        2       1   x           
n  + n + x  + x + - + -           
                  x   n           
        ______                    
        \     `                   
         \                oo      
          \                /      
           \              |       
            \             |   n   
             )            |  x  dx
            /             |       
           /             /        
          /              -oo      
         /              k         
        /_____,                   
         k = 0                    uO   2        2       1   x          
n  + n + x  + x + â”€ + â”€          
                  x   n          
        ______                   
        â•²                        
         â•²                       
          â•²              âˆž       
           â•²             âŒ        
            â•²            âŽ®   n   
            â•±            âŽ®  x  dx
           â•±             âŒ¡       
          â•±              -âˆž      
         â•±              k        
        â•±                        
        â€¾â€¾â€¾â€¾â€¾â€¾                   
         k = 0                   z/ oo    
 __    
 \ `   
  )   x
 /_,   
x = 0  uO     âˆž    
 ___   
 â•²     
  â•²    
  â•±   x
 â•±     
 â€¾â€¾â€¾   
x = 0  z> oo     
___     
\  `    
 \     2
 /    x 
/__,    
x = 0   uW     âˆž     
 ___    
 â•²      
  â•²    2
  â•±   x 
 â•±      
 â€¾â€¾â€¾    
x = 0   z? oo    
___    
\  `   
 \    x
  )   -
 /    2
/__,   
x = 0  ug    âˆž     
____   
â•²      
 â•²     
  â•²   x
  â•±   â”€
 â•±    2
â•±      
â€¾â€¾â€¾â€¾   
x = 0  r.  zP oo     
____    
\   `   
 \     3
  \   x 
  /   --
 /    2 
/___,   
x = 0   us    âˆž      
____    
â•²       
 â•²     3
  â•²   x 
  â•±   â”€â”€
 â•±    2 
â•±       
â€¾â€¾â€¾â€¾    
x = 0   z• oo           
____          
\   `         
 \           n
  \   /    x\ 
   )  |    -| 
  /   | 3  2| 
 /    \x *y / 
/___,         
x = 0         uã     âˆž           
_____         
â•²             
 â•²            
  â•²          n
   â•²  âŽ›    xâŽž 
   â•±  âŽœ    â”€âŽŸ 
  â•±   âŽœ 3  2âŽŸ 
 â•±    âŽ�x â‹…y âŽ  
â•±             
â€¾â€¾â€¾â€¾â€¾         
x = 0         zP oo     
____    
\   `   
 \    1 
  \   --
  /    2
 /    x 
/___,   
x = 0   us    âˆž      
____    
â•²       
 â•²    1 
  â•²   â”€â”€
  â•±    2
 â•±    x 
â•±       
â€¾â€¾â€¾â€¾    
x = 0   zb oo       
____      
\   `     
 \     -a 
  \    ---
  /     b 
 /    y   
/___,     
x = 0     u‰    âˆž        
____      
â•²         
 â•²     -a 
  â•²    â”€â”€â”€
  â•±     b 
 â•±    y   
â•±         
â€¾â€¾â€¾â€¾      
x = 0     z�  2     oo     
____  ____     
\   ` \   `    
 \     \     -a
  \     \    --
  /     /    b 
 /     /    y  
/___, /___,    
y = 1 x = 0    uÍ     2     âˆž      
____  ____     
â•²     â•²        
 â•²     â•²     -a
  â•²     â•²    â”€â”€
  â•±     â•±    b 
 â•±     â•±    y  
â•±     â•±        
â€¾â€¾â€¾â€¾  â€¾â€¾â€¾â€¾     
y = 1 x = 0    éo   aŸ                1                          
          1 + -                          
   oo         n                          
 _____    _____                          
 \    `   \    `                         
  \        \      /        1    \        
   \        \     |1 + ---------|        
    \        \    |          1  |     1  
     )        )   |    1 + -----| + -----
    /        /    |            1|       1
   /        /     |        1 + -|   1 + -
  /        /      \            k/       k
 /____,   /____,                         
      1   k = 111                        
k = -----                                
    m + 1                                u‡                1                          
          1 + â”€                          
   âˆž          n                          
 ______   ______                         
 â•²        â•²                              
  â•²        â•²                             
   â•²        â•²     âŽ›        1    âŽž        
    â•²        â•²    âŽœ1 + â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ        
     â•²        â•²   âŽœ          1  âŽŸ     1  
     â•±        â•±   âŽœ    1 + â”€â”€â”€â”€â”€âŽŸ + â”€â”€â”€â”€â”€
    â•±        â•±    âŽœ            1âŽŸ       1
   â•±        â•±     âŽœ        1 + â”€âŽŸ   1 + â”€
  â•±        â•±      âŽ�            kâŽ        k
 â•±        â•±                              
 â€¾â€¾â€¾â€¾â€¾â€¾   â€¾â€¾â€¾â€¾â€¾â€¾                         
      1   k = 111                        
k = â”€â”€â”€â”€â”€                                
    m + 1                                )Ú	sympy.abcrP  r`  ra  r†  r™  rƒ  r   rž   rÖ   r   r,   rQ  )	rP  r`  ra  r†  r™  rƒ  rÔ   rS  rT  s	            rÈ   Útest_pretty_sumr£  Ò  sõ  € ß*×*äˆq�!‰t�a˜˜A�YÓ€Dðð ð	ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq�!‰t�aœ˜Q�ZÓ €Dðð ð	ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq”8˜A˜q™D 1¤r c¬2 ,Ó/Ñ0°1°a¸¸A¹°,Ó?€Dðð ð&ð ô$ �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆqÜ��A‘˜œB˜3¤�|Ó$ñ&Ø()¨1¬h°q¸!±t¸aÄ"ÀÄb¸\Ó.JÐ'KóM€Dðð ð2ð ô, �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq”8˜A˜q™D 1¤r c¬2 ,Ó/Ñ0Ø	ˆ1ˆq‰5�1�a‘4‰<˜!˜Q™$Ñ ! A¡#Ñ&¨!¨A©#Ñ.´¸¸A¹ÀÄBÀ3Ì¸|Ó0Lð3Nó O€Dðð ð6ð ô0 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆqÜ��A‘˜œB˜3¤�|Ó$ñ&Ø()¨1¨a°!©e°a¸±d©l¸QÀ¹TÑ.AÀQÀqÁSÑ.IÈQÈqÉSÑ.QÐ'RóT€Dðð ð(ð ô& �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq�1�aœ�*Ó€Dðð ð	ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq�!‰t�a˜œB�ZÓ €Dðð ð	ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq�‰s�Q˜œ2�JÓ€Dð	ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq�!‰t�A‰v˜˜1œb�zÓ"€Dð
ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä��1‘”Q˜˜1™‘X‘ Ñ! A q¬" :Ó.€Dðð ðð ô  �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq��A‘‰v˜˜1œb�zÓ"€Dð
ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq”�Q�q‘S‘‰z˜A˜q¤"˜:Ó&€Dð
ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%äˆq”�Q�q‘S‘‰z˜A˜q¤"˜:¬¨1¨a yÓ1€Dð
ð ðð ô ˆq�!�aØ	ˆAˆa‰C‰ññ ñ ØñØ˜3  A a¡C¡Ð(¨1¨a°°Q±©i¼Ð*<ó>Ø@AÀ1ÀqÈÁsÁ7ÁñL€Dðð ð(ð ô, �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óÔ  — t         } d}d}d}d}ddlm}m}m} t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        | j                  ||dz  z  |dz  z  «      «      |k(  sJ ‚t        | j                  ||dz  z  |dz  z  «      «      |k(  sJ ‚t        d	|z  t        z  |dz  z  t        z  |dz  z  «      |k(  sJ ‚t        d	|z  t        z  |dz  z  t        z  |dz  z  «      |k(  sJ ‚y )
NzO              2
kilogram*meter 
---------------
          2    
    second     uo                 2
kilogramâ‹…meter 
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
          2    
    second     zm                    2
3*x*y*kilogram*meter 
---------------------
             2       
       second        uŸ                       2
3â‹…xâ‹…yâ‹…kilogramâ‹…meter 
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
             2       
       second        r   )Úkgr™  r   r›   r-  r.  )
r›   Úsympy.physics.unitsr¥  r™  r   rÖ   rž   Ú
convert_torP  rQ  )rÔ   Ú
ascii_str1Úunicode_str1Ú
ascii_str2Úunicode_str2r¥  r™  r   s           rÈ   Ú
test_unitsr¬  Ø  s  € Ü€Dðð ðð ðð ðð ÷ -Ñ,Ü�4‹=˜GÒ#Ð#Ð#Ü�$‹<˜7Ò"Ð"Ð"Ü�4—?‘? 2 a¨¡d¡7¨1¨a©4¡<Ó0Ó1°\ÒAÐAÐAÜ�$—/‘/ " Q¨¡T¡'¨!¨Q©$¡,Ó/Ó0°JÒ>Ð>Ð>Ü�1�R‘4œ‘6˜!˜Q™$‘;œq‘=  A¡Ñ%Ó&¨,Ò6Ð6Ð6Ü�!�B‘$”q‘&˜˜A™‘+œa‘-  1¡Ñ$Ó%¨Ò3Ð3Ñ3rÇ   c            	      ó   — t        d«      } t         | t        «      t        t        dz  «      }d}d}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t         | t        «      j                  t        «      t        d«      }d}d}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚t         | t        «      j                  t        «      t        z  t        t        fdt        dd«      f«      }d	}d
}t	        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )NrÉ   r-  z(f(x))|     2
      |x=phi u   (f(x))â”‚   2
      â”‚x=Ï† r   z,/d       \|   
|--(f(x))||   
\dx      /|x=0uB   âŽ›d       âŽžâ”‚   
âŽœâ”€â”€(f(x))âŽŸâ”‚   
âŽ�dx      âŽ â”‚x=0r,  zm/d       \|          
|--(f(x))||          
|dx      ||          
|--------||          
\   y    /|x=0, y=1/2uŸ   âŽ›d       âŽžâ”‚          
âŽœâ”€â”€(f(x))âŽŸâ”‚          
âŽœdx      âŽŸâ”‚          
âŽœâ”€â”€â”€â”€â”€â”€â”€â”€âŽŸâ”‚          
âŽ�   y    âŽ â”‚x=0, y=1/2)	r
   r   rP  rÛ  rž   rÖ   r×  rQ  r   )rÉ   rÔ   rS  r›  s       rÈ   Útest_pretty_Subsr®    s  € Ü�‹€AÜ‘”!“”aœ˜Q™Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ð'ä‘”!“—	‘	œ!“œa Ó#€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ð'ä‘”!“—	‘	œ!“œQ‘¤¤A ¨¬H°Q¸«NÐ(;Ó<€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜KÒ'Ð'Ñ'rÇ   c                  óŽ  — t        t        t        t        «      «      dk(  sJ ‚t        t	        t        t        «      «      dk(  sJ ‚t        t        t        «      d¬«      dk(  sJ ‚t        t        d¬«      dk(  sJ ‚t         t        dt        ¬«      t        «      d¬«      d	k(  sJ ‚t        t        dt        ¬«      d¬«      d
k(  sJ ‚y )Nu   Î³(x, y)u   Î“(x, y)Tr7  u   Î“(x)u   Î“rn   r—  u   Î³(x)rr  )	rÖ   rÁ   rP  rQ  rv   rÒ   rn   r   r
   rÆ   rÇ   rÈ   Útest_gammasr°  =  s¤   € Ü”:œa¤Ó#Ó$¨
Ò2Ð2Ð2Ü”:œa¤Ó#Ó$¨
Ò2Ð2Ð2Ü”5œ“8¨Ô.°'Ò9Ð9Ð9Ü”5 dÔ+¨tÒ3Ð3Ð3ÜÐ1”7˜7¬Ô1´!Ó4À$ÔGÈ7ÒRÐRÐRÜ”7˜7¬Ô1¸tÔDÈÒLÐLÑLrÇ   c                  óª  — t        t        t        t        «      d¬«      dk(  sJ ‚t        t        t        t        «      d¬«      dk(  sJ ‚t        t        d¬«      dk(  sJ ‚t        t        d¬«      dk(  sJ ‚t	        d«      } t         | t        «      d¬«      d	k(  sJ ‚t         | t        t        t
        «      d¬«      d
k(  sJ ‚t        | d¬«      dk(  sJ ‚y )NTr7  u   Î’(x, y)FzB(x, y)u   Î’rÌ  rc   u   Î²(x)zbeta(x, y, z)rá   )rÒ   rc   rP  rQ  r
   r_  )Úmybetas    rÈ   Ú	test_betar³  F  s·   € Ü”4œœ!“9¨$Ô/°:Ò=Ð=Ð=Ü”4œœ!“9¨%Ô0°IÒ=Ð=Ð=Ü”4 TÔ*¨dÒ2Ð2Ð2Ü”4 UÔ+¨sÒ2Ð2Ð2Ü�fÓ€FÜ‘6œ!“9¨$Ô/°7Ò:Ð:Ð:Ü‘6œ!œQ¤“?°Ô6¸/ÒIÐIÐIÜ�6 tÔ,°Ò4Ð4Ñ4rÇ   c                  ó~   —  G d„ dt         «      } t        | d¬«      dk(  sJ ‚t         | t        «      d¬«      dk(  sJ ‚y )Nc                   ó   — e Zd Zy)ú6test_function_subclass_different_name.<locals>.mygammaNrÂ   rÆ   rÇ   rÈ   Úmygammar¶  S  r�  rÇ   r·  Tr7  z
mygamma(x))rn   rÒ   rP  )r·  s    rÈ   Ú%test_function_subclass_different_namer¸  R  s<   € ô”%ô ä�7¨Ô-°Ò;Ð;Ð;Ü‘7œ1“:¨4Ô0°MÒAÐAÑArÇ   c                  ó  — t        t        t        dt        «      d¬«      dk(  sJ ‚t        t        t        dt        «      d¬«      dk(  sJ ‚t        t        t        dt        «      d¬«      dk(  sJ ‚t        t        t        t        t        «      d¬«      d	k(  sJ ‚t        t        t        t
        t        «      d¬«      d
k(  sJ ‚t        t        t        dt        «      d¬«      dk(  sJ ‚t        t        t        dt        «      d¬«      dk(  sJ ‚t        t        t        dt        «      d¬«      dk(  sJ ‚t        t        t        t        t        «      d¬«      d	k(  sJ ‚t        t        t        t
        t        «      d¬«      d
k(  sJ ‚y )Nr   Tr7  z	   n
<x> r,  z       n
<x - 1> r]  z       n
<x + 1> z        n
<-a + x> z       n
<x - y> F)rÒ   r(   rP  rƒ  r`  rQ  rÆ   rÇ   rÈ   Útest_SingularityFunctionrº  Y  s¤  € ÜÔ&¤q¨!¬QÓ/¸TÔBðòð ð ô
 Ô&¤q¨!¬QÓ/¸TÔBðòð ð ô
 Ô&¤q¨"¬aÓ0¸dÔCðòð ð ô
 Ô&¤q¬!¬QÓ/¸TÔBðòð ð ô
 Ô&¤q¬!¬QÓ/¸TÔBðòð ð ô
 Ô&¤q¨!¬QÓ/¸UÔCðòð ð ô
 Ô&¤q¨!¬QÓ/¸UÔCðòð ð ô
 Ô&¤q¨"¬aÓ0¸eÔDðòð ð ô
 Ô&¤q¬!¬QÓ/¸UÔCðòð ð ô
 Ô&¤q¬!¬QÓ/¸UÔCðòð ñ rÇ   c                  óÐ   — t        t        t        «      d¬«      dk(  sJ ‚t        t        t        d«      d¬«      dk(  sJ ‚t        t        t        t        d«      z  d¬«      dk(  sJ ‚y )NTr7  u   Î´(x)r,  u    (1)    
Î´    (x)u      (1)    
xâ‹…Î´    (x))rÒ   r}   rP  rÆ   rÇ   rÈ   Útest_deltasr¼  Ž  sl   € Ü”:œa“=¨dÔ3°wÒ>Ð>Ð>Ü”:œa Ó#°Ô6ðòð ð ô
 ”1”Z¤ 1Ó%Ñ%°4Ô8ðòð ñ rÇ   c            	      ó
  — t        ddt        «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        ddt        «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dgdgt        «      } d	}d
}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t
        dz  dt        z  fdt        «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t
        t        d«      dt        z  fdt        dz  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        ddgddgddddt        z  dz   z  dz   z  dz   z  «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )NrÆ   uB    â”Œâ”€  âŽ›  â”‚  âŽž
 â”œâ”€  âŽœ  â”‚ zâŽŸ
0â•µ 0 âŽ�  â”‚  âŽ z3  _         
 |_  /  |  \
 |   |  | z|
0  0 \  |  /)r,  uB    â”Œâ”€  âŽ›  â”‚  âŽž
 â”œâ”€  âŽœ  â”‚ xâŽŸ
0â•µ 1 âŽ�1 â”‚  âŽ z3  _         
 |_  /  |  \
 |   |  | x|
0  1 \1 |  /r-  r,  uB    â”Œâ”€  âŽ›2 â”‚  âŽž
 â”œâ”€  âŽœ  â”‚ xâŽŸ
1â•µ 1 âŽ�1 â”‚  âŽ z3  _         
 |_  /2 |  \
 |   |  | x|
1  1 \1 |  /r.  rB  )r.  r/  r0  éýÿÿÿuŸ        âŽ›  Ï€         â”‚  âŽž
 â”Œâ”€  âŽœ  â”€, -2â‹…k   â”‚  âŽŸ
 â”œâ”€  âŽœ  3         â”‚ xâŽŸ
2â•µ 4 âŽœ            â”‚  âŽŸ
     âŽ�-3, 3, 4, 5 â”‚  âŽ z‰                      
  _  / pi         |  \
 |_  | --, -2*k   |  |
 |   | 3          | x|
2  4 |            |  |
     \-3, 3, 4, 5 |  /z2/3ui    â”Œâ”€  âŽ›2/3, Ï€, -2â‹…k â”‚  2âŽž
 â”œâ”€  âŽœ             â”‚ x âŽŸ
3â•µ 4 âŽ�-3, 3, 4, 5  â”‚   âŽ zg  _                      
 |_  /2/3, pi, -2*k |  2\
 |   |              | x |
3  4 \ -3, 3, 4, 5  |   /r/  us       âŽ›     â”‚       1      âŽž
     âŽœ     â”‚ â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ
     âŽœ     â”‚         1    âŽŸ
 â”Œâ”€  âŽœ1, 2 â”‚ 1 + â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ
 â”œâ”€  âŽœ     â”‚           1  âŽŸ
2â•µ 2 âŽœ3, 4 â”‚     1 + â”€â”€â”€â”€â”€âŽŸ
     âŽœ     â”‚             1âŽŸ
     âŽœ     â”‚         1 + â”€âŽŸ
     âŽ�     â”‚             xâŽ a                             
     /     |       1      \
     |     | -------------|
  _  |     |         1    |
 |_  |1, 2 | 1 + ---------|
 |   |     |           1  |
2  2 |3, 4 |     1 + -----|
     |     |             1|
     |     |         1 + -|
     \     |             x/)ro   r_  rž   rÖ   rP  r   r†  r   ©rÔ   rT  rS  s      rÈ   Ú
test_hyperrÀ  œ  sü  € Ü��RœÓ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä��Tœ1Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�!��q�cœ1Ó€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”"�Q‘$˜œ1™�˜}¬aÓ0€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”"”a˜“h ¤1¡Ð% }´a¸±dÓ;€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�!�Q�˜!˜Q˜  A q¨!¬A©#°©'¡{°Q¡Ñ$7¸!Ñ$;Ñ!<Ó=€Dð
ð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó¸  — t        t        t        t        gdgddgg d¢t        «      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        dt        dz  gdt        dgg g t        dz  «      } d	}d
}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚d}d}t        dgdz  dgdgdgt        «      } t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        ddgddgdgddgddddt        z  dz   z  dz   z  dz   z  «      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        | t        «      } d}d}t	        | «      |k(  sJ ‚t        | «      |k(  sJ ‚y )Nr,  r   r  u‚   â•­â”€â•®2, 3 âŽ›Ï€, Ï€, x     1    â”‚  âŽž
â”‚â•¶â”�     âŽœ                 â”‚ zâŽŸ
â•°â”€â•¯4, 5 âŽ� 0, 1    1, 2, 3 â”‚  âŽ zb __2, 3 /pi, pi, x     1    |  \
/__     |                   | z|
\_|4, 5 \  0, 1     1, 2, 3 |  /re  r-  r0  uÄ           âŽ›   Ï€          â”‚   âŽž
â•­â”€â•®0, 2 âŽœ1, â”€  2, 5, Ï€ â”‚  2âŽŸ
â”‚â•¶â”�     âŽœ   7          â”‚ z âŽŸ
â•°â”€â•¯5, 0 âŽœ              â”‚   âŽŸ
        âŽ�              â”‚   âŽ zš        /   pi           |   \
 __0, 2 |1, --  2, 5, pi |  2|
/__     |   7            | z |
\_|5, 0 |                |   |
        \                |   /u³   â•­â”€â•® 1, 10 âŽ›1, 1, 1, 1, 1, 1, 1, 1, 1, 1  1 â”‚  âŽž
â”‚â•¶â”�       âŽœ                                â”‚ zâŽŸ
â•°â”€â•¯11,  2 âŽ�             1                1 â”‚  âŽ z� __ 1, 10 /1, 1, 1, 1, 1, 1, 1, 1, 1, 1  1 |  \
/__       |                                | z|
\_|11,  2 \             1                1 |  /rO  r/  r.  uÌ          âŽ›           â”‚       1      âŽž
        âŽœ           â”‚ â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ
        âŽœ           â”‚         1    âŽŸ
â•­â”€â•®1, 2 âŽœ1, 2  3, 4 â”‚ 1 + â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ
â”‚â•¶â”�     âŽœ           â”‚           1  âŽŸ
â•°â”€â•¯4, 3 âŽœ 3    4, 5 â”‚     1 + â”€â”€â”€â”€â”€âŽŸ
        âŽœ           â”‚             1âŽŸ
        âŽœ           â”‚         1 + â”€âŽŸ
        âŽ�           â”‚             xâŽ aL          /           |       1      \
        |           | -------------|
        |           |         1    |
 __1, 2 |1, 2  3, 4 | 1 + ---------|
/__     |           |           1  |
\_|4, 3 | 3    4, 5 |     1 + -----|
        |           |             1|
        |           |         1 + -|
        \           |             x/uc  âŒ                                         
âŽ®         âŽ›           â”‚       1      âŽž   
âŽ®         âŽœ           â”‚ â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ   
âŽ®         âŽœ           â”‚         1    âŽŸ   
âŽ® â•­â”€â•®1, 2 âŽœ1, 2  3, 4 â”‚ 1 + â”€â”€â”€â”€â”€â”€â”€â”€â”€âŽŸ   
âŽ® â”‚â•¶â”�     âŽœ           â”‚           1  âŽŸ dx
âŽ® â•°â”€â•¯4, 3 âŽœ 3    4, 5 â”‚     1 + â”€â”€â”€â”€â”€âŽŸ   
âŽ®         âŽœ           â”‚             1âŽŸ   
âŽ®         âŽœ           â”‚         1 + â”€âŽŸ   
âŽ®         âŽ�           â”‚             xâŽ    
âŒ¡                                        a.    /                                       
 |                                        
 |         /           |       1      \   
 |         |           | -------------|   
 |         |           |         1    |   
 |  __1, 2 |1, 2  3, 4 | 1 + ---------|   
 | /__     |           |           1  | dx
 | \_|4, 3 | 3    4, 5 |     1 + -----|   
 |         |           |             1|   
 |         |           |         1 + -|   
 |         \           |             x/   
 |                                        
/                                         )rq   r   rP  r_  rž   rÖ   r,   r¿  s      rÈ   Útest_meijergrÂ    sÏ  € Ü”BœœA�;   a¨ VªY¼Ó:€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�A”r˜!‘t�9˜q¤" a˜j¨"¨b´!°Q±$Ó7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ðð ô �A�3�r‘6˜A˜3   a S¬!Ó,€DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�A�q�8˜a ˜V a S¨1¨a¨&°!°Q¸¸1¼Q¹3À¹7¹Àa¹Ñ5HÈ1Ñ5LÑ2MÓN€Dð
ð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä�Dœ!Ó€Dðð ð ð ô" �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó¬  — t        dd¬«      \  } }}| |z  |dz  z  }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚|dz  | z  |z  }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚| |dz  z  |z  }d	}d
}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚| |dz  z  |z  t        z  }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )NzA,B,CF©Úcommutativer]  z     -1
A*B*C  u        -1
Aâ‹…Bâ‹…C  z -1    
C  *A*Bu    -1    
C  â‹…Aâ‹…Bz   -1  
A*C  *Bu      -1  
Aâ‹…C  â‹…Bz   -1  
A*C  *B
-------
   x   u1      -1  
Aâ‹…C  â‹…B
â”€â”€â”€â”€â”€â”€â”€
   x   )r   rž   rÖ   rP  )rË  rÌ  rÍ  rÔ   rS  rT  s         rÈ   Útest_noncommutativerÆ  ‘  sD  € Ü�g¨5Ô1�G€A€qˆ!àˆQ‰3ˆq�"‰u‰9€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àˆb‰5�‰7�1‰9€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àˆQ�‰U‰7�1‰9€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àˆQ�‰U‰7�1‰9”Q‰;€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óª   — t        d«      \  } }t        |t        d«      z  t        | «      «      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚y )Núx yéÈ   zW     /  ___         \
     |\/ 2 *y    ___|
atan2|-------, \/ x |
     \  20          /uI        âŽ›âˆš2â‹…y    âŽž
atan2âŽœâ”€â”€â”€â”€, âˆšxâŽŸ
     âŽ� 20     âŽ )r   rb   rs   rž   rÖ   r”  s        rÈ   Útest_pretty_special_functionsrÊ  Ñ  sc   € Ü�5‹>�D€A€qô �”4˜“9‘œd 1›gÓ&€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó„   — t        dd«      } t        | «      dk(  sJ ‚t        ddt        z  ¬«      } t        | «      dk(  sJ ‚y )N)r   r,  rU  z'Segment2D(Point2D(0, 1), Point2D(0, 2)))r,  r,  g®Gáz@)Úanglez0Ray2D(Point2D(1, 1), Point2D(2, tan(pi/50) + 1)))r+   rž   r*   r   )Úes    rÈ   Útest_pretty_geometryrÎ  ç  sD   € Ü�˜Ó€AÜ�!‹9ÐAÒAÐAÐAÜˆF˜$œr™'Ô"€AÜ�!‹9ÐJÒJÐJÑJrÇ   c                  óž  — t        t        «      } d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t	        dt
        «      } d}d}t        | «      |k(  sJ ‚t        | «      |k(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚y )	NzEi(x)r,  u   Eâ‚�(z)zexpint(1, z)zShi(x)zSi(x)zCi(x)zChi(x))
r]   rP  rž   rÖ   rj   r_  r`   ra   r\   r[   )rÔ   ÚstringrT  rS  s       rÈ   Útest_expintrÑ  î  s  € ÜŒa‹5€DØ€FÜ�$‹<˜6Ò!Ð!Ð!Ü�4‹=˜FÒ"Ð"Ð"ä�!”Q‹<€DØ€IØ€IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä”#”a“&‹>˜XÒ%Ð%Ð%Ü”"”Q“%‹=˜GÒ#Ð#Ð#Ü”"”Q“%‹=˜GÒ#Ð#Ð#Ü”#”a“&‹>˜XÒ%Ð%Ð%Ü”3”q“6‹?˜hÒ&Ð&Ð&Ü”2”a“5‹>˜WÒ$Ð$Ð$Ü”2”a“5‹>˜WÒ$Ð$Ð$Ü”3”q“6‹?˜hÒ&Ð&Ñ&rÇ   c                  ó®  — d} d}t        dt        dz   z  «      }t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚d} d}t	        dddt        z   z  «      }t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚d} d}t        dt        dz   z  «      }t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚d} d	}t        dddt        z   z  «      }t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚d
} d}t        ddt        z  «      }t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚d} d}t        ddt        z  d«      }t        |«      | k(  sJ ‚t        |«      |k(  sJ ‚y )Nz /  1  \
K|-----|
 \z + 1/u0    âŽ›  1  âŽž
KâŽœâ”€â”€â”€â”€â”€âŽŸ
 âŽ�z + 1âŽ r,  z  / |  1  \
F|1|-----|
 \ |z + 1/u<    âŽ› â”‚  1  âŽž
FâŽœ1â”‚â”€â”€â”€â”€â”€âŽŸ
 âŽ� â”‚z + 1âŽ z /  1  \
E|-----|
 \z + 1/u0    âŽ›  1  âŽž
EâŽœâ”€â”€â”€â”€â”€âŽŸ
 âŽ�z + 1âŽ z  / |  1  \
E|1|-----|
 \ |z + 1/u<    âŽ› â”‚  1  âŽž
EâŽœ1â”‚â”€â”€â”€â”€â”€âŽŸ
 âŽ� â”‚z + 1âŽ z  / |4\
Pi|3|-|
  \ |x/u)    âŽ› â”‚4âŽž
Î âŽœ3â”‚â”€âŽŸ
 âŽ� â”‚xâŽ r.  r/  z   /   4| \
Pi|3; -|6|
  \   x| /u2    âŽ›   4â”‚ âŽž
Î âŽœ3; â”€â”‚6âŽŸ
 âŽ�   xâ”‚ âŽ rf  )ry   r_  rž   rÖ   rz   r{   r|   rP  )rS  rT  rÔ   s      rÈ   Útest_elliptic_functionsrÓ    sÌ  € ðð ðð ô �aœ˜Q™‘iÓ €DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ðð ô �a˜˜A¤™E™Ó#€DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ðð ô �aœ˜Q™‘iÓ €DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ðð ô �a˜˜A¤™E™Ó#€DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ðð ô �q˜!œA™#Ó€DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ðð ðð ô �q˜!œA™#˜qÓ!€DÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó"  — ddl m} m}m}m}m}  | ddd«      }t         ||dkD  «      «      dk(  sJ ‚ |dd«      }t         ||dkD  «      «      d	k(  sJ ‚ |d
d«      } |dd«      }t         |t        ||«      «      j                  «      dk(  sJ ‚y )Nr   )r¦   ÚDieÚExponentialÚpspaceÚwhereÚx1r,  u   Domain: 0 < xâ‚� âˆ§ xâ‚� < âˆžÚd1rf  r/  u   Domain: dâ‚� = 5 âˆ¨ dâ‚� = 6r`  ra  u3   Domain: 0 â‰¤ a âˆ§ 0 â‰¤ b âˆ§ a < âˆž âˆ§ b < âˆž)	Úsympy.statsr¦   rÕ  rÖ  r×  rØ  rÖ   r   Údomain)	r¦   rÕ  rÖ  r×  rØ  r  rÎ  rË  rÌ  s	            rÈ   Útest_RandomDomainrÝ  f  sœ   € ßCÕCÙˆt�Q˜Ó€AÜ‘5˜˜Q™“<Ó Ð$EÒEÐEÐEáˆD�!‹€AÜ‘5˜˜Q™“<Ó Ð$CÒCÐCÐCá�C˜Ó€AÙ�C˜Ó€AÜ‘6œ%  1›+Ó&×-Ñ-Ó.Ø=ò>ð >ñ >rÇ   c                  óz  — t        j                  t        t        «      } t        j                  t        t        «      }| j                  t        t        t        z   z  «      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚|j                  t        t        z   «      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nz	x/(x + y)zx + y)r<   r~  rP  rQ  r  Úconvertrž   rÖ   )rs  ÚRrÔ   s      rÈ   Útest_PrettyPolyrá  t  s’   € Ü
�‰”aœÓ€AÜ
�‰”QœÓ€Aà�9‰9”QœœA™‘YÓ€DÜ�$‹<˜;Ò&Ð&Ð&Ü�4‹=˜KÒ'Ð'Ð'à�9‰9”Qœ‘UÓ€DÜ�$‹<˜7Ò"Ð"Ð"Ü�4‹=˜GÒ#Ð#Ñ#rÇ   c                  ó†   — t        t        ddd¬«      «      dk(  sJ ‚t        t        t        dt        z  «      «      dk(  sJ ‚y )Nr-  rF  Fr@  z1 
--
 5
2 r,  z 1 
 --
 pi
x  )rž   r   rP  r   rÆ   rÇ   rÈ   Útest_issue_6285rã  �  sE   € Ü”#�a˜ eÔ,Ó-Ð1AÒAÐAÐAÜ”#”a˜!œB™$“.Ó!ð
ò
ð 
ñ 
rÇ   c                  ó¾  — t        t        t        dz  t        «      dz  «      dk(  sJ ‚t        t        t        dz  t        «      dz  «      dk(  sJ ‚t        t	        t        dz  t        ddf«      dz  «      dk(  sJ ‚t        t	        t        dz  t        ddf«      dz  «      dk(  sJ ‚t        t        t        dz  t        ddf«      dz  «      dk(  sJ ‚t        t        t        dz  t        ddf«      dz  «      d	k(  sJ ‚t        d
«      } t        t         | t        «      t        «      dz  «      dk(  sJ ‚t        t         | t        «      t        «      dz  «      dk(  sJ ‚y )Nr-  zS          2
/  /     \ 
| |      | 
| |  2   | 
| | x  dx| 
| |      | 
\/       / uN            2
âŽ›âŒ       âŽž 
âŽœâŽ®  2   âŽŸ 
âŽœâŽ® x  dxâŽŸ 
âŽ�âŒ¡      âŽ  r   r,  z_          2
/ 1      \ 
|___     | 
|\  `    | 
| \     2| 
| /    x | 
|/__,    | 
\x = 0   / u™             2
âŽ›  1     âŽž 
âŽœ ___    âŽŸ 
âŽœ â•²      âŽŸ 
âŽœ  â•²    2âŽŸ 
âŽœ  â•±   x âŽŸ 
âŽœ â•±      âŽŸ 
âŽœ â€¾â€¾â€¾    âŽŸ 
âŽ�x = 0   âŽ  zZ           2
/  2      \ 
|______   | 
| |  |   2| 
| |  |  x | 
| |  |    | 
\x = 1    / uŠ              2
âŽ›  2      âŽž 
âŽœâ”€â”¬â”€â”€â”¬â”€   âŽŸ 
âŽœ â”‚  â”‚   2âŽŸ 
âŽœ â”‚  â”‚  x âŽŸ 
âŽœ â”‚  â”‚    âŽŸ 
âŽ�x = 1    âŽ  rÉ   z/          2
/d       \ 
|--(f(x))| 
\dx      / u?             2
âŽ›d       âŽž 
âŽœâ”€â”€(f(x))âŽŸ 
âŽ�dx      âŽ  )rž   r,   rP  rÖ   r   r   r
   r	   )rÉ   s    rÈ   Útest_issue_6359rå  Š  s‘  € Ü”(œ1˜a™4¤Ó# QÑ&Ó'ðò	ð 	ð 	ô ”8œA˜q™D¤!Ó$ aÑ'Ó(ðòð ð ô ”#”a˜‘dœQ  1˜IÓ&¨Ñ)Ó*ð	ò
ð 
ð 
ô ”3”q˜!‘tœa  A˜YÓ'¨Ñ*Ó+ð
òð ð ô ”'œ!˜Q™$¤ A q 	Ó*¨AÑ-Ó.ðò	ð 	ð 	ô ”7œ1˜a™4¤! Q¨ Ó+¨QÑ.Ó/ðò	ð 	ð 	ô 	�‹€AÜ”*™Qœq›T¤1Ó% qÑ(Ó)ðòð ð ô ”:™a¤›d¤AÓ&¨Ñ)Ó*ðòð ñ rÇ   c                  óŒ   — d} d}t        dt        t        «      z  «      | k(  sJ ‚t        dt        t        «      z  «      |k(  sJ ‚y )Nz  1  
-----
  ___
\/ x u   1 
â”€â”€
âˆšxr,  )rž   rs   rP  rÖ   )rS  rT  s     rÈ   Útest_issue_6739rç  Ü  sN   € ðð ðð ô �!”Dœ“G‘)Ó 	Ò)Ð)Ð)Ü�1”Tœ!“W‘9Ó Ò*Ð*Ñ*rÇ   c                  óD   — dD ]  } t        t        | «      «      | k(  rŒJ ‚ y )N)Údexpr2_d1tauzdexpr2^d1tau)rž   r   )Ú	symb_names    rÈ   Ú!test_complicated_symbol_unchangedrë  î  s)   € Ø5ò 6ˆ	Ü”f˜YÓ'Ó(¨IÓ5Ð5Ð5ñ6rÇ   c                  óz  — ddl m} m}m}m}m}m}  | d«      } | d«      } | d«      } |||d«      }	 |||d«      }
 ||«      } |d«      }t        |«      dk(  sJ ‚t        |«      d	k(  sJ ‚t        |	«      d
k(  sJ ‚t        |	«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |
|	z  «      dk(  sJ ‚t        |
|	z  «      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚ |«       }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚ ||	d|
t        j                  i«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚ ||	d|
t        j                  i|
|	z  di«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚ ||«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr   )ÚObjectÚIdentityMorphismÚNamedMorphismÚCategoryÚDiagramÚDiagramGridÚA1ÚA2ÚA3Úf1Úf2ÚK1u   Aâ‚�z
f1:A1-->A2u   fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚‚z
id:A1-->A1u   id:Aâ‚�â€”â€”â–¶Aâ‚�zf2*f1:A1-->A3u   fâ‚‚âˆ˜fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚ƒu   Kâ‚�r?  r@  Úuniquez‡{f2*f1:A1-->A3: EmptySet, id:A1-->A1: EmptySet, id:A2-->A2: EmptySet, id:A3-->A3: EmptySet, f1:A1-->A2: {unique}, f2:A2-->A3: EmptySet}u´   {fâ‚‚âˆ˜fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚ƒ: âˆ…, id:Aâ‚�â€”â€”â–¶Aâ‚�: âˆ…, id:Aâ‚‚â€”â€”â–¶Aâ‚‚: âˆ…, id:Aâ‚ƒâ€”â€”â–¶Aâ‚ƒ: âˆ…, fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚‚: {unique}, fâ‚‚:Aâ‚‚â€”â€”â–¶Aâ‚ƒ: âˆ…}z¥{f2*f1:A1-->A3: EmptySet, id:A1-->A1: EmptySet, id:A2-->A2: EmptySet, id:A3-->A3: EmptySet, f1:A1-->A2: {unique}, f2:A2-->A3: EmptySet} ==> {f2*f1:A1-->A3: {unique}}uè   {fâ‚‚âˆ˜fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚ƒ: âˆ…, id:Aâ‚�â€”â€”â–¶Aâ‚�: âˆ…, id:Aâ‚‚â€”â€”â–¶Aâ‚‚: âˆ…, id:Aâ‚ƒâ€”â€”â–¶Aâ‚ƒ: âˆ…, fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚‚: {unique}, fâ‚‚:Aâ‚‚â€”â€”â–¶Aâ‚ƒ: âˆ…} â•�â•�â–¶ {fâ‚‚âˆ˜fâ‚�:Aâ‚�â€”â€”â–¶Aâ‚ƒ: {unique}}zA1  A2
      
A3    u   Aâ‚�  Aâ‚‚
      
Aâ‚ƒ    )Úsympy.categoriesrí  rî  rï  rð  rñ  rò  rž   rÖ   r   r?  )rí  rî  rï  rð  rñ  rò  ró  rô  rõ  rö  r÷  Úid_A1rø  rÉ  Úgrids                  rÈ   Útest_categoriesrý  ó  s(  € ÷7÷ 7ñ 
�‹€BÙ	�‹€BÙ	�‹€Bá	�r˜2˜tÓ	$€BÙ	�r˜2˜tÓ	$€BÙ˜RÓ €Eá	�$‹€Bä�"‹:˜ÒÐÐÜ�2‹;˜&Ò Ð Ð ä�"‹:˜Ò%Ð%Ð%Ü�2‹;Ð2Ò2Ð2Ð2Ü�%‹=˜LÒ(Ð(Ð(Ü�5‹>Ð3Ò3Ð3Ð3ä�"�R‘%‹=˜OÒ+Ð+Ð+Ü�2�b‘5‹>Ð<Ò<Ð<Ð<ä�"‹:˜ÒÐÐÜ�2‹;˜&Ò Ð Ð ñ 	‹	€AÜ�!‹9˜
Ò"Ð"Ð"Ü�1‹:˜ÒÐÐá��X˜r¤1§:¡:Ð.Ó/€AÜ�!‹9ð @ò @ð @ð @ô �1‹:ð ò ð ð ñ 	��X˜r¤1§:¡:Ð.°°b±¸(Ð0CÓD€AÜ�!‹9ð )ò )ð )ð )ô �1‹:ð ?ò ?ð ?ð ?ñ �q‹>€DÜ�$‹<Ð3Ò3Ð3Ð3Ü�4‹=Ð:Ò:Ð:Ñ:rÇ   c                  ó  — t        j                  t        t        «      } | j	                  d«      }|j                  t        t        gdt        dz  g«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚| j                  t        dz  t        «      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚||z  }d	}d
}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚d}d}y )Nr-  r,  u          2
â„š[x, y] z        2
QQ[x, y] u3   â•±        âŽ¡    2âŽ¤â•²
â•²[x, y], âŽ£1, x âŽ¦â•±z#              2  
<[x, y], [1, x ]>u   â•± 2   â•²
â•²x , yâ•±z  2    
<x , y>u�              2     
    â„š[x, y]      
â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
â•±        âŽ¡    2âŽ¤â•²
â•²[x, y], âŽ£1, x âŽ¦â•±zY            2    
    QQ[x, y]     
-----------------
              2  
<[x, y], [1, x ]>u+  â•±âŽ¡    3âŽ¤                                                â•²
â”‚âŽ¢   x âŽ¥   â•±        âŽ¡    2âŽ¤â•²           â•±        âŽ¡    2âŽ¤â•²â”‚
â”‚âŽ¢1, â”€â”€âŽ¥ + â•²[x, y], âŽ£1, x âŽ¦â•±, [2, y] + â•²[x, y], âŽ£1, x âŽ¦â•±â”‚
â•²âŽ£   2 âŽ¦                                                â•±zç      3                                                  
     x                   2                           2   
<[1, --] + <[x, y], [1, x ]>, [2, y] + <[x, y], [1, x ]>>
     2                                                   )	r<   Úold_poly_ringrP  rQ  Úfree_moduleÚ	submodulerÖ   rž   Úideal)rà  rs  rí  rT  rS  r   ÚQs          rÈ   Útest_PrettyModulesr  *  sW  € Ü
×ÑœœAÓ€AØ	�‰�aÓ€AØ	�‰”Qœ�F˜Q¤ 1¡˜IÓ&€Aðð ðð ô �1‹:˜Ò"Ð"Ð"Ü�!‹9˜	Ò!Ð!Ð!ðð ðð ô �1‹:˜Ò"Ð"Ð"Ü�!‹9˜	Ò!Ð!Ð!à	�‰”�1‘”aÓ€Aðð ðð ô �1‹:˜Ò"Ð"Ð"Ü�!‹9˜	Ò!Ð!Ð!à	ˆA‰€Aðð ðð ô �1‹:˜Ò"Ð"Ð"Ü�!‹9˜	Ò!Ð!Ð!ðð ðñ rÇ   c                  ó
  — t        j                  t        «      t        dz  dz   gz  } d}d}t        | «      |k(  sJ ‚t	        | «      |k(  sJ ‚d}d}t        | j
                  «      |k(  sJ ‚t	        | j
                  «      |k(  sJ ‚y )Nr-  r,  u=     â„š[x]  
â”€â”€â”€â”€â”€â”€â”€â”€
â•± 2    â•²
â•²x  + 1â•±z# QQ[x]  
--------
  2     
<x  + 1>u!       â•± 2    â•²
1 + â•²x  + 1â•±z      2     
1 + <x  + 1>)r<   rÿ  rP  rÖ   rž   Úone)rà  rT  rS  s      rÈ   Útest_QuotientRingr  „  s�   € Ü
×ÑœÓœQ ™T A™X˜JÑ&€Aðð ðð ô �1‹:˜Ò"Ð"Ð"Ü�!‹9˜	Ò!Ð!Ð!ðð ðð ô �1—5‘5‹>˜YÒ&Ð&Ð&Ü�!—%‘%‹=˜IÒ%Ð%Ñ%rÇ   c                  ó$  — ddl m}  t        j                  t        «      } | |j                  d«      |j                  d«      dg«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚ | |j                  d«      |j                  d«      ddg«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚ | |j                  d«      |j                  d«      t        ggz  dg«      }d	}d
}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )Nr   )Úhomomorphismr,  u3             1         1
[0] : â„š[x]  â”€â”€> â„š[x] z/           1          1
[0] : QQ[x]  --> QQ[x] r-  u^   âŽ¡0  0âŽ¤       2         2
âŽ¢    âŽ¥ : â„š[x]  â”€â”€> â„š[x] 
âŽ£0  0âŽ¦                  zP[0  0]        2          2
[    ] : QQ[x]  --> QQ[x] 
[0  0]                    ui                       1
          1     â„š[x] 
[0] : â„š[x]  â”€â”€> â”€â”€â”€â”€â”€
                <[x]>z_                      1
           1     QQ[x] 
[0] : QQ[x]  --> ------
                 <[x]> )Úsympy.polys.agcar	  r<   rÿ  rP  r   rÖ   rž   )r	  rà  rÔ   rT  rS  s        rÈ   Útest_Homomorphismr  ª  s4  € Ý-ä
×ÑœÓ€Aá˜Ÿ™ aÓ(¨!¯-©-¸Ó*:¸Q¸CÓ@€Dðð ðð ô �4‹=˜IÒ%Ð%Ð%Ü�$‹<˜9Ò$Ð$Ð$á˜Ÿ™ aÓ(¨!¯-©-¸Ó*:¸QÀ¸FÓC€Dðð ðð ô �4‹=˜IÒ%Ð%Ð%Ü�$‹<˜9Ò$Ð$Ð$á˜Ÿ™ aÓ(¨!¯-©-¸Ó*:¼q¸c¸UÑ*BÀQÀCÓH€Dðð ðð ô �4‹=˜IÒ%Ð%Ð%Ü�$‹<˜9Ò$Ð$Ñ$rÇ   c                  ó€   — t        dd¬«      \  } }t        | |z  «      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )NzA BFrÄ  zTr(A*B)u	   Tr(Aâ‹…B))r   rY   rž   rÖ   )rË  rÌ  r  s      rÈ   Útest_Trr  é  sC   € Ü�5 eÔ,�D€A€qÜ
ˆ1ˆQ‰3‹€AÜ�!‹9˜
Ò"Ð"Ð"Ü�1‹:˜Ò$Ð$Ñ$rÇ   c                  óT   — t        dt        dz
  d¬«      dz   } t        | «      dk(  sJ ‚y )NrB  r-  Fr@  r0  z5 - 2*(x - 2))r   rP  rž   )Úeqs    rÈ   Útest_pretty_Addr  ð  s+   € Ü	ˆR”�Q‘ Ô	'¨!Ñ	+€BÜ�"‹:˜Ò(Ð(Ñ(rÇ   c                  ó°   — t        t        t        t        t        «      «      «      dk(  sJ ‚t        t        t        t        t        «      «      «      dk(  sJ ‚y )Nu   x â‡Ž yu   x â†› y)rÖ   r3   r.   rP  rQ  r0   rÆ   rÇ   rÈ   Útest_issue_7179r  õ  s?   € Ü”3”z¤!¤QÓ'Ó(Ó)¨YÒ6Ð6Ð6Ü”3”wœq¤!“}Ó%Ó&¨)Ò3Ð3Ñ3rÇ   c                  óH   — t        t        t        t        «      «      dk(  sJ ‚y )Nry  )rÖ   r.   rP  rQ  rÆ   rÇ   rÈ   Útest_issue_7180r  ú  s   € Ü”:œa¤Ó#Ó$¨	Ò1Ð1Ñ1rÇ   c                  ó|  — t        t        j                  t        j                  z
  «      dk(  sJ ‚t	        t        j                  t        j                  z
  «      dk(  sJ ‚t        t        j                  t        j
                  z
  «      dk(  sJ ‚t	        t        j                  t        j
                  z
  «      dk(  sJ ‚y )Nz(-oo, oo) \ Naturalsu	   â„� \ â„•z(-oo, oo) \ Naturals0u   â„� \ â„•â‚€)rž   r   rA  r;  rÖ   Ú	Naturals0rÆ   rÇ   rÈ   Útest_pretty_Complementr  þ  s„   € Ü”!—'‘'œAŸJ™JÑ&Ó'Ð+BÒBÐBÐBÜ”1—7‘7œQŸZ™ZÑ'Ó(¨LÒ8Ð8Ð8Ü”!—'‘'œAŸK™KÑ'Ó(Ð,DÒDÐDÐDÜ”1—7‘7œQŸ[™[Ñ(Ó)¨_Ò<Ð<Ñ<rÇ   c            
      ó  — ddl m}  t         | t        dd«      t        dd«      d¬«      «      dk(  sJ ‚t	        t
        «      5  t         | t        dd«      t        dd«      d¬«      «       d d d «       y # 1 sw Y   y xY w)	Nr   ©ÚSymmetricDifferencer-  r.  r0  Fr@  u   [2, 3] âˆ† [3, 5])Úsympy.sets.setsr  rÖ   rP   r¶   r[  rž   r  s    rÈ   Útest_pretty_SymmetricDifferencer    sz   € Ý3ÜÑ&¤x°°!£}´h¸qÀ³mØôó Ø!4ò5ð 5ð 5ä	Ô#Ó	$ñ TÜÑ"¤8¨A¨a£=´(¸1¸Q³-ÈEÔRÔS÷T÷ Tñ Tús   Á)A5Á5A>c                  ó´   — t        t        t        t        j                  «      «      dk(  sJ ‚t        t        t        t        j                  «      «      dk(  sJ ‚y )NzContains(x, Integers)u	   x âˆˆ â„¤)rž   rK   rP  r   ÚIntegersrÖ   rÆ   rÇ   rÈ   Útest_pretty_Containsr    s?   € Ü”(œ1œaŸj™jÓ)Ó*Ð.EÒEÐEÐEÜ”8œAœqŸz™zÓ*Ó+¨{Ò:Ð:Ñ:rÇ   c                  ól   — ddl m}   | dd¬«      }d}d}t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )Nr   ©Úsympifyz&((x+x**4)/(x-1))-(2*(x-1)**4/(x-1)**4)Fr@  u�              4    4    
  2â‹…(x - 1)    x  + x
- â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ + â”€â”€â”€â”€â”€â”€
          4    x - 1 
   (x - 1)           zm           4    4    
  2*(x - 1)    x  + x
- ---------- + ------
          4    x - 1 
   (x - 1)           )Ú
sympy.corer"  rž   rÖ   )r"  rÍ  rT  rS  s       rÈ   Útest_issue_8292r$    sL   € Ý"ÙÐ8À5ÔI€Aðð ðð ô �!‹9˜	Ò!Ð!Ð!Ü�1‹:˜Ò"Ð"Ñ"rÇ   c                  ó¢   — t        d«      }  | t        «      j                  t        «       }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚y )NrQ  u!    d       
-â”€â”€(y(x))
 dx      z   d       
- --(y(x))
  dx      )r
   rP  r×  rž   rÖ   )rQ  rÔ   rT  rS  s       rÈ   Útest_issue_4335r&  )  sX   € Ü�‹€AÙŒa‹D�I‰I”a‹Lˆ=€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  óH   — ddl m}   | dd¬«      }d}t        |«      |k(  sJ ‚y )Nr   r!  z2*x*y**2/1**2 + 1Fr@  uF        2    
2â‹…xâ‹…y     
â”€â”€â”€â”€â”€â”€ + 1
   2      
  1       )r#  r"  rÖ   )r"  rÍ  rT  s      rÈ   Útest_issue_8344r(  <  s0   € Ý"ÙÐ#¨eÔ4€Aðð ô �1‹:˜Ò"Ð"Ñ"rÇ   c                  ó|   — t        ddd¬«      } t        ddd¬«      }t        | |d¬«      }d}t        |«      |k(  sJ ‚y )Nr-  r.  Fr@  rO  rB  u    3 
2  
â”€â”€â”€
  2
10 )r   r   rÖ   )rP  rQ  rÍ  rT  s       rÈ   Útest_issue_6324r*  J  sJ   € ÜˆAˆq˜5Ô!€AÜˆB�˜UÔ#€AÜˆAˆq˜5Ô!€Aðð ô �1‹:˜Ò"Ð"Ñ"rÇ   c                  óÒ   — t        t        dz  «      t        t        dz  «      z  } d}t        | «      |k(  sJ ‚t        t        «      t	        d«      dz  z  } d}t        | «      |k(  sJ ‚y )Nr-  u�              âŽ›xâŽž
        cosâŽœâ”€âŽŸ
           âŽ�2âŽ 
âŽ›   âŽ›xâŽžâŽž      
âŽœsinâŽœâ”€âŽŸâŽŸ      
âŽ�   âŽ�2âŽ âŽ       rl  r=  u/           11
        â”€â”€
        13
(sin(x))  )rr   rP  rg   rÖ   r   )rÍ  rT  s     rÈ   Útest_issue_7927r,  Y  sn   € ÜŒAˆa‰C‹”#”a˜‘c“(Ñ€Aðð ô �1‹:˜Ò"Ð"Ð"ÜŒA‹”�2“�r‘Ñ€Aðð ô �1‹:˜Ò"Ð"Ñ"rÇ   c            	      óF  — ddl m} m} t        d«      }| t        z  t         ||«      t        z  t        t        |z  «      z  |ddf«      z  | t        dz  z  t         ||«      dz  t        z  t        dt        z  |z  «      z  |ddf«      z  z   }d}t        |«      |k(  sJ ‚y )Nr   )r  r  rË   r,  r-  uH       1                              1                   
   2 âŒ                               âŒ                    
Î»â‹…x â‹…âŽ® 2â‹…Ï€â‹…Ï†(t)â‹…sin(2â‹…Ï€â‹…t) dt + Î»â‹…xâ‹…âŽ® Ï€â‹…Ï†(t)â‹…sin(Ï€â‹…t) dt
     âŒ¡                              âŒ¡                   
     0                              0                   )	r¢  r  r  r
   rP  r,   r   rr   rÖ   )r  r  rË   rÍ  rT  s        rÈ   Útest_issue_6134r.  p  s¦   € ß"Ü
�5‹/€CàŒa‰”™˜Q›¤™¤3¤r¨!¡t£9Ñ,¨q°!°Q¨iÓ8Ñ8¸5ÄÀAÁ¹:ÄhÉsÐSTËvÐVWÉxÔXZÉ{Ô[^Ð_`ÔacÑ_cÐdeÑ_eÓ[fÑOfÐijÐlmÐopÐhqÓFrÑ;rÑr€Aðð ô �1‹:˜Ò"Ð"Ñ"rÇ   c            
      óh  — d} t        dddd«      t        dd«      t        t        «      }}}t        t	        |t        ||«      «      «      | k(  sJ ‚d}t        t        «      t        t        «      t        t        «      t        dd«      f\  }}}}t        t        ||t        ||«      «      «      |k(  sJ ‚y )Nu   (2, 3) âˆª ([1, 2] \ {x})r-  r.  Tr,  u   {x} âˆ© {y} âˆ© ({z} \ [1, 2]))	rP   rN   rP  rÖ   rQ   rM   rQ  r_  rO   )	r�  r`  ra  rÈ  rŽ  rÉ  rÍ  rÉ   Úgs	            rÈ   Útest_issue_9877r1  €  sš   € Ø-€JÜ�q˜!˜T 4Ó(¬(°1°a«.¼)ÄA»,ˆ!€q€AÜ”5˜œJ q¨!Ó,Ó-Ó.°*Ò<Ð<Ð<à2€JÜœ1“œy¬›|¬Y´q«\¼8ÀAÀq»>ÐI�J€A€qˆ!ˆQÜ”<  1¤j°°AÓ&6Ó7Ó8¸JÒFÐFÑFrÇ   c                  óÒ   — t         t        dt        t        z   d¬«      z   } t	        | «      dk(  sJ ‚t         t        dt        t        z
  t
        z   d¬«      z   }t	        |«      dk(  sJ ‚y )Nr]  Fr@  zc - (a + b)zc - (a - b + d))rÈ  r   r`  ra  rž   rÉ  )Úexpr1r)  s     rÈ   Útest_issue_13651r4  Š  sY   € Ü”�BœœA™¨Ô.Ñ.€EÜ�%‹=˜MÒ)Ð)Ð)Ü”�BœœA™¤™	¨EÔ2Ñ2€EÜ�%‹=Ð-Ò-Ð-Ñ-rÇ   c                  óŠ   — ddl m}  d}d}t        dd¬«      }t         | |«      «      |k(  sJ ‚t	         | |«      «      |k(  sJ ‚y )Nr   )Úprimenuznu(n)u   Î½(n)rƒ  Tr„  )Ú%sympy.functions.combinatorial.numbersr6  r   rž   rÖ   )r6  r¨  r�  rƒ  s       rÈ   Útest_pretty_primenur8  ‘  sI   € Ý=à€JØ€Jä�˜TÔ"€AÜ‘'˜!“*Ó Ò+Ð+Ð+Ü‘7˜1“:Ó *Ò,Ð,Ñ,rÇ   c                  óŠ   — ddl m}  d}d}t        dd¬«      }t         | |«      «      |k(  sJ ‚t	         | |«      «      |k(  sJ ‚y )Nr   )Ú
primeomegazOmega(n)u   Î©(n)rƒ  Tr„  )r7  r:  r   rž   rÖ   )r:  r¨  r�  rƒ  s       rÈ   Útest_pretty_primeomegar;  œ  sI   € Ý@à€JØ€Jä�˜TÔ"€AÜ‘*˜Q“-Ó  JÒ.Ð.Ð.Ü‘:˜a“=Ó! ZÒ/Ð/Ñ/rÇ   c                  óN  — ddl m}  d}d}d}d}d}d}d}d}d}	d	}
t        d
d¬«      }t         | |d«      «      |k(  sJ ‚t	         | |d«      «      |k(  sJ ‚t         | |dz   d«      «      |k(  sJ ‚t	         | |dz   d«      «      |k(  sJ ‚t         | d|z  d«      «      |k(  sJ ‚t	         | d|z  d«      «      |k(  sJ ‚t         | |d«      dz   «      |k(  sJ ‚t	         | |d«      dz   «      |k(  sJ ‚t        d | |d«      z  «      |	k(  sJ ‚t	        d | |d«      z  «      |
k(  sJ ‚y )Nr   )ÚModzx mod 7z(x + 1) mod 7z	2*x mod 7u   2â‹…x mod 7z(x mod 7) + 1z2*(x mod 7)u   2â‹…(x mod 7)rP  Tr„  re  r,  r-  )r#  r=  r   rž   rÖ   )r=  r¨  r�  rª  rŽ  Ú
ascii_str3Ú
ucode_str3Ú
ascii_str4Ú
ucode_str4Ú
ascii_str5Ú
ucode_str5rP  s               rÈ   Útest_pretty_ModrD  §  s]  € Ýà€JØ€Jà €JØ €Jà€JØ€Jà €JØ €Jà€JØ €Jä�˜TÔ"€AÜ‘#�a˜“)Ó 
Ò*Ð*Ð*Ü‘3�q˜!“9Ó Ò+Ð+Ð+Ü‘#�a˜!‘e˜Q“-Ó  JÒ.Ð.Ð.Ü‘3�q˜1‘u˜a“=Ó! ZÒ/Ð/Ð/Ü‘#�a˜!‘e˜Q“-Ó  JÒ.Ð.Ð.Ü‘3�q˜1‘u˜a“=Ó! ZÒ/Ð/Ð/Ü‘#�a˜“)˜a‘-Ó  JÒ.Ð.Ð.Ü‘3�q˜!“9˜q‘=Ó! ZÒ/Ð/Ð/Ü�!‘c˜!˜Q“i‘-Ó  JÒ.Ð.Ð.Ü�1‘s˜1˜a“y‘=Ó! ZÒ/Ð/Ñ/rÇ   c                  óh   — t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚ )rž   r   rÖ   rÆ   rÇ   rÈ   Útest_issue_11801rG  Æ  s0   € Ü”&˜“*Ó Ò#Ð#Ð#Ü”6˜"“:Ó "Ò$Ð$Ñ$rÇ   c                  óØ   — t        d«      } t        d| z  «      }d}t        |«      |k(  sJ ‚d}t        |dz  «      |k(  sJ ‚d}t        |dz   «      |k(  sJ ‚d}t        | |z  «      |k(  sJ ‚y )NrP  r,  r?  u!      2
âŽ›1âŽž 
âŽœâ”€âŽŸ 
âŽ�xâŽ  r-  u       1
1 + â”€
    xu     1
xâ‹…â”€
  x)r   rX   rÖ   )rP  ÚherT  s      rÈ   Útest_pretty_UnevaluatedExprrJ  Ë  s�   € Ü�‹€AÜ	˜˜1™Ó	€Bðð ô �2‹;˜)Ò#Ð#Ð#ðð ô �2�q‘5‹>˜YÒ&Ð&Ð&ðð ô �2˜‘6‹?˜iÒ'Ð'Ð'ðð ô �1�R‘4‹=˜IÒ%Ð%Ñ%rÇ   c                  ód   — t        ddgddgg«      t        ddg«      f} d}t        | «      |k(  sJ ‚y )Nr   uM   âŽ›âŽ¡0  0âŽ¤  âŽ¡0âŽ¤âŽž
âŽœâŽ¢    âŽ¥, âŽ¢ âŽ¥âŽŸ
âŽ�âŽ£0  0âŽ¦  âŽ£0âŽ¦âŽ )r6   rÖ   )rí  rT  s     rÈ   Útest_issue_10472rL  ô  sD   € Ü	�!�Q�˜!˜Q˜Ð Ó	!¤6¨1¨a¨&£>Ð2€Aðð ô �1‹:˜Ò"Ð"Ñ"rÇ   c                  ó~  — t        ddd«      } t        ddd«      }t        ddd«      }d}d}t        | d   «      |k(  sJ ‚t        | d   «      |k(  sJ ‚d	}d
}t        d| d   z  «      |k(  sJ ‚t        d| d   z  «      |k(  sJ ‚d}d}|d   j                  || |z
  «      }t        |«      |k(  sJ ‚t        |«      |k(  sJ ‚y )NrË  r,  r.  rÌ  rÍ  ÚA_00u   Aâ‚€â‚€)r   r   z3*A_00u   3â‹…Aâ‚€â‚€z(-B + A)[0, 0])rŠ   rž   rÖ   Úsubs)rË  rÌ  rÍ  r¨  r�  rs  s         rÈ   Útest_MatrixElement_printingrP     sé   € ä�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aà€JØ€JÜ�!�D‘'‹?˜zÒ)Ð)Ð)Ü�1�T‘7Ó˜zÒ)Ð)Ð)à€JØ€JÜ�!�A�d‘G‘)Ó Ò+Ð+Ð+Ü�1�Q�t‘W‘9Ó Ò+Ð+Ð+à!€JØ!€JØ	ˆ$‰�‰�Q˜˜A™Ó€AÜ�!‹9˜Ò#Ð#Ð#Ü�1‹:˜Ò#Ð#Ñ#rÇ   c                  óÈ   — t        d«      \  } }}}t        d«      }d}t        | |z  |z  |j                  z  «      |k(  sJ ‚d}t        d|z  |j                  z  «      |k(  sJ ‚y )Nzx y t jrÍ  uI   âŽ›   tâŽž    
âŽœâŽ›xâŽž âŽŸ j_e
âŽœâŽœâ”€âŽŸ âŽŸ    
âŽ�âŽ�yâŽ  âŽ     u%   âŽ›1âŽž    
âŽœâ”€âŽŸ j_e
âŽ�yâŽ     r,  )r   r¹   rÖ   rã  )rP  rQ  r  rã  rÍ  rT  s         rÈ   Útest_issue_12675rR    sw   € Ü˜Ó#�J€A€qˆ!ˆQÜ�3‹€Aðð ô �A�a‘C˜!‘8˜AŸC™C‘<Ó  IÒ-Ð-Ð-ðð ô �A�a‘C˜Ÿ™‘9Ó Ò*Ð*Ñ*rÇ   c                  óª  — t        ddd«      } t        ddd«      }t        ddd«      }t        |  |z  |z  «      dk(  sJ ‚t        | |z
  «      dk(  sJ ‚t        | |z  |z  | |z  z
  ||z  z
  «      dk(  sJ ‚t        dt        t        «      }t        d	t        t        «      }t        ||z   «      d
k(  sJ ‚d}t        t         |z  d|z  |z  z   «      |k(  sJ ‚y )NrË  r.  rÌ  rÍ  z-A*B*Cz-B + Az-A*B -B*C + A*B*CrP  zy*zx + y*z     2     
-2*y*  -a*xrB  )rŠ   rž   rƒ  r`  )rË  rÌ  rÍ  rP  rQ  rS  s         rÈ   Útest_MatrixSymbol_printingrT  ,  sð   € ä�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�1�"�Q‘$�q‘&‹>˜XÒ%Ð%Ð%Ü�!�a‘%‹=˜HÒ$Ð$Ð$Ü�!�A‘#�a‘%˜!˜A™#‘+  !¡Ñ#Ó$Ð(;Ò;Ð;Ð;ô 	�Sœ!œQÓ€AÜ�Tœ1œaÓ €AÜ�!�a‘%‹=˜HÒ$Ð$Ð$ðð ô
 ”1�"�Q‘$˜˜A™˜a™‘-Ó  IÒ-Ð-Ñ-rÇ   c                  óÐ   — dt         z  } t        | «      dk(  sJ ‚t        t         z  }t        |«      dk(  sJ ‚t        t        t         z  dt         z  z   «      }t        |«      dk(  sJ ‚y )NéZ   u   90Â°u   xÂ°u   cos(xÂ° + 90Â°))rœ   rž   rP  rg   )r3  r)  Úexpr3s      rÈ   Útest_degree_printingrX  A  sb   € ØŒv‰I€EÜ�%‹=˜FÒ"Ð"Ð"ÜŒf‰H€EÜ�%‹=˜EÒ!Ð!Ð!Ü””&‘˜2œf™9Ñ$Ó%€EÜ�%‹=Ð-Ò-Ð-Ñ-rÇ   c                  óä  — t        d«      } t        t        | j                  | j                  | j                  z  d| j
                  z  | j                  z  z   «      «      dk(  sJ ‚t        t        t        | j                  | j                  «      z  «      dk(  sJ ‚t        t        | j                  | j                  z  d| j
                  z  | j                  z  z   «      «      dk(  sJ ‚t        t        | j                  | j                  z  d| j
                  z  | j                  z  z   «      «      dk(  sJ ‚t        t        | j                  | j                  | j                  z  d| j
                  z  | j                  z  z   «      «      dk(  sJ ‚t        t        | j                  d| j
                  z  z   «      «      dk(  sJ ‚t        t        | j                  d| j
                  z  z   «      «      d	k(  sJ ‚y )
NrË  r.  u"   (i_A)Ã—((x_A) i_A + (3â‹…y_A) j_A)u   xâ‹…(i_A)Ã—(j_A)u    âˆ‡Ã—((x_A) i_A + (3â‹…y_A) j_A)u!   âˆ‡â‹…((x_A) i_A + (3â‹…y_A) j_A)u#   (i_A)â‹…((x_A) i_A + (3â‹…y_A) j_A)u   âˆ‡(x_A + 3â‹…y_A)u   âˆ†(x_A + 3â‹…y_A))r¹   rÖ   r¾   râ  rP  rQ  rã  r»   r¼   r½   rº   r¿   )rË  s    rÈ   Ú test_vector_expr_pretty_printingrZ  J  sx  € Ü�3‹€Aä”5˜Ÿ™˜aŸc™c !§#¡#™g a¨¯©¡e¨A¯C©C¡iÑ/Ó0Ó1Ð5YÒYÐYÐYÜ”1”U˜1Ÿ3™3 §¡“_Ñ$Ó%Ð);Ò;Ð;Ð;ä”4˜Ÿ™˜AŸC™C™ ! A§C¡C¡%¨¯©¡)Ñ+Ó,Ó-Ð1SÒSÐSÐSä”:˜aŸc™c !§#¡#™g¨¨!¯#©#©¨a¯c©c©	Ñ1Ó2Ó3Ð7ZÒZÐZÐZä”3�q—s‘s˜AŸC™C §¡™G A a§c¡c¡E¨!¯#©#¡IÑ-Ó.Ó/Ð3XÒXÐXÐXä”8˜AŸC™C  !§#¡#¡™IÓ&Ó'Ð+?Ò?Ð?Ð?Ü”9˜QŸS™S  1§3¡3¡™YÓ'Ó(Ð,@Ò@Ð@Ñ@rÇ   c                  ó^  — t        d«      } t        d| «      \  }}}t        d| «      }t        d| g«      \  }}}}t        d| | g«      }	| }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«      }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«      }
d}d	}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ || «      }
d
}d
}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚d || «      z  }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ |	|| «      }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ |	|| «      }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ |	|| «       ||«      z   ||«      z  }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚dt        z    ||«      z  }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«      d ||«      z  z   }
d}d}t	        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚y )NÚLúi j kÚi_0úA B C DÚHz-iz i
A 
  z i_0
A   
    u    iâ‚€
A  
   z  
A 
 ir¾  z     
-3*A 
    iu        
-3â‹…A 
    iz i 
H  
  jz L_0   
H      
    L_0u    Lâ‚€  
H    
   Lâ‚€z) i     L_0  k
H    *A   *B 
  L_0        u+    i    Lâ‚€  k
H   â‹…A  â‹…B 
  Lâ‚€       r,  z          i
(x + 1)*A 
          u"            i
(x + 1)â‹…A 
          r.  z   i    i
3*B  + A 
         u      i    i
3â‹…B  + A 
         )r±   r²   rµ   r³   rž   rÖ   rP  )r\  râ  rã  r†  Úi0rË  rÌ  rÍ  rÎ  r`  rÔ   rS  rT  s                rÈ   Útest_pretty_print_tensor_exprrb  [  s%  € Ü˜Ó€AÜ˜W aÓ(�G€A€qˆ!Ü	˜˜qÓ	!€BÜ˜i¨!¨Ó-�J€A€qˆ!ˆQÜ�3˜˜A˜Ó€Aàˆ2€Dðð ð
ð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ‹4€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆR‹5€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆaˆR‹5€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%à‰a��‹e‰8€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ��‹8€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ��‹8€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ��‹8‘A�a“D‰=™˜1›Ñ€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%àŒa‰C‘�1“‰:€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ‹4�!‘A�a“D‘&‰=€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c            	      óà  — ddl m}  t        d«      }t        d|«      \  }}}t	        d|g«      \  }}}}t        d||g«      }	 |  ||«       ||«      «      }
d}d}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«       |  |	|| «       ||«      «      z  }
d	}d
}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«       |  ||«       || «      z  d |	|| «      z  z    ||«      «      z  }
d}d}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«       ||«      z    |  ||«       ||«      «      z  }
d}d}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ ||«       ||«      z    |  || «       ||«      «      z  }
d}d}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚ |  || «       || «      z    || «       |t         «      «      }
d}t        |
«      |k(  sJ ‚ | d || «      z   || «       |t         «      «      }
d}t        |
«      |k(  sJ ‚t         |	||«      |di«      }
d}|}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚t         |	||«      |d|di«      }
d}|}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚t         |	||«      |di«      }
d}|}t         |	| |«      | di«      }
d}|}t        |
«      |k(  sJ ‚t        |
«      |k(  sJ ‚y )Nr   )ÚPartialDerivativer\  r]  r_  r`  z' d / i\
---|A |
  j\  /
dA     
       u=    âˆ‚ âŽ› iâŽž
â”€â”€â”€âŽœA âŽŸ
  jâŽ�  âŽ 
âˆ‚A     
       zO L_0  d / k   \
A   *---|H    |
       j\  L_0/
     dA        
               ua    Lâ‚€  âˆ‚ âŽ› k  âŽž
A  â‹…â”€â”€â”€âŽœH   âŽŸ
      jâŽ�  Lâ‚€âŽ 
    âˆ‚A       
             r.  z‹ L_0  d /   k       k     \
A   *---|3*H     + B *C   |
       j\    L_0       L_0/
     dA                    
                           už    Lâ‚€  âˆ‚ âŽ›   k      k    âŽž
A  â‹…â”€â”€â”€âŽœ3â‹…H    + B â‹…C  âŽŸ
      jâŽ�    Lâ‚€       Lâ‚€âŽ 
    âˆ‚A                  
                        zm/ i    i\   d  / L_0\
|A  + B |*-----|C   |
\       /   L_0\    /
          dD         
                     u�   âŽ› i    iâŽž  âˆ‚  âŽ› Lâ‚€âŽž
âŽœA  + B âŽŸâ‹…â”€â”€â”€â”€âŽœC  âŽŸ
âŽ�       âŽ    Lâ‚€âŽ�   âŽ 
          âˆ‚D       
                   zw/ L_0    L_0\  d /    \
|A    + B   |*---|C   |
\           /   j\ L_0/
              dD       
                       u’   âŽ› Lâ‚€    Lâ‚€âŽž  âˆ‚ âŽ›   âŽž
âŽœA   + B  âŽŸâ‹…â”€â”€â”€âŽœC  âŽŸ
âŽ�         âŽ    jâŽ� Lâ‚€âŽ 
            âˆ‚D      
                    u…      2            
  âˆ‚    âŽ›       âŽž
â”€â”€â”€â”€â”€â”€â”€âŽœA  + B âŽŸ
       âŽ� i    iâŽ 
âˆ‚A  âˆ‚A          
  n   j         uu      2         
  âˆ‚    âŽ›    âŽž
â”€â”€â”€â”€â”€â”€â”€âŽœ3â‹…A âŽŸ
       âŽ�   iâŽ 
âˆ‚A  âˆ‚A       
  n   j      r,  z i=1,j
H     
      z i=1,j=1
H       
        z i,j=1
H     
      z    j
H    
 i=1 )
Úsympy.tensor.toperatorsrd  r±   r²   rµ   r³   rž   rÖ   rƒ  r´   )rd  r\  râ  rã  r†  rË  rÌ  rÍ  rÎ  r`  rÔ   rS  rT  s                rÈ   Ú&test_pretty_print_tensor_partial_derivrf  ÿ  sº  € Ý9ä˜Ó€AÜ˜W aÓ(�G€A€qˆ!ä˜i¨!¨Ó-�J€A€qˆ!ˆQä�3˜˜A˜Ó€Aá™Q˜q›T¡1 Q£4Ó(€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ‹4Ñ!¡! A¨ r£(©A¨a«DÓ1Ñ1€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆQ‹4Ñ!¡! A£$¡q¨!¨£u¡*¨q±°1°q°b³©zÑ"9¹1¸Q»4Ó@Ñ@€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆa‹D‘1�Q“4‰KÑ*©1¨Q«4±°1³Ó6Ñ6€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%áˆa‹D‘1�Q“4‰KÑ*©1¨a¨R«5±!°A³$Ó7Ñ7€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%á™Q ˜r›U¡Q¨ r£U™]©A¨q¨b«E±1´a°R³5Ó9€Dð€Iô �4‹=˜IÒ%Ð%Ð%á˜Q™q ! ›u™W¡a¨¨£e©Q´¨r«UÓ3€Dð€Iô �4‹=˜IÒ%Ð%Ð%ä™˜1˜a› 1 Q %Ó(€Dðð ð €IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä™˜1˜a› 1 a¨¨A ,Ó/€Dðð ð €IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä™˜1˜a› 1 a &Ó)€Dðð ð €Iä™˜A˜2˜q› Q B¨ 7Ó+€Dðð ð €IÜ�$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó`   — t        ddd«      } t        | t        | | «      z  «      }d}||k(  sJ ‚y )Nr`  r,  z	a*(a x a))rŠ   rž   rŒ   )r`  rÍ  Úresults      rÈ   Útest_issue_15560ri  ®  s8   € Ü�S˜!˜QÓ€AÜˆqÔ" 1 aÓ(Ñ)Ó*€AØ€FØ�Š;Ð‰;rÇ   c                  ót   — d} d}t        t        dd«      «      |k(  sJ ‚t        t        dd«      «      | k(  sJ ‚y )Nu   Liâ‚‚(3)zpolylog(2, 3)r-  r.  )rž   rx   rÖ   )ÚuresultÚaresults     rÈ   Útest_print_polylogrm  µ  s>   € à€GØ€GÜ”'˜!˜Q“-Ó  GÒ+Ð+Ð+Ü”7˜1˜a“=Ó! WÒ,Ð,Ñ,rÇ   c                  ó   — t        d«      \  } }d}d}t        t        | |«      «      |k(  sJ ‚t        t        | |«      «      |k(  sJ ‚d}d}t        t	        | |«      «      |k(  sJ ‚t        t	        | |«      «      |k(  sJ ‚y )Nús, zu   Liâ‚›(z)zpolylog(s, z)u   Eâ‚›(z)zexpint(s, z))r   rž   rx   rÖ   rj   )r   r_  rk  rl  s       rÈ   Ú(test_print_expint_polylog_symbolic_orderrp  ¾  s‡   € Ü�6‹?�D€A€qØ€GØ€GÜ”'˜!˜Q“-Ó  GÒ+Ð+Ð+Ü”7˜1˜a“=Ó! WÒ,Ð,Ð,à€GØ€GÜ”&˜˜A“,Ó 7Ò*Ð*Ð*Ü”6˜!˜Q“<Ó  GÒ+Ð+Ñ+rÇ   c                  ó^   — t        d«      \  } }d}t        t        | dz  |«      «      |k(  sJ ‚y )Nro  u%          âŽ› 2   âŽž
polylogâŽ�s , zâŽ r-  )r   rÖ   rx   )r   r_  rT  s      rÈ   Ú)test_print_polylog_long_order_issue_25309rr  Ì  s9   € Ü�6‹?�D€A€qðð ô
 ”7˜1˜a™4 Ó#Ó$¨	Ò1Ð1Ñ1rÇ   c                  óº   — t        d«      } t        t        | dd«      «       d}d}t        t        | dd«      «      |k(  sJ ‚t        t        | dd«      «      |k(  sJ ‚y )Nr`  r,  r-  u   Î¦(a, 1, 2)zlerchphi(a, 1, 2))r   rž   rw   rÖ   )r`  rk  rl  s      rÈ   Útest_print_lerchphirt  Ö  s^   € äˆs‹€AÜ
Œ8�A�q˜!ÓÔØ€GØ!€GÜ”(˜1˜a Ó#Ó$¨Ò/Ð/Ð/Ü”8˜A˜q !Ó$Ó%¨Ò0Ð0Ñ0rÇ   c                  ó˜   — t        j                  d«      } d}t        | j                  | j                  | j
                  f«      }||k(  sJ ‚y )NÚNz(n_x, n_y, n_z))r‘   ÚReferenceFramerž   rP  rQ  r_  )rv  rh  rÍ  s      rÈ   Útest_issue_15583rx  à  s?   € ä× Ñ  Ó%€AØ€FÜ�—‘�Q—S‘S˜!Ÿ#™#ˆÓ€AØ�Š;Ð‰;rÇ   c                  óî  — d„ } ddl m} t        ddd«      } |  ||«      «      dk(  sJ ‚t        ddd«      }t        ddd«      }t        d	dd«      } | | «      d
k(  sJ ‚ | |||z  z
  |z
  «      dk(  sJ ‚ | | |z  ||z  |z  z
  |z
  «      dk(  sJ ‚t        ddd«      } | |«      dk(  sJ ‚t        ddd«      } | |«      dk(  sJ ‚t        ddd«      } | |«      dk(  sJ ‚t        d«      }t        d«      }t        ddd«      }t        ddd«      }	 | ||z  |z  ||	z  z   «      dk(  sJ ‚t        ddd«      }	t        ddd«      } | ||z  |z  ||	z  z   «      dk(  sJ ‚t        ddd«      } | |«      dk(  sJ ‚y )Nc                 ó    — t        | ddd¬«      S )NTFÚbold)rÏ   rÐ   Úmat_symbol_stylerÑ   rh  s    rÈ   Ú
boldprettyz)test_matrixSymbolBold.<locals>.boldprettyê  s   € Ü�t¨¸ÐQWÔXÐXrÇ   r   )ÚtracerË  r-  u   tr(ð��€)r.  rÌ  rÍ  u   -ð��€u   -ð��� -ð��€â‹…ð��� + ð��€u&   -ð��� -ð��€â‹…ð��� -ð��€â‹…ð���â‹…ð��‚ÚAddotu   ð��€ÌˆÚomegau   Ï‰Ú	omeganormu   â€–Ï‰â€–rÖ  ra  rÈ  r,  rÉ  u   bâ‹…ð��� + Î±â‹…ð���â‹…ð��œÚdeltaÚBetau   bâ‹…Î´ + Î±â‹…Î’â‹…ð��œÚA_2u   ð��€â‚‚)Ú sympy.matrices.expressions.tracer~  rŠ   r   )
r}  r~  rË  rÌ  rÍ  r€  r`  ra  rÈ  rÉ  s
             rÈ   Útest_matrixSymbolBoldr†  è  sÏ  € òYõ 7Ü�S˜!˜QÓ€AÙ‘e˜A“hÓ :Ò-Ð-Ð-ä�S˜!˜QÓ€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aá�q�b‹>˜WÒ$Ð$Ð$Ù�a˜!˜A™#‘g ‘kÓ"Ð&AÒAÐAÐAÙ�q�b˜‘d˜Q˜q™S ™U‘l QÑ&Ó'Ð+SÒSÐSÐSä�W˜a Ó#€AÙ�a‹=˜HÒ$Ð$Ð$Ü˜ ! QÓ'€EÙ�eÓ Ò$Ð$Ð$Ü˜ a¨Ó+€EÙ�eÓ 
Ò*Ð*Ð*äˆw‹€AÜˆs‹€AÜ�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aá�a˜‘c˜!‘e˜A˜a™C‘iÓ Ð$AÒAÐAÐAä�W˜a Ó#€AÜ�V˜Q Ó"€Aá�a˜‘c˜!‘e˜A˜a™C‘iÓ Ð$=Ò=Ð=Ð=ä�U˜A˜qÓ!€AÙ�a‹=˜IÒ%Ð%Ñ%rÇ   c                  óÐ   — t        dd«      dk(  sJ ‚t        dd«      dk(  sJ ‚t        dd«      dk(  sJ ‚t        dd«      d	k(  sJ ‚t        d
d«      dk(  sJ ‚t        dd«      dk(  sJ ‚y )Nr`  u   Ìƒu   aÌƒÚaau   aaÌƒÚaaau   aaÌƒaÚaaaau   aaaÌƒaÚaaaaau   aaaÌƒaaÚabcdefgu   âƒœu
   abcdâƒœefg)rŸ   rÆ   rÇ   rÈ   Útest_center_accentr�    s†   € Ü˜Ð3Ó4¸Ò=Ð=Ð=Ü˜Ð4Ó5¸Ò?Ð?Ð?Ü˜Ð 5Ó6¸'ÒAÐAÐAÜ˜Ð!6Ó7¸8ÒCÐCÐCÜ˜Ð"7Ó8¸IÒEÐEÐEÜ˜Ð$CÓDÈÒTÐTÑTrÇ   c                  ó  ‡ — ddl mŠ   ‰ dt        z   d¬«      dk(  sJ ‚ ‰ dt        z   d¬«      dk(  sJ ‚ ‰ dt        z   dd	¬
«      dk(  sJ ‚ ‰ dt        z   dd	¬
«      dk(  sJ ‚t        t        ˆ fd„«       t        t
        ˆ fd„«       y )Nr   rÚ   r,  Fr7  z1 + ITu   1 + â…ˆrã  )rÏ   Úimaginary_unitu   1 + â…‰c                  ó(   •—  ‰ t         t         ¬«      S )N©r�  ©r   rÚ   s   €rÈ   rä  z%test_imaginary_unit.<locals>.<lambda>   s   ø€ ™f¤Q´qÔ9€ rÇ   c                  ó    •—  ‰ t         d¬«      S )NÚkkkr‘  r’  rÚ   s   €rÈ   rä  z%test_imaginary_unit.<locals>.<lambda>!  s   ø€ ™v¤a¸Ô>€ rÇ   )Úsympy.printing.prettyrž   r   r¶   rž  Ú
ValueErrorrÚ   s   @rÈ   Útest_imaginary_unitr—    s„   ø€ Ý,Ù�!”a‘% UÔ+¨wÒ6Ð6Ð6Ù�!”a‘% TÔ*¨iÒ7Ð7Ð7Ù�!”a‘% U¸3Ô?À7ÒJÐJÐJÙ�!”a‘% T¸#Ô>À)ÒKÐKÐKä
Œ9Ó9Ô:Ü
Œ:Ó>Õ?rÇ   c                  ó(  — ddl m} m}m} t	         | d«      «      dk(  sJ ‚t         | d«      «      dk(  sJ ‚t	         |dd«      «      dk(  sJ ‚t         |dd«      «      dk(  sJ ‚t	         |dd«      «      d	k(  sJ ‚t         |dd«      «      d
k(  sJ ‚y )Nr   ©ÚIdentityr�   rŽ   r/  r   u   ð�•€r-  Ú0u   ð�Ÿ˜Ú1u   ð�Ÿ™)r  rš  r�   rŽ   rž   rÖ   r™  s      rÈ   Útest_str_special_matricesr�  $  sœ   € ß>Ñ>Ü‘(˜1“+Ó #Ò%Ð%Ð%Ü‘8˜A“;Ó 6Ò)Ð)Ð)Ü‘*˜Q Ó"Ó# sÒ*Ð*Ð*Ü‘:˜a Ó#Ó$¨Ò.Ð.Ð.Ü‘)˜A˜q“/Ó" cÒ)Ð)Ð)Ü‘9˜Q “?Ó# vÒ-Ð-Ñ-rÇ   c                  ó(  — t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      d	k(  sJ ‚t        t        t        «      «      d
k(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚t        t        t        «      «      dk(  sJ ‚y )NzW(x)zW(x, y)zAi(x)zBi(x)zAi'(x)zBi'(x)zC(x)zS(x)zHeaviside(x)u   Î¸(x)zHeaviside(x, y)u   Î¸(x, y)zdirichlet_eta(x)u   Î·(x))rž   r    rP  rÖ   rQ  r!   r#   r"   r$   r&   r'   r%   r)   rÆ   rÇ   rÈ   Útest_pretty_misc_functionsrŸ  .  s  € Ü”(œ1“+Ó &Ò(Ð(Ð(Ü”8œA“;Ó 6Ò)Ð)Ð)Ü”(œ1œa“.Ó! YÒ.Ð.Ð.Ü”8œAœq“>Ó" iÒ/Ð/Ð/Ü”&œ“)Ó Ò'Ð'Ð'Ü”6œ!“9Ó Ò(Ð(Ð(Ü”&œ“)Ó Ò'Ð'Ð'Ü”6œ!“9Ó Ò(Ð(Ð(Ü”+œa“.Ó! XÒ-Ð-Ð-Ü”;œq“>Ó" hÒ.Ð.Ð.Ü”+œa“.Ó! XÒ-Ð-Ð-Ü”;œq“>Ó" hÒ.Ð.Ð.Ü”(œ1“+Ó &Ò(Ð(Ð(Ü”8œA“;Ó 6Ò)Ð)Ð)Ü”(œ1“+Ó &Ò(Ð(Ð(Ü”8œA“;Ó 6Ò)Ð)Ð)Ü”)œA“,Ó >Ò1Ð1Ð1Ü”9œQ“<Ó  GÒ+Ð+Ð+Ü”)œAœq“/Ó"Ð&7Ò7Ð7Ð7Ü”9œQ¤“?Ó# zÒ1Ð1Ð1Ü”-¤Ó"Ó#Ð'9Ò9Ð9Ð9Ü”=¤Ó#Ó$¨Ò/Ð/Ñ/rÇ   c                  ó   — t        dd¬«      \  } }}t        d| |«      }t        d| |«      }t        ||«      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚t        |d|z   «      }d	}d
}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚t        ||j
                  z  d|z   «      }d}d}t        |«      |k(  sJ ‚t	        |«      |k(  sJ ‚y )Nzm, n, pTr„  rË  rÌ  z .n
A  u	    âˆ˜n
A  r,  z .(n + 1)
A        u    âˆ˜(n + 1)
A        z,      .(n + 1)
/   T\        
\A*B /        u8         âˆ˜(n + 1)
âŽ›   TâŽž        
âŽ�Aâ‹…B âŽ         )r   rŠ   r�   rž   rÖ   r  )r™  rƒ  r¡  rË  rÌ  rÔ   rS  rT  s           rÈ   Útest_hadamard_powerr¡  G  s  € Ü�i¨Ô.�G€A€qˆ!Ü�S˜!˜QÓ€AÜ�S˜!˜QÓ€Aô ˜!˜QÓ€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä˜!˜Q˜q™SÓ!€Dðð ðð ô
 �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ð%ä˜!˜AŸC™C™%  1¡Ó%€Dðð ðð ô �$‹<˜9Ò$Ð$Ð$Ü�4‹=˜IÒ%Ð%Ñ%rÇ   c                  ó¦   — t        dd¬«      } t        t        | | t         df«      «      dk(  sJ ‚t	        t        | | t         df«      «      dk(  sJ ‚y )Nrƒ  Tr„  r,  z;   1     
  __     
  \ `    
   )    n
  /_,    
n = -oo  uW     1     
 ___    
 â•²      
  â•²     
  â•±    n
 â•±      
 â€¾â€¾â€¾    
n = -âˆž  )r   rž   r   r   rÖ   )rƒ  s    rÈ   Útest_issue_17258r£  z  sf   € Üˆs˜DÔ!€AÜ”#�a˜!œb˜S !˜Ó%Ó&ðòð ð ô ”3�q˜1œr˜c 1˜+Ó&Ó'ð	ò
ð 
ñ 
rÇ   c                  óR   — d} | D �cg c]  }t        |«      ‘Œ c}g d¢k(  sJ ‚y c c}w )Nu   vÌ‡_m)FTFF)r    )ÚlineÚsyms     rÈ   Útest_is_combiningr§  ‘  s/   € Ø€DØ)-Ö. #ŒL˜ÕÒ.Ú#ò$ð $ñ $ùÒ.s   ‡$c                  óî  — t        t        dt        d«      z  z  «      dk(  sJ ‚t        t        dt        d«      z  z  «      dk(  sJ ‚t        t        dt        z  z  «      dk(  sJ ‚t        t        dt        z  z  «      dk(  sJ ‚t        t        dt        z  z  «      dk(  sJ ‚t        t        dt        z  z  «      dk(  sJ ‚t        d«      } t        d	d| z  z  «      d
k(  sJ ‚t        d	d| z  z  «      dk(  sJ ‚y )Nr,  z  / -1\
  \e  /
pi     u    âŽ› -1âŽž
 âŽ�â„¯  âŽ 
Ï€     z  1 
  --
  pi
pi  u    1
 â”€
 Ï€
Ï€ z3      1     
  ----------
  EulerGamma
pi          u    1
 â”€
 Î³
Ï€ Úx_17re  u   xâ‚�â‚‡___
 â•²â•± 7 zx_17___
  \/ 7 )rž   r   ri   rÖ   r   r   )r_  s    rÈ   Útest_issue_17616rª  —  sC  € Ü”"�qœ˜Q›‘x‘.Ó!ðòð ð ô
 ”2˜œ#˜a›&™‘>Ó"ðòð ð ô
 ”"�qœ‘t‘*Óðòð ð ô ”2˜œ"™‘:Óð
ò
ð 
ð 
ô ”"�qœ‘|Ñ$Ó%ðòð ð ô ”2˜œ*™Ñ%Ó&ð
ò
ð 
ð 
ô 	ˆv‹€AÜ�1�q˜‘s‘8Óðòð ð ô �!�a˜‘c‘(Óðòð ñ rÇ   c                  ó’   — t        t        t         t        «      «      dk(  sJ ‚t        t        t        t         d«      «      dk(  sJ ‚y )Nz{..., -1, 0, 1, ...}r]  z{..., 1, 0, -1, ...})rž   rL   r   rÆ   rÇ   rÈ   Útest_issue_17857r¬  Ä  s=   € Ü”%œ˜œR“.Ó!Ð%;Ò;Ð;Ð;Ü”%œœR˜C Ó$Ó%Ð)?Ò?Ð?Ñ?rÇ   c                  óî  — t        d«      } t        d«      }t        t        | t        |  t	        | «      z   d«      t
        j                  «      «      dk(  sJ ‚t        t        | t        |dz  t        dt        «      «      t        | dz  |dz  «      «      «      dk(  sJ ‚t        t        | t        t        d| dk\  f| dz  d	z
  | dk\  fd	| dk\  f| dz  d
f«      d	z
  d«      t        dd«      «      «      dk(  sJ ‚y )NrP  rƒ  r   uu   âŽ§  â”‚         âŽ›      x    âŽžâŽ«
âŽ¨x â”‚ x âˆŠ â„‚ âˆ§ âŽ�-x + â„¯  = 0âŽ âŽ¬
âŽ©  â”‚                      âŽ­r-  u¡   âŽ§  â”‚     âŽ§-n   nâŽ«   âŽ›n         âŽžâŽ«
âŽ¨x â”‚ x âˆŠ âŽ¨â”€â”€â”€, â”€âŽ¬ âˆ§ âŽœâ”€ âˆˆ [0, âˆž)âŽŸâŽ¬
âŽ©  â”‚     âŽ© 2   2âŽ­   âŽ�2         âŽ âŽ­r,  r.  rÇ  Tu  âŽ§  â”‚              âŽ›âŽ›âŽ§   1     for x â‰¥ 3âŽž          âŽžâŽ«
âŽª  â”‚              âŽœâŽœâŽª                  âŽŸ          âŽŸâŽª
âŽª  â”‚              âŽœâŽœâŽªx                 âŽŸ          âŽŸâŽª
âŽª  â”‚              âŽœâŽœâŽªâ”€ - 0.5  for x â‰¥ 2âŽŸ          âŽŸâŽª
âŽª  â”‚              âŽœâŽœâŽª2                 âŽŸ          âŽŸâŽª
âŽ¨x â”‚ x âˆŠ [0, 3] âˆ§ âŽœâŽœâŽ¨                  âŽŸ - 0.5 = 0âŽŸâŽ¬
âŽª  â”‚              âŽœâŽœâŽª  0.5    for x â‰¥ 1âŽŸ          âŽŸâŽª
âŽª  â”‚              âŽœâŽœâŽª                  âŽŸ          âŽŸâŽª
âŽª  â”‚              âŽœâŽœâŽª   x              âŽŸ          âŽŸâŽª
âŽª  â”‚              âŽœâŽœâŽª   â”€     otherwiseâŽŸ          âŽŸâŽª
âŽ©  â”‚              âŽ�âŽ�âŽ©   2              âŽ           âŽ âŽ­)r   rÖ   r¢   r   ri   r   Ú	ComplexesrK   rP   r   rN   r_   )rP  rƒ  s     rÈ   Útest_issue_18272r¯  É  s  € Üˆs‹€AÜˆs‹€Aä”< ¤2 q b¬3¨q«6¡k°1Ó#5´q·{±{ÓCÓDð(ò(ð (ð (ô ”< ¤8¨A¨a©C´¸!¼R³Ó#AÄ9ÈaÈRÐPQÉTÐSTÐUVÑSVÓCWÓXÓYð6ò6ð 6ð 6ô ”< ¤2¤i°°A¸±F°¸aÀ¹cÀC¹iÈÈaÉÐ=PÐSVÐXYÐ]^ÑX^ÐR_Ø�1‘�d�ó'Ø"ñ'#Ø$%ó$'Ü(0°°A«ó8ó 9ð
KòKð Kñ KrÇ   c                  ó<   — ddl m}  t         | d«      «      dk(  sJ ‚y )Nr   ©ÚStrrP  )Úsympy.core.symbolr²  rž   r±  s    rÈ   Útest_Strr´  ä  s   € Ý%Ü‘#�c“(Ó˜sÒ"Ð"Ñ"rÇ   c                  ó8  — t        d«      } t        dd¬«      }t        d| |«      }t        t        |«      «      dk(  sJ ‚t        t	        |«      «      dk(  sJ ‚t        t        |dkD  «      «      d	k(  sJ ‚t        d
| |«      }t        t        ||«      «      dk(  sJ ‚y )NÚmuÚsigmaT)Úpositiver  zE[X]zVar(X)r   zP(X > 0)r  z	Cov(X, Y))r   r¦   rž   r¨   rª   r©   r§   )r¶  r·  r  r  s       rÈ   Útest_symbolic_probabilityr¹  é  s—   € Ü	�‹€BÜ�G dÔ+€EÜˆs�B˜Ó€AÜ”+˜a“.Ó! WÒ,Ð,Ð,Ü”(˜1“+Ó )Ò+Ð+Ð+Ü”+˜a !™eÓ$Ó%¨Ò4Ð4Ð4Üˆs�B˜Ó€AÜ”*˜Q Ó"Ó# {Ò2Ð2Ñ2rÇ   c                  óv  — ddl m}  ddlm} t	        d«      }t        d«      \  }} |||t         t        fdt        d|dt        f«      t        t        dt        z  t        |t        z  «      z  |z  dt        |t        z  «      z  |dz  z  z   |t         kD  |t        k  z  t        |d«      z  fd	«      t        ||z  «      z  t        z  |dt        f«      f«      }t         | |«      «      d
k(  sJ ‚t         |||t         t        fdt        d|dt        f«      t        d|dt        f«      f«      «      dk(  sJ ‚y )Nr   )Úpiecewise_fold)ÚFourierSeriesrP  zk nr,  rB  r-  )r   Tu{  âŽ§                      2â‹…sin(3â‹…x)                                
âŽª2â‹…sin(x) - sin(2â‹…x) + â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ + â€¦  for n > -âˆž âˆ§ n < âˆž âˆ§ n â‰  0
âŽ¨                          3                                     
âŽª                                                                
âŽ©                 0                            otherwise         r›  )Ú$sympy.functions.elementary.piecewiser»  Úsympy.series.fourierr¼  r   r   r   rH   r   r_   rg   rr   r   rÖ   rž   )r»  r¼  rP  r†  rƒ  Úfos         rÈ   Útest_issue_21758rÀ  ô  sT  € ÝCÝ2Üˆs‹€AÜ�5‹>�D€A€qÙ	�q˜1œr˜c¤2˜,¨¬J°q¸1¸aÄ¸*Ó,EÄzÜ�2”b‘5œ˜Qœr™T›‘? 1Ñ$ q¬¨Q¬r©T«¡{°1°a±4Ñ'7Ñ7¸!¼r¸c¹'ÀaÌ"ÁfÑ9MÔPRÐSTÐVWÓPXÑ9XÐYØó	Ü   1¡›Xñ	&Ü&(ñ	)Ø+,¨a´¨*óH6ð )7ó 
8€Bô ‘> "Ó%Ó&ð	NòNð Nð Nô ‘-  A¬ s¬B <°!´ZÀÀAÀqÌ"À:Ó5NÜ1;¸AÀÀ1Äb¸zÓ1Jð2Ló Mó NØQTòUð Uñ UrÇ   c                  ó
  — ddl m} m}m}m} t        dd¬«      \  }} | dd«      }t        |«      dk(  sJ ‚ |d|«      }t        |«      dk(  sJ ‚ |d	|||g«      }t        |«      d	k(  sJ ‚ ||d«      }	t        |	«      d
k(  sJ ‚y )Nr   )ÚManifoldÚPatchÚCoordSystemÚBaseScalarFieldrÈ  T)Úrealrí  r-  ÚPÚrectrP  )rû  rÂ  rÃ  rÄ  rÅ  r   rž   )
rÂ  rÃ  rÄ  rÅ  rP  rQ  r™  r¡  rÈ  ra  s
             rÈ   Útest_diffgeomrÉ    s•   € ßLÓLÜ
�%˜dÔ
#�C€A€aÙ��aÓ€AÜ�!‹9˜ÒÐÐÙˆc�1‹€AÜ�!‹9˜ÒÐÐÙ�v˜q 1 a &Ó)€DÜ�$‹<˜6Ò!Ð!Ð!Ù˜˜aÓ €AÜ�!‹9˜ÒÐÑrÇ   c                  óP  — t        «       5  ddlm}   | d«      dk(  sJ ‚	 d d d «       t        «       5  ddlm}  |dd¬«      }d d d «       t        «       5  j
                  |j                  cxk(  rdk(  sJ ‚ J ‚	 d d d «       y # 1 sw Y   ŒexY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)Nr   )Úxstrr,  rœ  )Ú
prettyFormr   )Úunicode)r¸   Ú&sympy.printing.pretty.pretty_symbologyrË  Ú sympy.printing.pretty.stringpictrÌ  rÍ  r   )rË  rÌ  r¡  s      rÈ   Útest_deprecated_prettyFormrÐ    sŸ   € Ü	Ó	!ñ Ý?Ù�A‹w˜#Š~Ð‰~÷ô 
 Ó	!ñ )Ý?Ù�s CÔ(ˆ÷)ô 
 Ó	!ñ 'Ø�y‰y˜AŸC™CÔ& 3Ò&Ð&Ñ&Ð&Ñ&÷'ð '÷ð ú÷)ð )ú÷'ð 'ús"   ‹B²BÁ%BÂBÂBÂB%c                  ó�   — t        dd«      dk(  sJ ‚t        dd«      dk(  sJ ‚t        ddd«      dk(  sJ ‚t        ddd«      d	k(  sJ ‚y )
Nrœ  r-  z1 r.  z 1 rh  z-1-r0  z--1--)r¡   rÆ   rÇ   rÈ   Útest_centerrÒ     sX   € Ü�#�q‹>˜TÒ!Ð!Ð!Ü�#�q‹>˜UÒ"Ð"Ð"Ü�#�q˜#Ó %Ò'Ð'Ð'Ü�#�q˜#Ó 'Ò)Ð)Ñ)rÇ   rW  (ª  Úsympy.concrete.productsr   Úsympy.concrete.summationsr   Úsympy.core.addr   Úsympy.core.basicr   Úsympy.core.containersr   r   Úsympy.core.functionr	   r
   r   r   Úsympy.core.mulr   r#  r   r   r   Úsympy.core.numbersr   r   r   r   Úsympy.core.powerr   Úsympy.core.relationalr   r   r   r   r   r   Úsympy.core.singletonr   r³  r   r   Ú$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr    Úsympy.functions.special.besselr!   r"   r#   r$   Ú'sympy.functions.special.delta_functionsr%   Ú'sympy.functions.special.error_functionsr&   r'   Ú-sympy.functions.special.singularity_functionsr(   Ú&sympy.functions.special.zeta_functionsr)   Úsympy.geometry.liner*   r+   Úsympy.integrals.integralsr,   Úsympy.logic.boolalgr-   r.   r/   r0   r1   r2   r3   r4   r5   Úsympy.matrices.denser6   r7   Ú sympy.matrices.expressions.slicer8   r…  r9   Úsympy.polys.domains.finitefieldr:   Úsympy.polys.domains.integerringr;   Ú!sympy.polys.domains.rationalfieldr<   Úsympy.polys.domains.realfieldr=   Úsympy.polys.orderingsr>   r?   Úsympy.polys.polytoolsr@   Úsympy.polys.rootoftoolsrA   rB   Úsympy.series.formalrC   r¾  rD   Úsympy.series.limitsrE   Úsympy.series.orderrF   Úsympy.series.sequencesrG   rH   rI   rJ   Úsympy.sets.containsrK   rG  rL   r  rM   rN   rO   rP   rQ   Úsympy.codegen.astrR   rS   rT   rU   rV   rW   Úsympy.core.exprrX   Úsympy.physics.quantum.tracerY   Úsympy.functionsrZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   r  rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   Úsympy.matrices.expressionsr�   Úsympy.physicsr‘   Úsympy.physics.control.ltir’   r“   r”   r•   r–   r—   r˜   r™   rš   r¦  r›   rœ   r•  r�   rž   rÒ   rÎ  rŸ   r    r¡   Úsympy.sets.conditionsetr¢   Ú
sympy.setsr£   r¤   Úsympy.sets.setexprr¥   Úsympy.stats.crv_typesr¦   Ú sympy.stats.symbolic_probabilityr§   r¨   r©   rª   Úsympy.tensor.arrayr«   r¬   r­   r®   r¯   Úsympy.tensor.functionsr°   Úsympy.tensor.tensorr±   r²   r³   r´   rµ   Úsympy.testing.pytestr¶   r·   r¸   Úsympy.vectorr¹   rº   r»   r¼   r½   r¾   r¿   Úsympyr¦  rÁ   r`  ra  rÈ  rÉ  rP  rQ  r_  r†  rƒ  r   r¡  rÉ   rÚ  rÛ  rÖ   rÛ   rÞ   rã   ré   rî   rý   r  r(  r3  r;  r[  rc  ri  rk  rp  rt  rv  ry  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*  r0  r4  r8  r=  rC  rI  rK  rM  rO  rQ  rS  ra  rd  rf  rj  rm  rp  rt  rw  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.  r1  r4  r8  r;  rD  rG  rJ  rL  rP  rR  rT  rX  rZ  rb  rf  ri  rm  rp  rr  rt  rx  r†  r�  r—  r�  rŸ  r¡  r£  r§  rª  r¬  r¯  r´  r¹  rÀ  rÉ  rÐ  rÒ  rÆ   rÇ   rÈ   ú<module>r     sP  ðå +Ý )Ý Ý "ß /ß DÓ DÝ ß 9Ñ 9ß 4Ó 4Ý  ß :× :Ý "ß /Ý :Ý ;ß UÓ UÝ =ß HÝ MÝ @ß .Ý .ß X× XÕ Xß /Ý 8Ý 2Ý .Ý .Ý 0Ý ,ß /Ý *ß 5Ý #Ý /Ý %Ý  ß GÓ GÝ (Ý &ß RÕ R÷d÷ då +Ý *÷"÷ "÷ "÷ "÷ "÷ "÷ "÷ "÷ "÷ "÷ "÷ "÷R÷ Ró Rå 5å #÷J÷ Jõ Jç -ß ;ß VÑ VÝ 0ç +Ý &Ý (÷Eó E÷^õ ^å 0÷>õ >÷ OÑ Nç V× VÑ Vó ô	�—’ô 	ñ #*Ð*AÓ"BÑ €�1�a‰‰A‰q‘!‘Q™™1™aÙˆSƒM�ÙˆGƒ_�ÙˆEƒ]�ðióXJô
Ió

.ó
.ó-ó2ó	=ó.ó".ó#3óL#ó4ó0W&ótb&óJE:óPó87óv'ó
(ó
6óW7ót&ó;&ó|9&ðx ñz&ó ñz&ózz&óz=ó &ó&ó"6(órH&óV;óGSóTKMó\|7ó~óDMó`'%óRS&ólJ&óZs&ólQ(óhq+óh@ó%ó1óh+ó\7óD6>ór"&óJ@óó0\&ó~óQ(óhGó0"óJ54óp$óBóJ+)ó\*)óZ,ó3ó3ó?ó%óY$óx#ó* #óFZ&óz&ó"&ó@.&ób-ó
=&ó@14óhó$
#ó	#ó@ó>óC&óL*4óZ5(ópMó5óBó2ójów&ótx&óv=&ó@&ó,Kó'ó,_&óD>ó
$ó
óOód+ó$6ó
4;ónWót#&óL<%ó~%ó)ó
4ó
2ó=óTó;ó
#ó.&ó&#ó#ó#ó.#ó Gó.ó-ó0ó0ó>%ó
&&óR	#ó$ó.+ó*.ó*.óAó"a&óHl&ó^ó-ó
,ó2ó1óó%&óPUó@ó.ó0ó20&ófó.$ó*óZ@ó
Kó6#ó
3óUó$
ó
'ô*rÇ   