блин ну посмотрите внимательнее
2**0.5 * pi == (2*pi*pi) **0.5
обе функции дают один результат
from math import pi
import numpy as np
def calcf(n):
const = 2**0.5 * pi
x = 1.0 / n * np.arange(n+1)
one = np.sin(pi*x)*const
return np.vstack(e*one for e in one)
def calcf(n):
const = 2 * pi * pi
x = 1.0 / n * np.arange(n+1)
one = np.sin(pi*x)
return np.vstack(e*const*one for e in one)
в первом примере
return np.vstack(e*one for e in one)
в вектор one уже добавлены множители корня константы и при перемножении она просто возводится в квадрат и получается исходная константа
во втором
return np.vstack(e*const*one for e in one)
константа добавляется при самом перемножении