-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
missing Singular kernel functions #59
Comments
Singular.jl is currently being rewritten (see the cxx_wrap branch). After we have it working again, we will switch over the code to run on Julia-1.0. After that, we will start to fill out the kernel interface. We have a HiWi doing the above, so it could be some months before we get there. |
@wbhart Can you give a more precise (i.e., calendar week number) estimate on which date we will be able to use Singular.jl again? The new GAP interface only works with a Julia that contains @rbehrends patch, so it is unusable with Singular.jl, potentially until some time next year? |
We will have someone work on it for ostensibly 3 months starting this coming Thursday. I will possibly find some time to put into it, but I can't guarantee that. |
Sorry for the delay in updating everyone. This was quite difficult to sort out since it implied finding someone (else) to work on it. We have agreed to get n_Q, spoly and sideal working with CxxWrap and Julia-1.0, up to an including std, by the time of our meeting in November. Barring any unforeseen obstacles, this should be possible given the manpower we currently have. Sachin Mohan will be working on this, together with Andreas Steenpas. Our first meeting to discuss how to do the job is tomorrow at 4pm. In the mean time, I will work on reestablishing support for Nemo coefficients as Singular coefficient rings, using the new CxxWrap interface we've been writing over the past few months (though not immediately, as I have other commitments right at this moment). The work has been progressing very slowly as we only had a HiWi working on it 8 hours per week (you have to multiply every time estimate by 5 when comparing with a full time worker, and then make an adjustment for the level of experience). Our HiWi will be cutting back to 4 hours per week over the next month, due to exams, hence the addition of Andreas Steenpas to the effort. |
@ThomasBreuer do you know what the status of this issue is? |
There is |
What is the goal? In Oscar we have which will give the VS generated by the polynomials. is the goal to re-write the .lib in Singular.jl or in Oscar? minbase looks difficult as it seems to be also affected by global variables... |
degBound affects all Groebner base computaions in Singular, not only minbase: |
@ThomasBreuer what's the status of this issue? is there still something concrete you are missing? By now, calling Singular library functions should be possible (and we do so in Oscar) |
@fingolfin As far as I understand, |
However, you (well, As far as I could tell, there is no corresponding function in libsingular-julia right now (but maybe @hannes14 or @tthsqe12 know more). For For "substitutions of indeterminates by linear combinations thereof" I think |
So the goal here is be able to repoduce the following singular code?
Indeed, degBound is one of those global system variables, and is named VMAXDEG. The julia version could look like the following? DEGB = Singular.set_deg_bound(d) # return the old value, also sets/clears OPT_DEGBOUND as in jjMAXDEG
... minimal_generating_set(...)
Singular.set_deg_bound(DEGB) I actually don't like giving the user access to these global variables because now everyone has to also keep track of the state of them, which is just a headache. If there aren't too many functions that one would want to use with the non-default value of this global variable, could we just add the degree bound in as a second argument to |
What do we want here? I can see three possibilities:
|
I prefer 2, as deg_boud needs really "to know what you do". |
I am doing the third option in #527, which can be used to easily implement stuff like the second option without making changes to libsingular-julia. |
I have tried to reimplement some of the functionality of Singular's
finvar.lib
,using GAP and its package
GAPJulia
for callingSingular.jl
,but some of the Singular kernel features seem to be missing.
(e.g., in the function
evaluate_reynolds
infinvar.lib
).finvar.lib
sets the global variabledegBound
and then callsminbase
.dim
is used to compute the Krull dimension of an ideal(e.g., in the function
primary_char0
infinvar.lib
).Did I overlook something, or are these functions not available via
Singular.jl
?Of course I can implement these functions in GAP (or Julia),
and then use Singular itself essentially for Groebner basis computations;
is this a recommended way to proceed?
The text was updated successfully, but these errors were encountered: