MCPcopy Create free account
hub / github.com/DedalusProject/dedalus / require_linearity

Method require_linearity

dedalus/core/operators.py:270–283  ·  view source on GitHub ↗

Require expression to be linear in specified variables.

(self, *vars, allow_affine=False, self_name=None, vars_name=None, error=AssertionError)

Source from the content-addressed store, hash-verified

268 return self
269
270 def require_linearity(self, *vars, allow_affine=False, self_name=None, vars_name=None, error=AssertionError):
271 """Require expression to be linear in specified variables."""
272 if self.has(*vars):
273 if self_name is None:
274 self_name = str(self)
275 if vars_name is None:
276 vars_name = [str(var) for var in vars]
277 raise error(f"{self_name} is nonlinear in {vars_name}.")
278 elif not allow_affine:
279 if self_name is None:
280 self_name = str(self)
281 if vars_name is None:
282 vars_name = [str(var) for var in vars]
283 raise error(f"{self_name} must be strictly linear in {vars_name}.")
284
285 def require_first_order(self, *ops, **kw):
286 """Require expression to be maximally first order in specified operators."""

Callers

nothing calls this directly

Calls 2

errorFunction · 0.85
hasMethod · 0.45

Tested by

no test coverage detected