diff --git a/GPy/core/parameterization/transformations.py b/GPy/core/parameterization/transformations.py index 01a1f44b..6d6633cb 100644 --- a/GPy/core/parameterization/transformations.py +++ b/GPy/core/parameterization/transformations.py @@ -488,7 +488,7 @@ class Logistic(Transformation): return instance() newfunc = super(Transformation, cls).__new__ if newfunc is object.__new__: - o = newfunc(cls) + o = newfunc(cls) else: o = newfunc(cls, lower, upper, *args, **kwargs) cls._instances.append(weakref.ref(o)) diff --git a/GPy/core/svgp.py b/GPy/core/svgp.py index 6c6ed3cc..b87fd493 100644 --- a/GPy/core/svgp.py +++ b/GPy/core/svgp.py @@ -1,5 +1,5 @@ # Copyright (c) 2014, James Hensman, Alex Matthews -# Distributed under the terms of the GNU General public License, see LICENSE.txt +# Licensed under the BSD 3-clause license (see LICENSE.txt) import numpy as np from ..util import choleskies diff --git a/GPy/models/gp_kronecker_gaussian_regression.py b/GPy/models/gp_kronecker_gaussian_regression.py index 434661d2..5b2fb41c 100644 --- a/GPy/models/gp_kronecker_gaussian_regression.py +++ b/GPy/models/gp_kronecker_gaussian_regression.py @@ -1,5 +1,5 @@ # Copyright (c) 2014, James Hensman, Alan Saul -# Distributed under the terms of the GNU General public License, see LICENSE.txt +# Licensed under the BSD 3-clause license (see LICENSE.txt) import numpy as np from ..core.model import Model diff --git a/GPy/models/gp_var_gauss.py b/GPy/models/gp_var_gauss.py index ca68ed14..a0862d69 100644 --- a/GPy/models/gp_var_gauss.py +++ b/GPy/models/gp_var_gauss.py @@ -1,5 +1,5 @@ # Copyright (c) 2014, James Hensman, Alan Saul -# Distributed under the terms of the GNU General public License, see LICENSE.txt +# Licensed under the BSD 3-clause license (see LICENSE.txt) import numpy as np from ..core import GP diff --git a/GPy/testing/run_coverage.sh b/GPy/testing/run_coverage.sh index f9b33015..f2e52230 100755 --- a/GPy/testing/run_coverage.sh +++ b/GPy/testing/run_coverage.sh @@ -1 +1 @@ -nosetests . --with-coverage --logging-level=INFO --cover-html --cover-html-dir=coverage --cover-package=GPy --cover-erase --cover-omit=GPy.examples +nosetests . --with-coverage --logging-level=INFO --cover-html --cover-html-dir=coverage --cover-package=GPy --cover-erase diff --git a/GPy/util/choleskies.py b/GPy/util/choleskies.py index ca055e08..e245d988 100644 --- a/GPy/util/choleskies.py +++ b/GPy/util/choleskies.py @@ -1,5 +1,5 @@ # Copyright James Hensman and Max Zwiessele 2014, 2015 -# Licensed under the GNU GPL version 3.0 +# Licensed under the BSD 3-clause license (see LICENSE.txt) import numpy as np from . import linalg diff --git a/GPy/util/erfcx.py b/GPy/util/erfcx.py deleted file mode 100644 index f42e49f3..00000000 --- a/GPy/util/erfcx.py +++ /dev/null @@ -1,63 +0,0 @@ -## Copyright (C) 2010 Soren Hauberg -## -## Copyright James Hensman 2011 -## -## This program is free software; you can redistribute it and/or modify it -## under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 3 of the License, or (at -## your option) any later version. -## -## This program is distributed in the hope that it will be useful, but -## WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -## General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; see the file COPYING. If not, see -## . - -import numpy as np - -def erfcx (arg): - arg = np.atleast_1d(arg) - assert(np.all(np.isreal(arg)),"erfcx: input must be real") - - ## Get precision dependent thresholds -- or not :p - xneg = -26.628; - xmax = 2.53e+307; - - ## Allocate output - result = np.zeros (arg.shape) - - ## Find values where erfcx can be evaluated - idx_neg = (arg < xneg); - idx_max = (arg > xmax); - idx = ~(idx_neg | idx_max); - - arg = arg [idx]; - - ## Perform the actual computation - t = 3.97886080735226 / (np.abs (arg) + 3.97886080735226); - u = t - 0.5; - y = (((((((((u * 0.00127109764952614092 + 1.19314022838340944e-4) * u \ - - 0.003963850973605135) * u - 8.70779635317295828e-4) * u + \ - 0.00773672528313526668) * u + 0.00383335126264887303) * u - \ - 0.0127223813782122755) * u - 0.0133823644533460069) * u + \ - 0.0161315329733252248) * u + 0.0390976845588484035) * u + \ - 0.00249367200053503304; - y = ((((((((((((y * u - 0.0838864557023001992) * u - \ - 0.119463959964325415) * u + 0.0166207924969367356) * u + \ - 0.357524274449531043) * u + 0.805276408752910567) * u + \ - 1.18902982909273333) * u + 1.37040217682338167) * u + \ - 1.31314653831023098) * u + 1.07925515155856677) * u + \ - 0.774368199119538609) * u + 0.490165080585318424) * u + \ - 0.275374741597376782) * t; - - y [arg < 0] = 2 * np.exp (arg [arg < 0]**2) - y [arg < 0]; - - ## Put the results back into something with the same size is the original input - result [idx] = y; - result [idx_neg] = np.inf; - ## result (idx_max) = 0; # not needed as we initialise with zeros - return(result) - diff --git a/GPy/util/ln_diff_erfs.py b/GPy/util/ln_diff_erfs.py index c1137283..77610c63 100644 --- a/GPy/util/ln_diff_erfs.py +++ b/GPy/util/ln_diff_erfs.py @@ -2,12 +2,7 @@ # Licensed under the BSD 3-clause license (see LICENSE.txt) #Only works for scipy 0.12+ -try: - from scipy.special import erfcx, erf -except ImportError: - from scipy.special import erf - from .erfcx import erfcx - +from scipy.special import erfcx, erf import numpy as np def ln_diff_erfs(x1, x2, return_sign=False): @@ -17,7 +12,7 @@ def ln_diff_erfs(x1, x2, return_sign=False): :param x2 : argument of the negative erf :type x2: ndarray :return: tuple containing (log(abs(erf(x1) - erf(x2))), sign(erf(x1) - erf(x2))) - + Based on MATLAB code that was written by Antti Honkela and modified by David Luengo and originally derived from code by Neil Lawrence. """ x1 = np.require(x1).real @@ -26,7 +21,7 @@ def ln_diff_erfs(x1, x2, return_sign=False): x1 = np.reshape(x1, (1, 1)) if x2.size==1: x2 = np.reshape(x2, (1, 1)) - + if x1.shape==x2.shape: v = np.zeros_like(x1) else: @@ -36,7 +31,7 @@ def ln_diff_erfs(x1, x2, return_sign=False): v = np.zeros(x1.shape) else: raise ValueError("This function does not broadcast unless provided with a scalar.") - + if x1.size == 1: x1 = np.tile(x1, x2.shape) @@ -92,7 +87,7 @@ def ln_diff_erfs(x1, x2, return_sign=False): v[flags] = np.log(erfcx(-_x1) -erfcx(-_x2)*np.exp(_x1**2 -_x2**2))-_x1**2 - + # TODO: switch back on log of zero warnings. if return_sign: