def __call__(self, samples, opts=dict()): eval_type = opts.get('eval_type', 'value') if eval_type == 'value': return evaluate_1darray_function_on_2d_array( self.value, samples, opts) elif eval_type == 'value_grad': vals = evaluate_1darray_function_on_2d_array( self.value, samples, opts) return np.hstack((vals, self.gradient_set(samples).T)) elif eval_type == 'grad': return self.gradient_set(samples).T else: raise Exception('%s is not a valid eval_type' % eval_type)
def value(self, samples, opts=dict()): eval_type=opts.get('eval_type','value') if ( ('grad' in eval_type) and (self.func_type == "discontinuous" or self.func_type == "continuous") ): msg = "gradients cannot be computed for %s Genz function"%self.func_type raise Exception(msg) assert samples.min()>=0 and samples.max()<=1. vals = evaluate_1darray_function_on_2d_array(self.value_,samples,{}) if eval_type=='value': return vals[:,:1] if eval_type=='value-grad': return vals if eval_type=='grad': return vals[:,1:]
def __call__(self, samples): return evaluate_1darray_function_on_2d_array( self.value, samples, None)
def pyapprox_fun_2(samples): return evaluate_1darray_function_on_2d_array(fun_pause_2, samples)
def pyapprox_fun_0(samples): values = evaluate_1darray_function_on_2d_array(fun_0, samples) return values
def __call__(self, samples, opts): return evaluate_1darray_function_on_2d_array(self.run, samples, opts)