bertiniteam / b2

Bertini 2.0: The redevelopment of Bertini in C++.
93 stars 34 forks source link

Errors with endgame tutorial for pybertini #151

Closed jbcolli2 closed 6 years ago

jbcolli2 commented 6 years ago

Using a strict copy and paste of the endgame tutorial on the pybertini documentation page, I found the following errors.

  1. The line

    assert(eg.final_approximation()==pybertini.VectorXmp())

    produces an error, but can be fixed by inserting minieigen, such as

    assert(eg.final_approximation()==pybertini.minieigen.VectorXmp())
  2. When tracking past the endgame boundary, the following runtime error occurs,

    RuntimeError: CauchyEG Run time and point must be of matching precision. (16!=20)

    The print out before the tracking says that all variables have precision 16. This error I do not know how to fix.

ofloveandhate commented 6 years ago

i thought i solved this error. if it is what i am thinking it is, it was due to a return by value thing in minieigen -- hence the clone i took of minieigen to bertiniteam.

will you ensure that your minieigen points to the bertiniteam fork?

ofloveandhate commented 6 years ago

see #145

jbcolli2 commented 6 years ago

Sourcetree says I'm pointing to the bertiniteam fork, but my minieigen files are not up to date. Do I need to do some pull to get the latests minieigen commits?

ofloveandhate commented 6 years ago

git submodule update --recursive i think should do it.

ofloveandhate commented 6 years ago

or, maybe this

ofloveandhate commented 6 years ago

one of my students just got the same thing. his clone of minieigen was correct, but line 148 differed from the one here on github, in one file (the one with the return-by-value problem i fixed). calling git pull didn't do anything. for some reason, it wasn't on a branch, but needed to be on master. hence, i edited the .gitmodules file to point to the master branch.

you need to move to the minieigen folder in b2/python and git pull origin master.

jbcolli2 commented 6 years ago

Yeah, that sounds like the exact problem I was having. Must have happened when I did a new clone on my new computer here at UMW. I also figured out how to fix the problem, but through SourceTree. I think you may have fixed it a while back and maybe you haven't done a fresh clone in a while?

Thanks for figuring out a fix, I'll pass it on to my students. Will it be fixed for anyone who clones the repo from scratch?

On Mon, Jun 11, 2018 at 6:49 PM danielle brake notifications@github.com wrote:

one of my students just got the same thing. his clone of minieigen was correct, but line 148 differed from the one here on github, in one file (the one with the return-by-value problem i fixed). calling git pull didn't do anything. for some reason, it wasn't on a branch, but needed to be on master. hence, i edited the .gitmodules file to point to the master branch.

you need to move to the minieigen folder in b2/python and git pull origin master.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bertiniteam/b2/issues/151#issuecomment-396411229, or mute the thread https://github.com/notifications/unsubscribe-auth/AF3KK_So2flAaCmALTNl6FF00WjjGz_1ks5t7vQJgaJpZM4Ui8WQ .

--

University of Mary Washington Department of Mathematics Trinkle Hall B41

ofloveandhate commented 6 years ago

this fix should solve the problem for any fresh clones. i will try it out myself soon. leaving open for a bit til we can confirm the issue is genuinely gone.

ofloveandhate commented 6 years ago

nope, problem persisted. hmm.

ofloveandhate commented 6 years ago

it took me from my last comment til now to solve it. oh, SO. user VonC's solution to Git submodules: Specify a branch/tag did it for me. phew!

i'd love it if you would confirm that a fresh clone of b2 brings for you a clone of bertiniteam/minieigen at master. then i think we can mark this one as solved.

ofloveandhate commented 6 years ago

ok, i think what that does is update the commit. so, when we get to a state where we like minieigen's changes, we bump the commit number. that's what it boils down to.

jbcolli2 commented 6 years ago

I am still compiling, but I can confirm that with a brand new clone, I see the updated visitor.hpp file in python/minieigen. So I'm fairly confident that this has fixed the problem. Let me compile everything and run it, just to be sure.

jbcolli2 commented 6 years ago

Confirmed! With a brand new git clone of b2, the endgame tutorial works.