In Tutz and Schmid (2016), example 9.4 (Breast Cancer) they compare several survival models. Among them, is a "fixed effects" model for heterogeneous hazards, where the FEs are constrained by a penalty that takes this form

The short example states they use mgcv::gam with the penalty in paraPen argument.
The only example I could find of using the paraPen argument is the mgcv documentation. How is this penalty implemented?
Edit: added an example, straight from the discSurv package documentation, the other two models are straightforward. So I am looking for the implementation of this penalty on id in the model fe_surv
library(survival)
library(mgcv)
library(discSurv)
heart[, "stop"] <- ceiling(heart[, "stop"])
set.seed(0)
Indizes <- sample(unique(heart$id), 25)
randSample <- heart[unlist(sapply(1:length(Indizes),
function(x) which(heart$id==Indizes[x]))),]
heartLong <- dataLongTimeDep(dataSet=randSample,
timeColumn="stop", censColumn="event", idColumn="id", timeAsFactor=FALSE)
heartLong$id <- as.factor(heartLong$id)
# discrete time with homogenous hazard
glm_mod <- glm(y ~ timeInt + surgery + transplant + age, data=heartLong, family="binomial")
summary(gam1)
# fragility
fragility1 <- lme4::glmer(y ~ timeInt + surgery + transplant + (1|id), data=heartLong, family="binomial")
summary(fragility1)
# produces warning
# fixed effects
fe_surv <- gam(y ~ timeInt + surgery + transplant + id, data=heartLong, family="binomial", paraPen = )