added logexp_clipped transformation

This commit is contained in:
Max Zwiessele 2013-05-08 15:34:25 +01:00
parent 5b2035a390
commit ff863612eb

View file

@ -38,6 +38,23 @@ class logexp(transformation):
def __str__(self):
return '(+ve)'
class logexp_clipped(transformation):
def __init__(self):
self.domain = 'positive'
def f(self, x):
f = np.log(1. + np.exp(x))
return f
def finv(self, f):
return np.log(np.exp(f) - 1.)
def gradfactor(self, f):
ef = np.exp(f)
gf = (ef - 1.) / ef
return np.where(f < 1e-6, 0, gf)
def initialize(self, f):
return np.abs(f)
def __str__(self):
return '(+ve)'
class exponent(transformation):
def __init__(self):
self.domain = 'positive'
@ -66,6 +83,20 @@ class negative_exponent(transformation):
def __str__(self):
return '(-ve)'
class square(transformation):
def __init__(self):
self.domain = 'positive'
def f(self, x):
return x ** 2
def finv(self, x):
return np.sqrt(x)
def gradfactor(self, f):
return 2 * np.sqrt(f)
def initialize(self, f):
return np.abs(f)
def __str__(self):
return '(+sq)'
class logistic(transformation):
def __init__(self, lower, upper):
self.domain = 'bounded'