A library for computing with Abelian functions, Riemann surface, and algebraic curves.
rparini on master
Test against Sage-8.4 Import scipy.integrate Merge pull request #167 from ab… (compare)
rparini on sage-8.4
Import scipy.integrate (compare)
rparini on sage-8.4
Test against Sage-8.4 (compare)
rparini on sage-8.4
rparini on master
Add some advice on sage -pip s… Add sage 8.3 tests nodes() is now NodeDataView In… and 23 more (compare)
rparini on sage-8.3
Rearrange to make more uniform (compare)
rparini on sage-8.3
Fix torrent download link (compare)
rparini on sage-8.3
Fix .yml syntax error (compare)
rparini on sage-8.3
Fix TypeError on Linux (compare)
rparini on sage-8.3
Install sage for Linux via torr… (compare)
@cswiercz Hey, I wrote you another post about stuff I'd done since the last update, but my internet got trippy last night and it seemed to send but apparently didn't. First, to your response: I did end up getting test
and import statements to run, which is good. I was pretty sure I compiled first, but I've been mucking around in code for many hours since then so its completely possible that it was a simple error like you suggested.
I think I might have been having collision errors with the merged code I pulled and stuff in my working directory. The rcv
branch is still using (importantly importing) the riemanntheta.py
and not the .pyx
version. Anyway, before I finally got this stuff to work I've been trying some other things:
I copied over the riemann_theta.pyx
code into a new director and cribbed your setup.py
to compile theta by itself. This is mostly for my benefit so I could shrink the scope of the codebase and maybe get a better understanding of what's going on. I got it to compile fine, but I'm again having import issues. Specifically the following:
import riemanntheta
Traceback (most recent call last):
File "<ipython-input-1-4f7caa86dc4f>", line 1, in <module>
import riemanntheta
File "C:\Users\James\Documents\Theta\riemanntheta\__init__.py", line 1, in <module>
from .riemann_theta import theta
File "riemanntheta\riemann_theta.pyx", line 891, in init riemanntheta.riemann_theta (riemanntheta\riemann_theta.c:28223)
theta = RiemannTheta_Function()
File "riemanntheta\riemann_theta.pyx", line 400, in riemanntheta.riemann_theta.RiemannTheta_Function.__init__ (riemanntheta\riemann_theta.c:3680)
self.uniform = True
AttributeError: 'riemanntheta.riemann_theta.RiemannTheta_Function' object has no attribute 'uniform'
I tried a handful of things to resolve this. Removing uniform
from the__init__
just throws the error on deriv_accuracy_radius
, the next attribute in the __init__
. From what I can find on stackexchange and elsewhere, this sort of error is frequently caused by whitespace issues, which I spent quite some time checking, or cyclic import statements that confuse the interpreter (i.e. mutually dependent modules), which I don't believe are present.
I spent some time on this and wasn't making any progress, so I've moved on to working on the c/cython bridge. I'm mostly just moving stuff from the bridge over to the main code body right now and making notes of where the if/else statements can be pared down, where documentation needs to be written, etc. Anyway, I'll talk to you shortly!
@SartorisX I'm not sure what the situation is with setup.py
. Things have been working well from my side of things. Giant merges are always tricky. It's tough to avoid with young code.
I think I had the same issue with my branch. I'll upload my current status to the rcv_theta
branch so you can see what I changed. The entire Riemann theta code needs to be reworked anyway so I'm not too worried.
@SartorisX That's probably a good idea. (Refactors sometimes require complete rewrites.) There are some chunks that should remain as they are (lattice_reduce.c
, the C code containing the finite sum stuff) but should definitely be looked at for errors and thoroughly tested. Much of the Cython stuff needs to be reworked, especially to take advantage of memoryviews since Grady and I discovered that the approach we're using is OS-dependent. (!)
I still recommend branching from dev
and putting your work into there. Don't worry about including a depreciated
directory. Git will take care of keeping track of old stuff.
Once I'm done with this RCV stuff I'd like to work with you more closely on Riemann theta. It's always been something I've wanted to make more robust.
radiusN
. I'm working on a test suite already. The most basic test is to compare the output of radiusN
with radius1
and radius2
with identical input. I don't know what data is out there for direct comparison testing. Maybe we can test against some Maple output?
finite_sum.c
before we meet. It should me self-explainatory. I also have a couple of minor improvements I want to implement since my C skills have improved since 2012.
TestMaple
TestCase?