In [1]:
import numpy as np
import matplotlib.pyplot as plt
from math import cos, acos, cosh, acosh
%matplotlib inline

In [2]:
def T(m, x):
    if m < 0:
        return 0
    elif abs(x) <= 1:
        return cos(m * acos(x))
    else:
        return cosh(m * acosh(abs(x)))

In [3]:
b = 1
a = -1
n = 1000
x = np.linspace(a, b, n, endpoint=True)
m_max = 10

In [4]:
plt.figure(figsize=(20,10))
for m in range(1, m_max+1, 2):
    vectorTm = np.vectorize(lambda x: T(m, x))
    plt.plot(x, vectorTm(x))
plt.show()



In [5]:
b = 1
a = 0.05
n = 10000
x = np.linspace(a, b, n, endpoint=True)

In [6]:
plt.figure(figsize=(20,10))
for i, m in enumerate([5, 10, 20]):
    vectorTm = np.vectorize(lambda x: T(m, (2*x-a-b)/(b-a))/T(m, (-a-b)/(b-a)))
    plt.subplot(3, 1, i+1) 
    plt.plot(x, vectorTm(x))
plt.show()



In [ ]: