Parametric Sequences
knowledgecomplex.parametric — Parametric sequences over knowledge complexes.
A ParametricSequence represents a single complex viewed through a parameterized filter. Each parameter value selects a subcomplex — the sequence of subcomplexes can grow, shrink, or change arbitrarily as the parameter varies.
Unlike :class:~knowledgecomplex.filtration.Filtration, which enforces
monotone nesting, a ParametricSequence is observational — it computes
slices lazily from a filter function.
ParametricSequence
A complex viewed through a parameterized filter.
One complex holds all elements. A filter function decides which elements are active at each parameter value. The result is a sequence of subcomplexes indexed by parameter values.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kc
|
KnowledgeComplex
|
The complex containing all elements. |
required |
values
|
list
|
Ordered parameter values (e.g. |
required |
filter
|
Callable[[Element, value], bool]
|
Returns True if the element is active at the given parameter value. |
required |
Example
seq = ParametricSequence(kc, values=["1","2","3","4"], ... filter=lambda elem, t: elem.attrs.get("active_from","0") <= t) seq[0] # element IDs active at "1" seq.birth("carol") # first value where carol appears
Source code in knowledgecomplex/parametric.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | |
complex
property
The parent KnowledgeComplex.
values
property
The ordered parameter values.
is_monotone
property
True if every step is a superset of the previous (filtration-like).
birth(element_id)
Return the first parameter value where the element appears.
Raises:
| Type | Description |
|---|---|
ValueError
|
If the element does not appear at any parameter value. |
Source code in knowledgecomplex/parametric.py
112 113 114 115 116 117 118 119 120 121 122 123 | |
death(element_id)
Return the first parameter value where the element disappears.
Returns None if the element is present at all values after its birth, or if it never appears.
Source code in knowledgecomplex/parametric.py
125 126 127 128 129 130 131 132 133 134 135 136 137 138 | |
active_at(element_id)
Return the list of parameter values where the element is present.
Source code in knowledgecomplex/parametric.py
140 141 142 143 144 145 146 | |
new_at(index)
Return elements appearing at step index that were not in step index-1.
Source code in knowledgecomplex/parametric.py
148 149 150 151 152 153 154 | |
removed_at(index)
Return elements present at step index-1 that are absent at step index.
Source code in knowledgecomplex/parametric.py
156 157 158 159 160 161 162 | |
subcomplex_at(index)
Check if the slice at index is a valid subcomplex (closed under boundary).
Source code in knowledgecomplex/parametric.py
164 165 166 | |