2019-05-22 11:08:17 +0100 | received badge | ● Popular Question (source) |
2019-04-11 20:09:06 +0100 | received badge | ● Famous Question (source) |
2017-12-22 10:44:09 +0100 | received badge | ● Nice Answer (source) |
2016-10-31 05:38:36 +0100 | received badge | ● Famous Question (source) |
2016-07-20 09:47:35 +0100 | received badge | ● Popular Question (source) |
2015-04-29 04:37:22 +0100 | received badge | ● Notable Question (source) |
2014-06-29 03:15:04 +0100 | marked best answer | Bug or desired behavior of eval? I am fairly certain this is a bug, but I wanted to ask here before reporting it on trac. I understand that when we enter something in sage, like We want to receive 5/3 instead of the normal python output: However, eval in sage seems to be rounding down: Where I would expect it to return 5/3 again, or at the very least 1.6666666666666667 (if eval ran through python first and had already returned 1.6666666666666667). The standard eval in python does return 1.6666666666666667. |
2014-06-29 03:15:03 +0100 | marked best answer | What file does the "in" operator reside in? When I run something like Where is this "in" operator defined? In general, is there a nice way to trace something like this to find the file(s) being accessed? |
2014-06-29 03:15:01 +0100 | marked best answer | Is there a way to prefix all sage code in order to include a custom module? I have a library of commonly used functions and variables which I import, when required, into sage by using the following commands: This allows me to access all my frequently used saved functions and variables. I essentially only use Sage through the web interface, and I would like to know if it is possible to make this code run as a "prefix" so that I no longer have to type this include in every worksheet. |
2014-04-25 14:21:52 +0100 | received badge | ● Notable Question (source) |
2014-02-20 20:47:17 +0100 | commented answer | The tachyon object used for rendering plots @niles I would love to take a stab at it; I think the best way to go about it would be to add a method to Tachyon objects which allows you to attach plot3d elements to the Tachyon object similarly to how you can add a sphere. I will check out the trac ticket and see if I can implement this soon. After this is completed, animating 3d graphs similarly to how 2d graphs are animated should be quite simple (this is actually why I created the above function). The only thing that will need to be changed is the way of thinking about animating - we really don't want to animate plot3d for instance, we want to animate a Tachyon object with a plot3d object attached to it. We can, of course, hide this in the animation code. |
2014-02-20 09:49:29 +0100 | received badge | ● Necromancer (source) |
2014-02-19 18:08:39 +0100 | commented answer | Dancing x-axis in animation [solved] Since you were able to answer your own question, you may click the "accept" icon next to your answer. This is how the site indicates the question as "solved", rather than editing the title of the question. |
2014-02-19 18:06:15 +0100 | answered a question | The tachyon object used for rendering plots William Stein's answer was very helpful for me, but I also wanted to animate output of a plot3d based function (specifically I was trying to animate a surface of revolution, therefore I was using the revolution_plot3d function, but it's the same idea). Essentially, if you look at how the tachyon string is created, you can recreate the functionality quite simply. Here's a function that allows you to combine a plot3d output with a Tachyon object. You can add things to the Tachyon object as you see fit, lights, backgrounds, spheres, etc. You can also add a 2-dimensional plot to the variable P and Tachyon will render it as well. |
2013-09-04 12:14:33 +0100 | received badge | ● Popular Question (source) |
2013-06-07 17:24:37 +0100 | received badge | ● Nice Answer (source) |
2013-04-13 16:19:34 +0100 | received badge | ● Popular Question (source) |
2012-03-01 10:52:09 +0100 | commented answer | Show the polynomials in the Groebner Basis as they are found Thanks, that is useful. Unfortunately the radicalMemberShip function uses RAM even faster than the groebner function does, but that's my problem to solve. |
2012-03-01 10:51:14 +0100 | marked best answer | Show the polynomials in the Groebner Basis as they are found After you reformulated your question, it seems to me that what you want to do is test "radical membership" of some of the Actually, the Gröbner basis of an ideal is not enough to solve that radical membership! In Singular, radical membership can be tested as explained here. That functionality is provided by some library of Singular. If you want to do the same in Sage, without using a Singular sub-process, you can meanwhile do as follows: First, we define some ideal, and show that the Gröbner basis does not immediately show that some power of Next, we import some stuff that is needed to benefit from Singular library functions in Sage, load the library, define the Singular function, and test for radical membership of I don't know where the text "skipping text ..." comes from - anyway, the answer of the function is However, no power of I hope this is enough to solve your problem. In particular, I believe that looking at some protocol output of slimgb would certainly not solve your problem: As demonstrated above, the Gröbner basis does, in general, not directly provide the radical membership information for variables). Also, as much as I know, there is no option to make slimgb or std or another Singular function make print the polynomials being considered. |
2012-03-01 09:09:33 +0100 | received badge | ● Nice Question (source) |
2012-02-29 22:42:42 +0100 | commented answer | Show the polynomials in the Groebner Basis as they are found I added more information about my problem to my original question. I'm not sure this will totally address my problem, but I will try it now. |
2012-02-29 16:09:12 +0100 | received badge | ● Editor (source) |
2012-02-29 16:08:42 +0100 | asked a question | Show the polynomials in the Groebner Basis as they are found This is more a question about singular, since that is what Sage uses to computer the Groebner Basis. In Singular, you can use option(prot) and then, upon using the groebner function of your choice, you will see verbose output. From the Singular manual, we are told that when "s" is printed in the verbose output, a new element of the standard basis has been found. It is sometimes enough, and in particular very useful for my needs, to know that a certain polynomial is in the groebner basis. I am working with an overdetermined system of polynomials for which the full groebner basis is too difficult to compute, however it would be valuable for me to be able to print out the groebner basis elements as they are found so that I may know if a particular polynomial is in the groebner basis. Is there any way to do this? My question is above, but more details specifically related to my problem are below, which may be useful in providing an alternate answer. The problem is as follows: I have a system of (not necessarily homogeneous) multivariate polynomials $f_1(x_1,\dots,x_n)=0,\dots f_m(x_1,\dots,x_n)=0$. I would like to prove that a few of the $x_i$ must be equal to zero. I was able to uncomment lines 240, 241, and 242 in this toy implementation library of Faugere's f5 algorithm for Singular and remove the "lead" function around the to-be-printed output on line 241. After just a couple of seconds while running this command, $x_7^5$ was printed out as a member of the basis. This would seem to imply that $x_7$ must equal zero. The toy library is useful in this regard, since it was able to be modified to print out the members of the basis as they were discovered, however it is still a toy implementation and is not as efficient as slimgb, for instance. My question is, how can I get this same behavior from slimgb? |
2012-01-18 12:32:31 +0100 | received badge | ● Commentator |
2012-01-18 12:32:31 +0100 | commented answer | Faugère's F4 Algorithm Thanks, that is what I have found as well. It looks like the command is actually J.groebner_basis('singular:slimgb') |
2012-01-18 12:32:20 +0100 | marked best answer | Faugère's F4 Algorithm As much as I know, there are only toy implementations of F5 in Sage (and I don't recall how it is available) - that's to say, they are good for educational purposes, but it would be much more efficient to use the default ways of computing Gröbner bases. Note that Michael Brickenstein's "slimgb" (which is often used in Singular and thus also in Sage) is sometimes referred to as a version of F4. If you create a multivariate ideal |
2012-01-17 22:40:56 +0100 | asked a question | Faugère's F4 Algorithm There are many places online which mention that Faugère's F4 (and even F5) algorithms are included (or were going to be included) in Sage, but the only result in the documentation I can find is here: http://www.sagemath.org/doc/reference... Does anyone know if it is currently included in Sage? |
2011-11-22 20:58:20 +0100 | marked best answer | Bug or desired behavior of eval? Eval doesn't return 1.666...67 in python-- at least not in python 2, unless you import from the future. Switching to so-called true division was one of the incompatible changes between python 2 and python 3, one made among other reasons because it proved a pretty common mistake. (I made it myself several times in production code, and, come to think of it, it was the source of a number of bugs in Sage's graph plotting code.) Sage's underlying python is python 2, so integer division is truncating, and eval is doing the expected thing here. You can import from the future within Sage in the above way if you want to change the default behaviour, or use sage_eval instead: |