util
Shared functionality across TensorStats implementations.
get_lp_norms(arr, fields, norms)
Scan arr and return the Lp norms of each axis' degree sequence.
The degree sequence of axis i counts, for each index of that axis, how
many non-fill entries carry it. Its norms are what :class:DC degree
constraints are built from:
p == 0-- the number of indices with at least one non-fill entry, i.e. the size of the projection onto that axis.p == inf-- the largest degree.- otherwise --
(sum(degree ** p)) ** (1 / p).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
arr
|
Tensor
|
The tensor to scan. |
required |
fields
|
Iterable[Field]
|
The axis names of |
required |
norms
|
Iterable[float]
|
The Lp norms to compute. |
required |
Returns:
| Type | Description |
|---|---|
dict[Field, list[float]]
|
A dictionary mapping each field to its norms, ordered as |
Source code in src/finch/autoschedule/tensor_stats/util.py
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 | |