[Aldor-l] operations working in general, but not in special cases -- help needed
Christian Aistleitner
tmgisi at gmx.at
Wed Apr 5 04:48:06 EDT 2006
Hello Martin,
>> > We have a category A with an operation op: % -> %. However, there
>> are natural
>> > subdomains of domains of A, which are no longer closed under op.
>>
>> if I understood you correctly, you did not mean "closed under op" but
>> "op is a
>> partial function" -- which is a completely different thing.
>
> Could you please elaborate.
Take Q\{0} and multiplicative inverse of an element.
{ 1 } is closed under inversion and inversion is a total function on
{1}.
{ 1, 2 } is not closed under inversion ( 1/2 is not in {1,2} ).
Hence inversion is a partial function on { 1, 2 }.
But 1/2 can be computed in Q\{0}.
Consider { 0, 1 }. Inversion is not defined for 0. Therefore inversion is
a partial function on { 0, 1 }.
In contrast to the situation before, you cannot say "{ 0, 1 }" is closed
under inversion. Neither the opposite. Since inversion is not defined for
0.
>> > Example 1, Matroids
>>
>> > A "matroid" is a mathematical structure with one very, very important
>> > operation, namely "dualizing" ...
>>
>> If a matroid is required to have a "dualizing function", then a
>> graphical
>> matroid cannot be a matroid. Simply because it does not provide the
>> total
>> function "dualize"
>>
>> However, a graphical matroid can "contain" a matroid.
>>
>> So the abstract setting is "graphical matroid" and the specialized one
>> is
>> "matroid". Not the other way round.
>
> In a way you are right, of course - I followed the same reasoning
> originally. However, I do feel a little uneasy saying that a graphical
> matroid
> is not a matroid...
A name is just a name ...
The important part is the structure of the things. That's what you want to
model.
And the structure tells you that a "graphical matroid" is not a "matroid".
The name does not affect the inner structre of an object.
There are a lot of similar situation in mathematics.
Consider for example polynomials.
In computer algebra a polynomial ring is typically commutative. If it is
not commutative (in whatever way), we say "non-commutative polynomial
ring".
However, "non-commutative polynomial ring" is the generalization and
"polynomial ring" is the specialization.
Replace "non-commutative" by "graphical" and "polynomial ring" by
"matroid" and you will see, the correspondance.
Or maybe the example Ralf gave convinces you ;)
> Furthermore, there is another complication:
>
> For a certain class of graphical matroids, namely those which are
> 3-connected,
> we can recover the vertices. I.e.,
>
> general Matroids have duals but no vertices
>
> graphic non-planar three-connected Matroids do not have duals but do have
> vertices
>
> So, what to do?
I am not familiar with matroids, so let me get this straightened out.
1. Graphic non-planar matroids do not provide a way to compute a dual
element.
2. Graphic planar matroids are able to compute duals for all elements.
3. Graphic non-planar three-connected Matroids do not have duals at all.
4. Graphic three-connected Matroids allow recovering of vertices.
5. Planar graphic matroids are called "matroids".
I got number 1 wrong in my previous post. I thought, a graphical matroid
can dualize _some_ of its elements. This laid way to the "partial
function" thing.
So the base category is
GraphicalMatroid
You have several qualities for GraphicalMatroids:
-"planarness"
-"three-connected-ness"
I assume, that the properties coming from "planarness" and
"three-connected-ness" are bound to graphical matroids and not a general
mathematic construct (e.g.: the connection between a planar near-ring and
a near-ring is not connected in any way with the connection between planar
graphic matroids and graphic matroids -- At least I cannot see an obvious
connection). If this assumtion is wrong, than I'd introduce general
categories "PlanarType" and "ThreeConnectedType". However, let's assume
the assumption is valid.
GraphicalMatroidType: Category == with {
}
PlanarGraphicalMatroidType: Category == with {
GraphicalMatroidType;
dualize: % -> %;
}
ThreeConnectedGraphicalMatroidType: Category == with {
GraphicalMatroidType;
recover: ( %, % ) -> %;
}
This models 1., 2., and 4..
I would not model 5., since this is just a renaming. However, I in the
documentation of PlanarMatroidType, I would mention that "planar graphical
matroids" are called "matroids".
3. is awkward, since only planar graphical matroids have duals. So non
planar, already means that they have no duals. Three-connected is
superfluous. Therefore, 3. is redundant and already contained.
Obviously, I misunderstood the problem, as my solution seems too easy :((
--
Kind regards,
Christian
More information about the Aldor-l
mailing list