Tutorial#
[1]:
import sympy
from actinvoting import *
[2]:
# For a particular value of phi and rho, uncomment this:
phi = sympy.Rational(1, 2)
rho = - sympy.log(phi)
[3]:
# For a formal variable rho, uncomment this:
# rho = sympy.symbols('rho')
# phi = sympy.exp(-rho)
[4]:
rho
[4]:
$\displaystyle \log{\left(2 \right)}$
[5]:
phi
[5]:
$\displaystyle \frac{1}{2}$
[6]:
# Uncomment this if you want the program to compute tau
tau = None
# Uncomment this if yout want to provide tau (this is mandatory for a formal variable rho)
# tau = [-3*rho/2, -rho/2, 1]
[7]:
culture = CultureMallows(m=3, phi=phi)
[8]:
session = WorkSession(culture=culture, c=culture.m-1, tau=tau)
[9]:
session.characteristic_polynomial
[9]:
$\displaystyle \frac{4 x_{0} x_{1}}{7} + \frac{4 x_{0}}{21} + \frac{2 x_{1}}{21} + \frac{1}{7}$
[10]:
session.cumulant
[10]:
$\displaystyle \log{\left(\frac{4 e^{t_{0}} e^{t_{1}}}{7} + \frac{4 e^{t_{0}}}{21} + \frac{2 e^{t_{1}}}{21} + \frac{1}{7} \right)}$
[11]:
session.psi
[11]:
$\displaystyle \frac{t_{0}}{2} + \frac{t_{1}}{2} - \log{\left(\frac{4 e^{t_{0}} e^{t_{1}}}{7} + \frac{4 e^{t_{0}}}{21} + \frac{2 e^{t_{1}}}{21} + \frac{1}{7} \right)}$
[12]:
for j in session.adversaries:
print(session.tau[j])
-1.0397197856083966
-0.3465730498250196
[13]:
for j in session.adversaries:
print(session.zeta[j])
0.353553738925390
0.707107163346013
[14]:
session.subcritical_candidates
[14]:
{0, 1}
[15]:
session.critical_candidates
[15]:
set()
[16]:
session.p_of_zeta
[16]:
$\displaystyle 0.420401612355072$
[17]:
session.hessian_of_p_at_zeta
[17]:
$\displaystyle \left[\begin{matrix}0 & \frac{4}{7}\\\frac{4}{7} & 0\end{matrix}\right]$
[18]:
session.hessian_of_k_at_tau
[18]:
$\displaystyle \left[\begin{matrix}0.249999999999913 & 0.0898113794914426\\0.0898113794914426 & 0.24999999999995\end{matrix}\right]$
[19]:
session.hessian_of_k_at_tau_computed_from_h_p_zeta
[19]:
$\displaystyle \left[\begin{matrix}\frac{1}{4} & 0.0898116387143214\\0.0898116387143214 & \frac{1}{4}\end{matrix}\right]$
[20]:
session.det_hessian_of_k_at_tau
[20]:
$\displaystyle 0.0544339161138098$
[21]:
session.inverse_of_hessian_of_k_at_tau
[21]:
$\displaystyle \left[\begin{matrix}4.59272486435209 & -1.64991582276877\\-1.64991582276877 & 4.59272486435141\end{matrix}\right]$
[22]:
session.matrix_m
[22]:
$\displaystyle \left[\begin{matrix}\end{matrix}\right]$
[23]:
session.integral_of_gaussian_m_with_error
[23]:
(1, 0)
[24]:
session.integral_of_gaussian_m
[24]:
1
[25]:
session.equivalent(n=10)
[25]:
$\displaystyle 0.0159046899984387$
[ ]: