code: def _C(self):
          
          return self.terms.build_constraints(self.coef_,
                                              self._constraint_lam,
                                              self._constraint_l2)
docs: builds the GAM block-diagonal constraint matrix in quadratic form
          out of constraint matrices specified for each feature.
  
          behaves like a penalty, but with a very large lambda value, ie 1e6.
  
          Parameters
          ---------
          None
  
          Returns
          -------
          C : sparse CSC matrix containing the model constraints in quadratic form