rivetTDA / rivet

RIVET is a tool for Topological Data Analysis, in particular two-parameter persistent homology.
GNU General Public License v3.0
74 stars 24 forks source link

Segmentation fault (core dumped) #178

Closed HeJiaxing-hjx closed 1 year ago

HeJiaxing-hjx commented 1 year ago

Sorry,but what does the error mean? I have added points, edges, faces and their bigrade into txt , but I can only run rivet_console at homology degree 0. If I run homology degree at 1, I will report an error Segmentation fault (core dumped). Is it because there don't exist one-dimensional loop? But I saw empty reporting the error is NOOOOOOO. It's not the same as that one.

mlesnick commented 1 year ago

Can you share the input file that causes the segmentation fault?

On Thu, Sep 14, 2023 at 5:33 AM hejx1996 @.***> wrote:

Sorry,but what does the error mean? I have added points, edges, faces and their bigrade into txt , but I can only run rivet_console at homology degree 0. If I run homology degree at 1, I will report an error Segmentation fault (core dumped). Is it because there don't exist one-dimensional loop? But I saw empty reporting the error is NOOOOOOO. It's not the same as that one.

— Reply to this email directly, view it on GitHub https://github.com/rivetTDA/rivet/issues/178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBHC3TX5LFMBT3FNM23X2LFOFANCNFSM6AAAAAA4XZOKUY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

HeJiaxing-hjx commented 1 year ago

Of course --datatype bifiltration --xlabel x-label --ylabel y-label

data starts here

0 ; 0 0 1 ; 1 2 2 ; 0 0 3 ; 1 2 4 ; 5 5 5 ; 3 2 6 ; 0 0 7 ; 2 1 8 ; 0 0 0 1 ; 1 2 1 2 ; 1 2 3 4 ; 5 5 4 5 ; 5 5 6 7 ; 2 1 7 8 ; 2 1 0 3 ; 1 2 3 6 ; 1 2 1 4 ; 5 5 4 7 ; 5 5 2 5 ; 3 2 5 8 ; 3 2 0 4 ; 5 5 1 5 ; 3 2 3 7 ; 2 1 4 8 ; 5 5 0 1 4 ; 5 5 0 3 4 ; 5 5 1 2 5 ; 3 2 1 4 5 ; 5 5 3 4 7 ; 5 5 3 6 7 ; 2 1 4 5 8 ; 5 5 4 7 8 ; 5 5

HeJiaxing-hjx commented 1 year ago

I use the lex order to get the bigrade.

mlesnick commented 1 year ago

This input doesn't describe a valid bifiltration. For example consider the birth grades of [3,7] and [3].

On Thu, Sep 14, 2023, 9:53 PM hejx1996 @.***> wrote:

I use the lex order to get the bigrade.

— Reply to this email directly, view it on GitHub https://github.com/rivetTDA/rivet/issues/178#issuecomment-1720376165, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBHLCVTZFQV6DBLXIJTX2OYIPANCNFSM6AAAAAA4XZOKUY . You are receiving this because you commented.Message ID: @.***>

HeJiaxing-hjx commented 1 year ago

This input doesn't describe a valid bifiltration. For example consider the birth grades of [3,7] and [3]. On Thu, Sep 14, 2023, 9:53 PM hejx1996 @.> wrote: I use the lex order to get the bigrade. — Reply to this email directly, view it on GitHub <#178 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBHLCVTZFQV6DBLXIJTX2OYIPANCNFSM6AAAAAA4XZOKUY . You are receiving this because you commented.Message ID: @.>

I think the birth grade of 3 is (1,2), and the birth grade of [3,7] is the max lex order of [3] and [7]. The lex order is if [3].x>[7].x, it takes the grade of [3], else if [3].x ==[7].x, [3].y>[7].y, it also takes the grade of [3]. So I input the [3,7] birth grade as (2,1). I think it's a one-critical input. Why it can't running? If there is a face[3,6,7], should I input the birth grade of all [3], [6], [7]?

