Open opeltre opened 3 years ago
Note that graded domains, sheaves etc. correspond to +
of domains (coproduct = disjoint union)
K = Sum([K[i] for i in K])
# N.B: degree == position in the sum
# n-generalisation of Left a | Right b
Furthermore a cartesian *
of maps naturally acts on the union:
d = Prod([d[i] for di in d]) # GradedLinear(...)
While K.lift(name)
looks for a common method on subdomains to lift their product on the union. (extends solution of #7)
Now a graded domain has keys of type 1-Simplex (for convenience) e.g.
A, B = {i: A[i]}, {j: B[j]}
A + B = {(0, i): A[i]} | {(1, j): B[j]}
We can also implement quotient / partitioning as a map:
Sheaf -> Sum(Sheaf)
Grades could be key values returned by the partitioning function (instead of 0..n)
Useful for boundary conditions #10
Transfer the cartesian structure already present on
Set
to domains and sheaves:That way the tensor product will be simply defined on fields as: