Computational Physics, Python, Math, Physics.
#Vector array u_i^{j-1} u_j = np.zeros(N_x+1,float) #Vector array u_i^j u_jp1 = np.zeros(N_x+1,float) #Vector array u_i^{j+1} q = np.zeros(N_x+1,float) q[0:N_x+1] = c[0:N_x+1]**2 U = np.zeros((N_x+1,N_t+1),float) #Global solution #init cond - at t = 0 u_j[0:N_x+1] = I(X[0:N_x+1]) U[:,0] =