pg_utils.pg_model.expansion.RadialInnerProducts
- class pg_utils.pg_model.expansion.RadialInnerProducts(names: List[str], **inner_prod_op: InnerProductOp1D)[source]
Bases:
LabeledCollection
Collection of inner products
Methods
__init__
(names, **inner_prod_op)apply
(fun[, inplace, metadata])Apply a function iteratively to all collection items
as_empty
()Return an object with the same configuration of attributes but with fields initiated as None.
copy
()Returns a deep copy of itself
deserialize
(obj[, parser])Deserialize an object
generate_collection
(index_array)Generate a new collection based on indices
load_json
(fp[, parser])Load LabeledCollection object from json
save_json
(fp[, serializer])Serialize the object in string format and save to json file
serialize
([serializer])Serialize the object
subs
(sub_map[, inplace])Substitute variables iteratively in all fields.
Attributes
iter_filter: bool determines whether None fields are skipped.
iter_name: bool determines whether the string of the field is also returned.
- apply(fun: Callable[[...], Any], inplace: bool = False, metadata: bool = False) LabeledCollection [source]
Apply a function iteratively to all collection items
- Parameters:
fun (Callable) – determines how the collection entries are processed. The signature of the function should take the form
fun(type(self[i]))
when metadata is False, and the formfun(str, type(self[i]))
when metadata is Trueinplace (bool) – whether to write changes in situ.
metadata (bool) – whether to pass field name to the function
- Returns:
Updated object. If inplace, then the current object itself is returned.
- Return type:
- as_empty() LabeledCollection [source]
Return an object with the same configuration of attributes but with fields initiated as None. May be slightly faster than copy?
- copy() LabeledCollection [source]
Returns a deep copy of itself
- static deserialize(obj: ~typing.List[tuple], parser: ~typing.Callable[[str], ~typing.Any] = <function LabeledCollection.<lambda>>) LabeledCollection [source]
Deserialize an object
- Parameters:
- Returns:
LabeledCollection, that is deserialized from the input object
Warning
Sanitized input needed. Unexpected behaviour if input is not a legitimate serialized object
- generate_collection(index_array: List[bool]) LabeledCollection [source]
Generate a new collection based on indices
- Parameters:
index_array (List[bool]) – array of booleans indicating whether a field is to be included in the new collection
- Returns:
new collection with elements specified by index_array
- property iter_name[source]
iter_name: bool determines whether the string of the field is also returned.
- static load_json(fp: ~typing.TextIO, parser: ~typing.Callable[[str], ~typing.Any] = <function LabeledCollection.<lambda>>) LabeledCollection [source]
Load LabeledCollection object from json
convenient wrapper for
deserialize
- save_json(fp: ~typing.TextIO, serializer: ~typing.Callable[[~typing.Any], str] = <class 'str'>) None [source]
Serialize the object in string format and save to json file
- Parameters:
fp (TextIO) – file handle of the output file
serializer (Callable[[Any], str]) – a callable that maps an element to a string. Default is the
str
method.
- serialize(serializer: ~typing.Callable[[~typing.Any], str] = <class 'str'>) List[tuple] [source]
Serialize the object
- Parameters:
serializer (Callable[[Any],str]) – a callable that maps an element to a string. Default is the
str
method.- Returns:
a list of serialized objects, in the format [(fname_1, serialized_element_1), (fname_2, serialized_element_2), …]
- subs(sub_map: dict, inplace: bool = False)[source]
Substitute variables iteratively in all fields. This utility is for collections with sympy.Expr elements. See warning below.
- Parameters:
Warning
To use this method, all elements in the collection need to have implemented the
subs
method. This is intended for a collection of which all elements aresympy.Expr
type. Then, this method callsapply
internally to substitute all the variables.