Commit eedcfc5d authored by Martin Reinecke's avatar Martin Reinecke
Browse files

Merge remote-tracking branch 'origin/redesigning_resolve' into redesign

parents 3d54c5ea c1ba0c60
...@@ -24,7 +24,6 @@ from ..compat import * ...@@ -24,7 +24,6 @@ from ..compat import *
from ..domains.power_space import PowerSpace from ..domains.power_space import PowerSpace
from ..domains.unstructured_domain import UnstructuredDomain from ..domains.unstructured_domain import UnstructuredDomain
from ..field import Field from ..field import Field
from ..multi_field import MultiField
from ..multi_domain import MultiDomain from ..multi_domain import MultiDomain
from ..sugar import makeOp, sqrt from ..sugar import makeOp, sqrt
from ..operators.operator import Operator from ..operators.operator import Operator
...@@ -149,3 +148,7 @@ class AmplitudeModel(Operator): ...@@ -149,3 +148,7 @@ class AmplitudeModel(Operator):
@property @property
def ceps(self): def ceps(self):
return self._ceps return self._ceps
@property
def norm_phi_mean(self):
return self._norm_phi_mean
...@@ -56,11 +56,19 @@ class InverseGammaModel(Operator): ...@@ -56,11 +56,19 @@ class InverseGammaModel(Operator):
return Linearization(points, jac) return Linearization(points, jac)
@staticmethod @staticmethod
def IG(self, field, alpha, q): def IG(field, alpha, q):
foo = invgamma.ppf(norm.cdf(field.local_data), alpha, scale=q) foo = invgamma.ppf(norm.cdf(field.local_data), alpha, scale=q)
return Field.from_local_data(field.domain, foo) return Field.from_local_data(field.domain, foo)
@staticmethod @staticmethod
def inverseIG(self, u, alpha, q): def inverseIG(u, alpha, q):
res = norm.ppf(invgamma.cdf(u.local_data, alpha, scale=q)) res = norm.ppf(invgamma.cdf(u.local_data, alpha, scale=q))
return Field.from_local_data(u.domain, res) return Field.from_local_data(u.domain, res)
@property
def alpha(self):
return self._alpha
@property
def q(self):
return self._q
...@@ -6,7 +6,6 @@ from .compat import * ...@@ -6,7 +6,6 @@ from .compat import *
from .field import Field from .field import Field
from .multi_field import MultiField from .multi_field import MultiField
from .sugar import makeOp from .sugar import makeOp
from .domain_tuple import DomainTuple
class Linearization(object): class Linearization(object):
...@@ -110,7 +109,6 @@ class Linearization(object): ...@@ -110,7 +109,6 @@ class Linearization(object):
return self.__mul__(other) return self.__mul__(other)
def vdot(self, other): def vdot(self, other):
from .domain_tuple import DomainTuple
from .operators.simple_linear_operators import VdotOperator from .operators.simple_linear_operators import VdotOperator
if isinstance(other, (Field, MultiField)): if isinstance(other, (Field, MultiField)):
return Linearization( return Linearization(
...@@ -123,7 +121,6 @@ class Linearization(object): ...@@ -123,7 +121,6 @@ class Linearization(object):
def sum(self): def sum(self):
from .operators.simple_linear_operators import SumReductionOperator from .operators.simple_linear_operators import SumReductionOperator
from .sugar import full
return Linearization( return Linearization(
Field.scalar(self._val.sum()), Field.scalar(self._val.sum()),
SumReductionOperator(self._jac.target)(self._jac)) SumReductionOperator(self._jac.target)(self._jac))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment