# -*- coding: utf-8 -*-
"""
Created on Tue Jun  9 14:17:05 2015

@author: François
"""

# sujet PSI 26

import numpy.linalg as alg
import numpy.random as rd
import numpy as np
import matplotlib.pyplot as plt

# Question 1.
def ecart(a,b):
    M=np.array([[3*a-2*b,-6*a+6*b+3],[a-b,-2*a+3*b+1]])
    VP=alg.eigvals(M)
    e=abs(VP[1]-VP[0])
    return round(e,2)

# Question 2.a.
def hasard(p):
    c=0
    for k in range(500):
        a=rd.geometric(p)
        b=rd.geometric(p)
        e=ecart(a,b) 
        if e>=0.1:
            c=c+1
    return c

# Question 2.b.
P=[k/100 for k in range(1,101)]
H=[hasard(p)/500 for p in P]
plt.plot(P,H)

# Question 2.c.
def f(p):
    return (2-2*p+p**2)/(2-p)

X=[k/100 for k in range(101)]
Y=[f(x) for x in X]
plt.plot(X,Y)
plt.show()


    
    