dfm / george

Fast and flexible Gaussian Process regression in Python
http://george.readthedocs.io
MIT License
451 stars 128 forks source link

Added support to modify the parameter bounds after GP object creation #114

Closed Kamuish closed 3 years ago

Kamuish commented 5 years ago

Hello,

If possible could you write a quick tutorial on how to run/test the code base? I have tested the function on an archaic way and it appears to be running, but I couldn't write unit tests for it

coveralls commented 5 years ago

Coverage Status

Coverage decreased (-1.2%) to 84.244% when pulling f019bedbc383ae3693474401d111c3dec4855bfb on Kamuish:master into 44819680036387625ee89f81c55104f3c1600759 on dfm:master.

coveralls commented 5 years ago

Coverage Status

Coverage decreased (-1.06%) to 84.421% when pulling 8137c79964416c768bef19caa00a6a7f279ee773 on Kamuish:master into 44819680036387625ee89f81c55104f3c1600759 on dfm:master.

Kamuish commented 5 years ago

@dfm This should be working as expected but the list with the parameter bounds is not being changed. Do you have any idea why? It doesn't give an error, but the list is not being updated, even on the same scope (you can see with the print statements).

Do you have to define the parameter_bounds.setter to be able to change it? But that is not needed if you only want to change elements inside a list which is returned by a @property decorator.

Could you give me some insight into the sittuation?

Edit: this could be solved by creating the parameter_bounds.setter and work around the problem

dfm commented 5 years ago

I should write developer docs, I agree, but I'm up to my eyeballs for at least the next few weeks so it'll take me a while to get there. Please feel free to ping me again if you don't hear back in the next month or two. Thanks for your patience!

Kamuish commented 5 years ago

No problem. I think that I have already figured how to test the code and how to fix the previously mentioned bug. I will try to change the pull request so that it works. I will also start to contributing some more documentation of the module, if it's ok by you.

Kamuish commented 5 years ago

@dfm I have been looking further into your code and noticed that changing the parameter_bounds is not trivial, since the property @parameter_bounds has the same name as the class attribute, thus leading to an infinite cycle. Was this made by a design decision to not allow changing the bounds after the kernel is created or was it some unpredicted consequence?