Comments (11)
Oh, I see, there is no contradicton now, I was wrong in the previous post. No more questions, thanks
from toponetx.
The definition has been related a little in the new version to meet Def 9 here
the above definition allows the creation of hypergraph when ranks are all equal.
from toponetx.classes import CombinatorialComplex as CCC
example = CCC()
example.add_cell([1,2], rank=1)
example.add_cell([1,2], rank=2)
when you add the second cell, the first one gets deleted and replaced by the second one.
You should access the cells with example.cells or example.skeleton(1) etc not with example.cells.hyperedge_dict
for the example
from toponetx.classes import CombinatorialComplex as CCC
example = CCC()
example.add_cell([1], rank=1)
example.add_cell([1], rank=2)
I just made merged a PR to address this issue to make it match the definition above. Let me know if this answers your question so that I close this issue.
from toponetx.
Thanks for the quick response. I got the exception from your code, now it's clear that there cant be the same vertices and cells, vertices are prioritorized.
As I can see, there is still a contradiction with Def 9. From Def 9 we can get cells of rank>0 which are the vertices(rank=0). Even so could you clarify what is the definition of CCC in this repository now, to undestand how to work with CCC properly?
from toponetx.
I'm not sure what behavior you are seeking. Can you be specific?
Def 9 implies that cells with single elements can only have rank 0. This is why an exception is given.
from toponetx.
Sorry, I'm confused again)
Is it legal CCC, where am I wrong?
Let S = {a,b,c}, X = {{a}, {bc}}, rk(a) = 3, rk(bc) = 1
It has vertice of rank=3 and at the same time satisfy Def 9.
from toponetx.
Hello,
No it's not legal. X is not valid here for ccc because it must contain all elements of S. Once that happens it cannot have a and in two different ranks, only the lower one, in this case rank zero.
from toponetx.
Ok, I got that X is not valid, bad example from me
But this one looks legal
Let S = {a,b,c}, X = {{a}, {b}, {c}, {bc}}, rk(a) = rk(bc) = rk(b) = rk(c) = 3
from toponetx.
Ok, I got that X is not valid, bad example from me
But this one looks legal Let S = {a,b,c}, X = {{a}, {b}, {c}, {bc}}, rk(a) = rk(bc) = rk(b) = rk(c) = 3
the defintion forces
axiom 1 in def makes it impossible to create the above example/
rk(a) = rk(b) = rk(c) to be zero because they are singletons. All elements of S must have rank zero. Hence rk(b) and rk(c) cannot be 3.
from toponetx.
Ok, I got that X is not valid, bad example from me
But this one looks legal Let S = {a,b,c}, X = {{a}, {b}, {c}, {bc}}, rk(a) = rk(bc) = rk(b) = rk(c) = 3
What definition do you use? Acoording to this one
Axiom 1 is satisfied, all singletons s in X
Axiom 2 is satisfied, 3 <= rk(bc) <= rk(b) <= rk(c) <= 3
from toponetx.
Ok I see the source of confusion. We actually consider remark
for our implemenation which forces the singularities to have zero ranks.
In other words, in TopoNetX, you can assume that the definition is 9 + the remark above. So in your example, a valid CCC :
rk(a) (must be) =0, rk(b) (must be) =0, rk(c) (must be) =0
from toponetx.
Ok, and what is about axiom2, if I modify a bit my exmaple
Let S = {a,b,c}, X = {{a}, {b}, {c}, {bc}}, rk(a) = rk(bc) = rk(b) = rk(c) = 0
Again all axioms is satisfied, including remark 4.1
Axiom 1 is satisfied, all singletons s in X and their rank 0
Axiom 2 is satisfied, 0 <= rk(bc) <= rk(b) <= rk(c) <= 0
from toponetx.
Related Issues (20)
- adding issues in ColoredHyperGraph and CCC HOT 4
- Inconsistencies in `__getitem__` implementation across complex types
- Naming inconsistency: attributes vs. properties
- Inconsistencies in `__contains__` implementation across complex types HOT 2
- BUG in get_rank method in ColoredHyperEdgeView HOT 2
- Edge features of COSEG is a list of lists
- Edge Features of COSEG
- remove_singletons in ColoredHyperGraph throws error. HOT 2
- Unreachable code in ColoredHyperGraph, ColoredHyperGraphView, and CombinatorialComplex
- Switch from sparse matrices to sparse arrays
- Add `CITATION.cff` file after JMLR submission
- Breaking downstream change HOT 3
- Clarification of order-preserving rule for CCC HOT 1
- Package is breaking because of python version 3.12.0 HOT 2
- pyproject.toml not enforcing build constraints
- Docstrings Missing HOT 1
- Changing lint and formatter HOT 6
- Import Convention for TopoNetX HOT 1
- Invalid return type for disconnected elements in `algorithms.distance` module
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from toponetx.