INNER CODE UNIT · Python
ind
XMU-Kuangnan-Fang-Team/GENetLib · GENetLib/BsplineFunc.py:119
ind = np.arange(ndegree + 1)
convmat[:, :, ndegree] = np.dot(
Coeff[ind, :].T, Coeff[ndegree - ind, :]
)
delta = breaks[k + 1] - breaks[k]
power = delta
prodmati = np.zeros((norder, norder))
for i in range(1, prodorder + 1):
prodmati += power * convmat[:, :, prodorder - i] / i
power *= delta
index = np.arange(k, k + norder)
prodmat[index[:, None], index] += prodmati
penaltymat = prodmat
else:
if uniquebreaks:
prodmat = inprod(
self.basisobj, self.basisobj, Lfdobj, Lfdobj, rng
)