def rsa_given_lambda(semantics_mat, saliences, util_func=log): rsa_obj = RSA(semantics_mat) rsa_obj.r0() # returns a an RSA object given a specific lambda def func_over_lambda(lamb): rsa_obj.l = lamb rsa_obj.s1(util_func) return rsa_obj.r2(saliences) # return function over RSA objects return func_over_lambda