Commit 57943d67 authored by Martin Reinecke's avatar Martin Reinecke

more docs

parent 0aa213dd
...@@ -52,7 +52,8 @@ def PS_field(pspace, func): ...@@ -52,7 +52,8 @@ def PS_field(pspace, func):
Returns Returns
------- -------
Field : a field defined on (pspace,) containing the computed function values Field
A field defined on (pspace,) containing the computed function values
""" """
if not isinstance(pspace, PowerSpace): if not isinstance(pspace, PowerSpace):
raise TypeError raise TypeError
...@@ -209,6 +210,23 @@ def create_power_operator(domain, power_spectrum, space=None): ...@@ -209,6 +210,23 @@ def create_power_operator(domain, power_spectrum, space=None):
def create_harmonic_smoothing_operator(domain, space, sigma): def create_harmonic_smoothing_operator(domain, space, sigma):
"""Creates an operator which smoothes a subspace of a harmonic domain.
Parameters
----------
domain: DomainTuple
The total domain and target of the operator
space : int
the index of the subspace on which the operator acts.
This must be a harmonic space
sigma : float
The sigma of the Gaussian smoothing kernel
Returns
-------
DiagonalOperator
The requested smoothing operator
"""
kfunc = domain[space].get_fft_smoothing_kernel_function(sigma) kfunc = domain[space].get_fft_smoothing_kernel_function(sigma)
return DiagonalOperator(kfunc(domain[space].get_k_length_array()), domain, return DiagonalOperator(kfunc(domain[space].get_k_length_array()), domain,
space) space)
...@@ -226,7 +244,8 @@ def full(domain, val): ...@@ -226,7 +244,8 @@ def full(domain, val):
Returns Returns
------- -------
Field / MultiField : the newly created uniform field Field or MultiField
The newly created uniform field
""" """
if isinstance(domain, (dict, MultiDomain)): if isinstance(domain, (dict, MultiDomain)):
return MultiField.full(domain, val) return MultiField.full(domain, val)
...@@ -249,7 +268,8 @@ def from_random(random_type, domain, dtype=np.float64, **kwargs): ...@@ -249,7 +268,8 @@ def from_random(random_type, domain, dtype=np.float64, **kwargs):
Returns Returns
------- -------
Field / MultiField : the newly created random field Field or MultiField
The newly created random field
""" """
if isinstance(domain, (dict, MultiDomain)): if isinstance(domain, (dict, MultiDomain)):
return MultiField.from_random(random_type, domain, dtype, **kwargs) return MultiField.from_random(random_type, domain, dtype, **kwargs)
...@@ -274,7 +294,8 @@ def from_global_data(domain, arr, sum_up=False): ...@@ -274,7 +294,8 @@ def from_global_data(domain, arr, sum_up=False):
Returns Returns
------- -------
Field / MultiField : the newly created random field Field or MultiField
The newly created random field
""" """
if isinstance(domain, (dict, MultiDomain)): if isinstance(domain, (dict, MultiDomain)):
return MultiField.from_global_data(domain, arr, sum_up) return MultiField.from_global_data(domain, arr, sum_up)
...@@ -294,7 +315,8 @@ def from_local_data(domain, arr): ...@@ -294,7 +315,8 @@ def from_local_data(domain, arr):
Returns Returns
------- -------
Field / MultiField : the newly created field Field or MultiField
The newly created field
""" """
if isinstance(domain, (dict, MultiDomain)): if isinstance(domain, (dict, MultiDomain)):
return MultiField.from_local_data(domain, arr) return MultiField.from_local_data(domain, arr)
...@@ -311,7 +333,8 @@ def makeDomain(domain): ...@@ -311,7 +333,8 @@ def makeDomain(domain):
Returns Returns
------- -------
DomainTuple / MultiDomain : the newly created domain object DomainTuple or MultiDomain
The newly created domain object
""" """
if isinstance(domain, (MultiDomain, dict)): if isinstance(domain, (MultiDomain, dict)):
return MultiDomain.make(domain) return MultiDomain.make(domain)
...@@ -319,6 +342,21 @@ def makeDomain(domain): ...@@ -319,6 +342,21 @@ def makeDomain(domain):
def makeOp(input): def makeOp(input):
"""Converts a Field or MultiField to a diagonal operator.
Parameters
----------
input : None, Field or MultiField
- if None, None is returned.
- if Field, a DiagonalOperator with the coefficients given by this
Field is returned.
- if MultiField, a BlockDiagonalOperator with entries given by this
MultiField is returned.
Notes
-----
No volume factors are applied.
"""
if input is None: if input is None:
return None return None
if isinstance(input, Field): if isinstance(input, Field):
...@@ -330,6 +368,14 @@ def makeOp(input): ...@@ -330,6 +368,14 @@ def makeOp(input):
def domain_union(domains): def domain_union(domains):
"""Computes the union of multiple DomainTuples/MultiDomains.
Parameters
----------
domains : list of DomainTuple or MultiDomain
- if DomainTuple, all entries must be equal
- if MultiDomain, there must not be any conflicting components
"""
if isinstance(domains[0], DomainTuple): if isinstance(domains[0], DomainTuple):
if any(dom != domains[0] for dom in domains[1:]): if any(dom != domains[0] for dom in domains[1:]):
raise ValueError("domain mismatch") raise ValueError("domain mismatch")
......
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