mlesnick commented 1 year ago

The grade of a simplex must be greater than or equal to the grade of each of his faces, w.r.t. the partial order on Z^2. Given the grades you have set for [3] and [7], the grade of [3,7] must be at least [2,2], i.e., the first and second coordinates must be at least 2. Please look over the mathematical preliminaries in the documentation.

On Thu, Sep 14, 2023 at 11:42 PM hejx1996 @.***> wrote:

This input doesn't describe a valid bifiltration. For example consider the birth grades of [3,7] and [3]. … <#m_5645580516462492657_m_2090009749115981567m-2870815321900527276_> On Thu, Sep 14, 2023, 9:53 PM hejx1996 @.> wrote: I use the lex order to get the bigrade. — Reply to this email directly, view it on GitHub <#178 (comment) https://github.com/rivetTDA/rivet/issues/178#issuecomment-1720376165>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBHLCVTZFQV6DBLXIJTX2OYIPANCNFSM6AAAAAA4XZOKUY https://github.com/notifications/unsubscribe-auth/AC72KBHLCVTZFQV6DBLXIJTX2OYIPANCNFSM6AAAAAA4XZOKUY . You are receiving this because you commented.Message ID: @.>

I think the birth grade of 3 is (1,2), and the birth grade of [3,7] is the max lex order of [3] and [7]. The lex order is if [3].x>[7].x, it takes the grade of [3], else if [3].x ==[7].x, [3].y>[7].y, it also takes the grade of [3]. So I input the [3,7] birth grade as (2,1). I think it's a one-critical input. Why it can't running? If there is a face[3,6,7], should I input the birth grade of all [3], [6], [7]?

— Reply to this email directly, view it on GitHub https://github.com/rivetTDA/rivet/issues/178#issuecomment-1720439618, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBEZOGJTXNMR62RQKYLX2PFDJANCNFSM6AAAAAA4XZOKUY . You are receiving this because you commented.Message ID: @.***>

HeJiaxing-hjx commented 1 year ago

The grade of a simplex must be greater than or equal to the grade of each of his faces, w.r.t. the partial order on Z^2. Given the grades you have set for [3] and [7], the grade of [3,7] must be at least [2,2], i.e., the first and second coordinates must be at least 2. Please look over the mathematical preliminaries in the documentation. On Thu, Sep 14, 2023 at 11:42 PM hejx1996 @.> wrote: This input doesn't describe a valid bifiltration. For example consider the birth grades of [3,7] and [3]. … <#m_5645580516462492657_m_2090009749115981567m-2870815321900527276_> On Thu, Sep 14, 2023, 9:53 PM hejx1996 @.> wrote: I use the lex order to get the bigrade. — Reply to this email directly, view it on GitHub <#178 (comment) <#178 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBHLCVTZFQV6DBLXIJTX2OYIPANCNFSM6AAAAAA4XZOKUY https://github.com/notifications/unsubscribe-auth/AC72KBHLCVTZFQV6DBLXIJTX2OYIPANCNFSM6AAAAAA4XZOKUY . You are receiving this because you commented.Message ID: @.> I think the birth grade of 3 is (1,2), and the birth grade of [3,7] is the max lex order of [3] and [7]. The lex order is if [3].x>[7].x, it takes the grade of [3], else if [3].x ==[7].x, [3].y>[7].y, it also takes the grade of [3]. So I input the [3,7] birth grade as (2,1). I think it's a one-critical input. Why it can't running? If there is a face[3,6,7], should I input the birth grade of all [3], [6], [7]? — Reply to this email directly, view it on GitHub <#178 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC72KBEZOGJTXNMR62RQKYLX2PFDJANCNFSM6AAAAAA4XZOKUY . You are receiving this because you commented.Message ID: @.>

Thanks for your patience. I understand.