In [1]:
import numpy as np
import scipy as sp
from matplotlib import pyplot as plt

In [24]:
A11 = 100.**3
A12 = 100.**2
r1 = 50.
A21 = 3*100.**2
A22 = 2*100.
r2 = 1.

A = sp.matrix(np.array([[A11,A12],[A21,A22]]))
r = np.array([r1,r2])

In [25]:
x = sp.dot(A.I,r)
print x
x.shape


[[  2.71050543e-20   5.00000000e-03]]
Out[25]:
(1, 2)

In [26]:
A.dot(x[0,:].transpose())


Out[26]:
matrix([[ 50.],
        [  1.]])

In [37]:
r = 100


def mypoly_q(p):
    return p**2/(2*r) 

def func(p):
    if p < r:
        return mypoly_q(p)
    else:
        return p - (r - mypoly_q(r))

In [38]:
pres = np.linspace(0,1000,1000)

In [38]:


In [39]:
plt.plot(pres, np.array(map(func,pres)))


Out[39]:
[<matplotlib.lines.Line2D at 0x7f72c3260050>]

In [40]:
plt.show()

In [ ]: