def constr_tmul(constraints, values, is_abs):
 products = []
 for (constr, val) in zip(constraints, values):
  products.append(tmul(constr.expr, val, is_abs))
 return sum_dicts(products)

def constr_tmul ( constraints , values , is_abs ) : products = [ ] for ( constr , val ) in zip ( constraints , values ) : products . append ( tmul ( constr . expr , val , is_abs ) ) return sum_dicts ( products )
multiplies a vector by the transpose of the constraints matrix .