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
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 | |