[sage-support] Re: Coding theory:erasures
On Apr 16, 9:48 pm, David Joyner wrote: > Sorry Alec, maybe there is a language problem here. Sorry, David, but there may be also a cultural problem as well. You, obviously, think that, being a moderator of sage-edu, you could reject your colleagues posts there, as you rejected my post there several days ago, just by announcing about that in sage-devel, instead of emailing me personally, as it is normally done. I consider such your behavior as being unethical. If there is some Sage ethical committee, I would like to submit that there. Please feel free to reply to that in sage-flame if you have something to say about that. Alec Mihailovs, PhD (from University of Pennsylvania), teaching math for more than 30 years. -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 8:55 pm, Alec Mihailovs wrote: > Maybe, I still don't understand it right, but it seems as if you are > saying, that the problem is to do a similar thing in cases when the > solution is not unique, producing the list of all the solutions. That > can be done similarly, just using the version of solve_left in > 'decode1' producing the list of all solutions (plain solve_left gives > only one solution even if there is more than 1), and then multiplying > each of them by G, as in 'correct', Here are the procedures for that - def decode3(w,erasures=[]): pos=[i for i in range(27) if not i in erasures] G1=G.matrix_from_columns(pos) return G1.solve_left(vector(GF(3),w.list_from_positions(pos))),G1.kernel().basis_matrix() def correct1(w,erasures=[],listed=False): ans=decode3(w,erasures) ans0,ans1=ans[0]*G,ans[1]*G if not listed: return ans0,ans1 else: return [ans0+c*ans1 for c in VectorSpace(GF(3),ans1.nrows())] For example, V=VectorSpace(GF(3),10) m=V.random_element(); m (2, 1, 1, 0, 0, 0, 0, 1, 1, 0) w=m*G; w (1, 2, 1, 2, 2, 2, 0, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 1, 1, 1, 1, 2, 2, 2) correct1(w,range(14),True) [(1, 2, 1, 2, 2, 2, 0, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 1, 1, 1, 1, 2, 2, 2), (2, 0, 1, 2, 1, 1, 1, 2, 2, 0, 0, 0, 1, 1, 1, 1, 2, 2, 0, 0, 1, 1, 1, 1, 2, 2, 2), (0, 1, 1, 2, 0, 0, 2, 0, 0, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 1, 1, 2, 2, 2)] correct1(w,range(14)) ((1, 2, 1, 2, 2, 2, 0, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 1, 1, 1, 1, 2, 2, 2), [1 1 0 0 2 2 1 1 1 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0]) correct1(w,[],True) [(1, 2, 1, 2, 2, 2, 0, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 1, 1, 1, 1, 2, 2, 2)] Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 8:10 pm, David Joyner wrote: > Perhaps I don't understand your program, but it appears to not address > the issue. Here is the algorithm, if I understand the question correctly: > > Let I denote the subset of range(n) which represents the erasures. > Let v denote the vector in GF(q)^n which you want to decode. > Let C denote the [n,k,d] code with generator matrix G (so the > rows of G are a basis for the vector space C over GF(q)). > For each w in GF(q)^n, let w^I denote those coordinates of w not in I. > Let L = [] be an empty list. > For each c in C > if c^I = v^I then append c to L > return L > > This gives you the list of codewords desired. > > I don't see how the output of your programs agree with this. I may be understanding the problem wrong. Originally I thought that the problem was as follows (in this example): given a message m in GF(3)^10, we used matrix G to encode it making a vector w in GF(3)^27. During a transmission, there were 8 or so errors in known positions (erasures is the list of these positions in my code). Assuming that we still can restore the original message m, i.e. if it is unique, the procedure 'decode' gives it from w and the list of the positions of erasures, and the procedure 'correct' produces the correct codeword corresponding to it. Maybe, I still don't understand it right, but it seems as if you are saying, that the problem is to do a similar thing in cases when the solution is not unique, producing the list of all the solutions. That can be done similarly, just using the version of solve_left in 'decode1' producing the list of all solutions (plain solve_left gives only one solution even if there is more than 1), and then multiplying each of them by G, as in 'correct', If I again understood it wrong, could you, please, give a simple example (with smaller sizes), with the correct answer? Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 5:28 pm, Alec Mihailovs wrote: > I looked at the C.decode (for C in the original post), and it does > something different - it corrects the errors. Perhaps, the better name > for it would be C.correct ? If that is needed, that could be done as def correct(w,erasures=[],num_tries=10): return decode(w,erasures,num_tries)*G For example, er=vector(GF(3), [1,2,1,0,2,1,2,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]) correct(w+er,[0,1,2,4,5,6,10,11])-w (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 5:28 pm, Alec Mihailovs wrote: > > Also, perhaps, just simple linsolve can be used (in my decode) if it > exists in Sage and works for overdetermined systems of linear > equations. Yes, I found it - it is called solve_left, and it can be used as follows, def decode1(w,erasures=[]): pos=[i for i in range(27) if not i in erasures] G1=G.matrix_from_columns(pos) if G1.rank()!=10: print "Too many erasures" return None else: return G1.solve_left(vector(GF(3),w.list_from_positions(pos))) However, it is slower than decode, timeit('decode(w)') 125 loops, best of 3: 3.87 ms per loop timeit('decode1(w)') 125 loops, best of 3: 6.98 ms per loop Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 5:05 pm, David Joyner wrote: > Do you mean A is the matrix of all n^k codewords, but you remove the > columns corresponding to the erasure positions? I don't know what you > mean by A. I meant the submatrix of G - I used something like that in the decode procedure in another post, just replacing A.transpose() with a random matrix. I looked at the C.decode (for C in the original post), and it does something different - it corrects the errors. Perhaps, the better name for it would be C.correct ? Also, perhaps, just simple linsolve can be used (in my decode) if it exists in Sage and works for overdetermined systems of linear equations. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Vector solutions, a basic question.
On Apr 16, 4:01 pm, Alexander Shyrokov wrote: > I have derived the equation, which looks like this: > ((T - (E -T) *(H.dot(N) - T.dot(N))/(E - T).dot(N) - H) / S) == Mp I'll take a look at it later. But in general, if you have a system of linear equations, you can write it in a matrix form A*x=b in which case the solution can be obtained as x=A.inverse()*b That should work better than solve. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 4:16 pm, Alec Mihailovs wrote: > For example, > > m=V.random_element(); m > > (2, 1, 0, 0, 1, 2, 0, 1, 0, 0) It should be V=VectorSpace(GF(3),10) before that. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 15, 8:45 am, Andrea Gobbi wrote: > Hi! > I'm using sage for coding theory, and it sems to be great! I have a > linear code like this: > MS = MatrixSpace(GF(3),10,27) > G = MS([ > [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1], > [1,2,0,0,0,0,1,1,2,2,0,0,0,0,1,1,2,2,1,1,1,1,2,2,2,2,0], > [0,0,1,2,0,0,1,2,1,2,1,1,2,2,0,0,0,0,1,1,2,2,1,1,2,2,0], > [0,0,0,0,1,2,0,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0], > [0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,1,1,2,2,2,2,1,1,0], > [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,1,2,1,2,2,1,2,1,0], > [0,0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,1,2,2,1,1,2,2,1,0], > [1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0], > [0,0,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0], > [0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0]]); > C = LinearCode(G); > C.dimension(); > C.length(); > C.minimum_distance(); > C.weight_distribution(); > And I want use the minimum distance (in this case 9) for correct a > vector with 8 erasures. There are some tools in sage to do this? I try > to look to the reference manual but seems that the decoding part is > not implemented... > Or someone created a soubrutine that can be used for this problem? > Sorry for my english, > Thanks! The following seems to be working, def decode(w,erasures=[],num_tries=10): pos=[i for i in range(27) if not i in erasures] G1=G.matrix_from_columns(pos) if G1.rank()!=10: print "Too many erasures" return None else: MH=MatrixSpace(GF(3),G1.ncols(),10) for i in range(num_tries): R=MH.random_element() H=G1*R if H.rank()==10: break return vector(GF(3),w.list_from_positions(pos))*R*H.inverse() For example, m=V.random_element(); m (2, 1, 0, 0, 1, 2, 0, 1, 0, 0) w=m*G; w (1, 2, 2, 2, 2, 2, 2, 0, 1, 0, 2, 2, 2, 2, 0, 2, 0, 1, 1, 0, 2, 1, 2, 0, 1, 2, 2) decode(w) (2, 1, 0, 0, 1, 2, 0, 1, 0, 0) decode(w, range(8)) (2, 1, 0, 0, 1, 2, 0, 1, 0, 0) decode(w,range(15)) Too many erasures Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 1:50 pm, Alec Mihailovs wrote: > > Or even more simple -if A is the matrix consisting of all non-erased > columns, use A.transpose()*(A*A.transpose()).inverse() for decoding, > applying it to the non-erased part. And if A*A.transpose() is singular, the same thing, probably, could be done with the matrix, obtained from A by removing a column, but I'm not sure - there may be, perhaps, cases, when removing more than 1 column is necessary - that would make the procedure more complicated (in the worst cases.) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 1:39 pm, Alec Mihailovs wrote: > simple - find 10 other columns with non-zero determinant of the matrix > constructed from them, and use the inverse of this matrix for > decoding. Or even more simple -if A is the matrix consisting of all non-erased columns, use A.transpose()*(A*A.transpose()).inverse() for decoding, applying it to the non-erased part. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 16, 10:34 am, David Joyner wrote: > I think you meant to say "If the minimum distance is 9, then, I think, > only vectors with 4 > errors or less can be decoded correctly." I think erasures (where the > error positions are assumed to be known) are more complicated. > In the example of the last row, if you erase the first 8 0's then > the question is are there any other codewords which have > the same bits in the non-erased positions. Yes, I meant errors. I didn't even think about the situation where the positions are known. In this case, the decoding seems to be rather simple - find 10 other columns with non-zero determinant of the matrix constructed from them, and use the inverse of this matrix for decoding. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Coding theory:erasures
On Apr 15, 8:45 am, Andrea Gobbi wrote: > Hi! > I'm using sage for coding theory, and it sems to be great! I have a > linear code like this: > MS = MatrixSpace(GF(3),10,27) > G = MS([ > [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1], > [1,2,0,0,0,0,1,1,2,2,0,0,0,0,1,1,2,2,1,1,1,1,2,2,2,2,0], > [0,0,1,2,0,0,1,2,1,2,1,1,2,2,0,0,0,0,1,1,2,2,1,1,2,2,0], > [0,0,0,0,1,2,0,0,0,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0], > [0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0,0,0,1,1,2,2,2,2,1,1,0], > [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,1,1,2,1,2,2,1,2,1,0], > [0,0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,1,2,2,1,1,2,2,1,0], > [1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0], > [0,0,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0], > [0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0]]); > C = LinearCode(G); > C.dimension(); > C.length(); > C.minimum_distance(); > C.weight_distribution(); > And I want use the minimum distance (in this case 9) for correct a > vector with 8 erasures. There are some tools in sage to do this? I try If the minimum distance is 9, then, I think, only vectors with 4 erasures or less can be decoded correctly. Consider, for example, the last row with 5 zeros replaced with ones - if 5 erasures were allowed, then erasing them, we would get the last row, but erasing 4 remaining zeros in it instead, we would get the first row - so it couldn't be uniquely decoded. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Vector solutions, a basic question.
For example, let the plane's equation is 2*x+3*y+4*z=5, and the line is given as =. Then the point of their intersection can be found in Sage as follows, var('t'); x,y,z=t-1,2*t-3,2-t plane=2*x+3*y+4*z-5 a=solve(plane,t)[0] [i.subs(a) for i in x,y,z] [1, 1, 0] Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Yamanouchi words
On Apr 14, 12:47 am, Drini wrote: > I'm confused > abouthttp://www.sagemath.org/doc/reference/sage/combinat/yamanouchi.html > it's documentation for 4.3.5 but it's been the same since 4.3.1 > > Is there a class? > functions? > or is it just a random note about those words? The file devel/sage/sage/combinat/yamanouchi.py contains only that documentation string - nothing else. No classes or functions. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Degree 120 splitting field
On Apr 14, 2:08 pm, Rob Beezer wrote: > Rinse, repeat. First iteration is below. By the time I get to degree > 3 the factorizations are taking about 8 hours. My question: is there > a more efficient way to do this? Divisions are faster than the factorization - divide by (x-a), then by (x-b), then by (x-c). Now, the last step takes a long time, but it is not actually necessary - the polynomial is x^2 + (c + b + a)*x + c^2 + (b + a)*c + b^2 + a*b + a^2, so dividing it by (x-d), we get (x+a+b+c +d). Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Problems to susbstitute a function
On Apr 12, 5:57 pm, Eckhard Kosin wrote: > I think I understand: After > > expr(x) = sin(x) > > expr is a symbolic expression and can be differentiated and the same > goes for sin after > > sin(x) = sin(x) Yes. And the same thing can be done for other functions. In particular, in your example with h2, sage: function('f') sage: h2 = lambda t: sin(f(t)) sage: h2(x)=h2(x) sage: h2.diff() x |--> cos(f(x))*D[0](f)(x) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: problems with sage and brian simulator
On Apr 12, 4:03 pm, Alec Mihailovs wrote: > Also, the show command should be replaced with savefig - something > like in the following example, That could be also done without changing the examples on the brian's webpage, by redefining show() as def show(): from matplotlib.pyplot import savefig return savefig('sage0.png') Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: problems with sage and brian simulator
On Apr 12, 4:32 pm, William Stein wrote: > > You can also just do > > Action -> Restart Worksheet Thank you! Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: problems with sage and brian simulator
By the way, the easy way to install brian package in Sage from the notebook is to execute the following cell, %sh easy_install brian Then save & quit the worksheet and open it again. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: problems with sage and brian simulator
On Apr 12, 3:30 pm, Alec Mihailovs wrote: > > import brian_no_units > from brian import * Also, the show command should be replaced with savefig - something like in the following example, from matplotlib.pyplot import savefig eqs = ''' dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt dge/dt = -ge/(5*ms) : volt dgi/dt = -gi/(10*ms) : volt ''' P = NeuronGroup(4000, eqs, threshold=-50*mV, reset=-60*mV) P.v = -60*mV+10*mV*rand(len(P)) Pe = P.subgroup(3200) Pi = P.subgroup(800) Ce = Connection(Pe, P, 'ge', weight=1.62*mV, sparseness=0.02) Ci = Connection(Pi, P, 'gi', weight=-9*mV, sparseness=0.02) M = SpikeMonitor(P) run(1*second) raster_plot(M) savefig('sage1.png') Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: problems with sage and brian simulator
On Apr 12, 5:30 am, Uri wrote: > I found another way to solve that problem (which seems more practical > to me). You just have to redefine RealNumber and Integer: > > RealNumber=float > Integer=int You could also disable units - i.e. start brian as import brian_no_units from brian import * Then 1*mV 0.001 Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: multidimensional numerical integration
On Apr 12, 8:43 am, karl wrote: > > integrate( f(x,y) , x,xmin, xmax,y, ymin, ymax) numerically. One can use dblquad from scipy. For example, from scipy.integrate import dblquad dblquad(lambda y,x:x+2*y, 1, 2, lambda x:1-x, lambda x:1+x) (10.666, 1.1842378929335001e-13) Check it, integral(integral(x+2*y,y,1-x,1+x),x,1,2) 32/3 Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Question about numerical linear algebra.
On Apr 11, 1:22 pm, Thierry Dumont wrote: > -Qusetion: is there some "dictionary", some documentation about how > the scipy functions are "mapped" to sage? and what can be directly used? What can be used can be seen by typing A. and hitting Tab key. The documentation for every method is available by entering A.(name of the method)? , for example, A.SVD? and Tab, and the source is available as A.SVD?? and then Tab. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: (1 - i) == -(i + 1) ??
On Apr 11, 4:51 pm, Mike Witt wrote: > [m...@vector ~]$ sage > -- > | Sage Version 4.3.1, Release Date: 2010-01-20 | > | Type notebook() for the GUI, and license() for information. | > -- > sage: (1-I)/(sqrt(2)-1) > -(I + 1)/(sqrt(2) - 1) In Sage 4.3.4 (in Windows) that I am using, (1-I)/(sqrt(2)-1) (-I + 1)/(sqrt(2) - 1) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Question about numerical linear algebra.
On Apr 11, 1:22 pm, Thierry Dumont wrote: > In the preceding examples, if you compare as given by U,Sig,V=A.SVD() > and U given by U,s,Vh=svd(A) they are transposed :-( U is the same, Sig is a diagonal matrix with diagonal entries being elements of vector s, and V is Hermitian transposed to Vh, as it supposed to be according to the help pages - it should be U*Sig*V.conjugate().transpose() == A Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: points on elliptic curves mod N
On Apr 10, 8:27 pm, Robert Bradshaw wrote: > This particular point however seems to have order 3 on both E(GF(67)) > and E(GF(89)). E=EllipticCurve([1,R(1)]) seems to be working, 7*E([0,1]) Traceback (click to the left of this block for traceback) ... ZeroDivisionError: Inverse of 5092 does not exist Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Problems to susbstitute a function
On Apr 10, 10:37 am, Eckhard Kosin wrote: > > sage: sin.diff() > --- > AttributeError ... There is an interesting way to fix that, sin(x)=sin(x) sin.diff() x |--> cos(x) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Arrangements().list() nice format
Another way, sage: set=['adam', 'eva', 'otto', 'emil'] sage: a=Arrangements(set,4).list() sage: for i in zip(a[0:-1:2],a[1:-1:2]): i : (['adam', 'eva', 'otto', 'emil'], ['adam', 'eva', 'emil', 'otto']) (['adam', 'otto', 'eva', 'emil'], ['adam', 'otto', 'emil', 'eva']) (['adam', 'emil', 'eva', 'otto'], ['adam', 'emil', 'otto', 'eva']) (['eva', 'adam', 'otto', 'emil'], ['eva', 'adam', 'emil', 'otto']) (['eva', 'otto', 'adam', 'emil'], ['eva', 'otto', 'emil', 'adam']) (['eva', 'emil', 'adam', 'otto'], ['eva', 'emil', 'otto', 'adam']) (['otto', 'adam', 'eva', 'emil'], ['otto', 'adam', 'emil', 'eva']) (['otto', 'eva', 'adam', 'emil'], ['otto', 'eva', 'emil', 'adam']) (['otto', 'emil', 'adam', 'eva'], ['otto', 'emil', 'eva', 'adam']) (['emil', 'adam', 'eva', 'otto'], ['emil', 'adam', 'otto', 'eva']) (['emil', 'eva', 'adam', 'otto'], ['emil', 'eva', 'otto', 'adam']) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Gap packages
On Apr 10, 9:06 am, Stochastix wrote: > I downloaded and installed sage 4.3.5 on my MacBook Pro. Everything > went like a charm. I'm interested in using the simplicial homology GAP > packages available at > > http://www.cis.udel.edu/~dumas/Homology/ > > It doesn't seem to be in the optional GAP packages available for SAGE. > Can I install it directly in SAGE or should I have a stand-alone > installation of GAP ? I just installed it in my Cygwin's Sage as follows - downloaded the binary package for cygwin from the link you gave, put it in sage's local/lib/gap-4.4.12 folder, extracted it: $ cd sage-4.3.4*/local/lib/gap* $ tar xvzf homology* then in Sage's notebook (in Firefox), gap.RequirePackage('"homology"') true complex=gap("[[1,2],[2,3],[3,4],[4,5],[1,5]]") complex.SimplicialHomology() [ [ 0 ], [ 1 ] ] gap("SimplicialHomology(SCNot2ConnectedGraphs(7),9)") [ [ 120 ] ] Seems to be working OK. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Arrangements().list() nice format
For example, sage: set=['adam', 'eva', 'otto', 'emil'] sage: a=Arrangements(set,4) sage: for x in range(0,a.cardinality(),2): print a[x],a[x+1] : ['adam', 'eva', 'otto', 'emil'] ['adam', 'eva', 'emil', 'otto'] ['adam', 'otto', 'eva', 'emil'] ['adam', 'otto', 'emil', 'eva'] ['adam', 'emil', 'eva', 'otto'] ['adam', 'emil', 'otto', 'eva'] ['eva', 'adam', 'otto', 'emil'] ['eva', 'adam', 'emil', 'otto'] ['eva', 'otto', 'adam', 'emil'] ['eva', 'otto', 'emil', 'adam'] ['eva', 'emil', 'adam', 'otto'] ['eva', 'emil', 'otto', 'adam'] ['otto', 'adam', 'eva', 'emil'] ['otto', 'adam', 'emil', 'eva'] ['otto', 'eva', 'adam', 'emil'] ['otto', 'eva', 'emil', 'adam'] ['otto', 'emil', 'adam', 'eva'] ['otto', 'emil', 'eva', 'adam'] ['emil', 'adam', 'eva', 'otto'] ['emil', 'adam', 'otto', 'eva'] ['emil', 'eva', 'adam', 'otto'] ['emil', 'eva', 'otto', 'adam'] ['emil', 'otto', 'adam', 'eva'] ['emil', 'otto', 'eva', 'adam'] Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Problems to susbstitute a function
On Apr 10, 10:37 am, Eckhard Kosin wrote: > I tried to understand my mistake and I realised that I have difficulties > to distinguish between symbolic expressions and functions and when to > use either. The general rule is that it is better to use expressions if possible instead of functions. That, in particular, saves on typing - one can type, say, r instead of r(x). > sage: f = function('f') That is the same as if you just typed function('f') It is the best declaration of a function, because after that you can use it as f(x), f(t), f(a+b*x, c+d*t) etc. > sage: g = function('g', x) > sage: type(g) > Writing g=function('g'', x), the right hand side is already not a function - it is an expression g(x), and that line assigns g to that expression. If you type g after that, it will produce g(x). > sage: type(g(x)) > What happens here is that g is already an expression g(x), and g(x) substitutes x in that expression instead of x, which is deprecated, but produces the same result. > sage: h1 = sin(f(x)) > sage: type(h1) > > sage: h2 = lambda t: sin(f(t)) > sage: type(h2) > > sage: h1.diff(x) > cos(f(x))*D[0](f)(x) > sage: h2.diff(x) > --- > AttributeError Traceback (most recent call > last) h2 is a function, but not a symbolic function. Symbolic functions can be differentiated using diff, but usual function can't. It can be done by producing an expression first, and then differentiating, h2(x).diff() cos(f(x))*D[0](f)(x) h2(x).diff() if the same as h2(x).diff(x) - if there is only one variable in the expression, it doesn't have to be mentioned in the diff call. > What's the difference between f and g? Why can I differentiate a > symbolic expression, but not a function? As a mathematician I expected > the other way :-( Functions also can be differentiated - if they are symbolic - in particular, the functions defined using the following syntax, h3(x)=sin(f(x)) h3 x |--> sin(f(x)) h3.diff() x |--> cos(f(x))*D[0](f)(x) > The tutorial states that S(x) = sin(x) defines a > "callable symbolic expression". But I get > > sage: S(x) = sin(x) > sage: type(S) > > sage: type(S(x)) > > > Is there a difference between a "callable symbolic expression" and a > "symbolic expression"? The difference can be seen using 'callable', callable(S) True > Why can I type > > sage: S.diff() > x |--> cos(x) > > but > > sage: sin.diff() > ------- > AttributeError ... Because S is a symbolic function, and sin is not. type(sin) The word 'symbolic' is missing. That, perhaps, can be considered as a bug, or as a suggestion - make sin symbolic. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Invoking Lisp from within Sage
On Apr 10, 1:32 am, Adam Getchell wrote: > Hi all, > > I realize this maybe a bit of an insane question, but I'm looking for a way > to use ecl within sage besides: > > ./sage -ecl For example, lisp("(def x 1)(defun f (x)(+ x 1))(f 2)") 3 Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Eigenvectors of a matrix
For M, you could do something like M=matrix([[1,1+i],[1-i,-1]])/sqrt(3) html.table(maxima(M).eigenvectors().sage()) or html.table([[r,(M-matrix(2,2,r)).right_kernel().basis_matrix()] for r in M.eigenvalues()]) And numerically the eigenvectors could be found as matrix(M.numpy(dtype=complex)).eigenvectors_right() Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Inverses of Large Sparse Matrices
On Apr 9, 8:59 pm, William Stein wrote: > A 5000x5000 matrix just isn't really that big, IMHO... Actially, thinking about that, who knows what size its elements could be, if they are rational... They may be really big. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Inverses of Large Sparse Matrices
On Apr 9, 8:59 pm, William Stein wrote: > A 5000x5000 matrix just isn't really that big, IMHO... That's true - should work in just few seconds - I meant REALLY big matrices - actually, sometimes such a thing should work faster even for not that big matrices - in case if the virtual memory located on disk is used - it is faster to write on disk directly. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Inverses of Large Sparse Matrices
On Apr 9, 1:53 pm, Leo Maloney wrote: > I'm trying to compute the inverse of a 5000 x 5000 sparse matrix. I'm > getting an EOF error after it runs for about 5 hours, and then it > states that sage is trying to access unallocated memory. Is there a > way I can increase the memory for this computation? Every time I > Google it, all I can find is the benefits sage(plant) has on memory. As other people commented, that should be faster if the original matrix was dense. In general, it is possible to write a procedure for inverting a matrix, writing the answer on the disk incrementally, appending it to a file - that may be slower, but removes the restriction on the RAM size (but one would need to have enough space on the hard drive instead) - I am not volunteering though. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Problems to susbstitute a function
For example, var('t R_u c') map(function,('R_b', 'psi', 'm_z')) r = R_b(t)*sin(psi(t)) z = R_b(t)*cos(psi(t))+m_z(t) Dr, Dz = r.diff(t), z.diff(t) v=vector([Dr,Dz]) * vector([cos(psi(t)),sin(psi(t))]) w=v.simplify_trig() w.substitute_function(m_z,lambda t:-sqrt(R_b(t)^2-R_u^2)) 2*sin(psi(t))*cos(psi(t))*D[0](R_b)(t) - sin(psi(t))*R_b(t)*D[0](R_b)(t)/sqrt(-R_u^2 + R_b(t)^2) - (2*sin(psi(t))^2*R_b(t) - R_b(t))*D[0](psi)(t) Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: standard deviations in sage
On Apr 7, 12:56 pm, Marshall Hampton wrote: > with RDF! I think this is because many operations over RDF get sent > to numpy and scipy, and the conversions aren't defined for RR. This > seems like a bug to me. By the way, % also doesn't work with 2 RDFnumbers sage: RDF(3)%RDF(5) Traceback (click to the left of this block for traceback) ... TypeError: unsupported operand type(s) for %: 'sage.rings.real_double.RealDoubleElement' and 'sage.rings.real_double.RealDoubleElement' Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Can't solve equation with square roots...
On Apr 6, 9:09 am, Danread5 wrote: > > sage: d = sqrt(x^2 + 5^2) > sage: D = sqrt((20-x)^2 + 10^2) > sage: T = d + D; T > sqrt(x^2 + 25) + sqrt((x - 20)^2 + 100) > sage: diff(T, x) > (x - 20)/sqrt((x - 20)^2 + 100) + x/sqrt(x^2 + 25) > sage: solve((x - 20)/sqrt((x - 20)^2 + 100) + x/sqrt(x^2 + 25) == 0, > x) > [x == 20*sqrt(x^2 + 25)/(sqrt(x^2 + 25) + sqrt(x^2 - 40*x + 500))] > > For some reason, Sage isn't solving completely for x, or isn't > 'seeing' the x^2... > > Any help gladly appreciated! This problem can be easily solved mentally - "Find the point on the x-axis, the sum of distances of which to (0, 5) and (20, -10) is minimal." Of course, it is the point of intersection of the line connecting these points and the x-axis. Now, it is obvious from the picture including also vertical lines at x=0 and x =20, that the 2 triangles are similar. The left triangle has height 5, and the right one has hight 10, twice greater, so their sides on the x-axis also have the same ratio, 1:2, i.e. the length of the horizontal side of the left triangle is 1/3 of the distance from 0 to 20, i.e. 20/3. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Difference between sage and pyhton calculations
On Apr 6, 2:00 am, Robert Bradshaw wrote: > I would be in favor of following Python's conventions here--they at > least seem more natural to me (after all, % is related to "floor > division" not "round division." :) Also, currently 2==2., 3==3., but 2%3 is 2 and 2.%3. is -1.00, also 2%3. is 2 and 2.%3 is -1.00. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Difference between sage and pyhton calculations
On Apr 5, 11:56 pm, Eugene Goldberg wrote: > Python 2.6.5 (r265:79063, Mar 23 2010, 04:49:54) > >>> 6e-6 % 10e-6 > > 6.0002e-06 > Sage Version 4.3.5, Release Date: 2010-03-28 > sage: 6e-6 % 10e-6 > -4.00e-6 > > I'm sure sage is wrong.. :( As William Stein said, Sage is not wrong - it just uses a differed definition of %. If one wants to have the same answer as Python does (always nonnegative), then function math.fmod can be used. For example, sage: from math import fmod sage: fmod(6e-6,10e-6) 6.0002e-06 Or use Python floats, sage: float(6e-6) % float(10e-6) 6.0002e-06 In both cases the result is a Python float. To make it a Sage's real number, one can use RR, sage: RR(_) 6.00e-6 Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Interface to openssl hash functions?
On Apr 5, 10:50 am, William Stein wrote: > I would make sure to install the openssl development packages, then > force a rebuild from source of Python in Sage. > > sage -f python-2.6.4.p7 I can confirm that that works in Sage 4.3 in VirtualBox on Windows, sage -i openssl-0.9.8d.p1 sage -f python-2.6.4.p7 Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: nested "for" statements?
On Apr 5, 8:26 pm, Dana Ernst wrote: > Wow, thanks for all the feedback. I learned a lot today! > > On Apr 5, 2010, at 5:31 PM, Alec Mihailovs wrote: > > u=[n for n in U if gcd(n,40)==1] By the way, one has to be careful using some of the methods of U. In particular, sage: u1=U.list_of_elements_of_multiplicative_group() sage: u==u1 True but sage: type(u[0]) < type 'sage.rings.integer_mod.IntegerMod_int' > type(u1[0]) < type 'int' > and using u1 instead of u would produce a different result. Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: nested "for" statements?
On Apr 5, 5:11 pm, Alec Mihailovs wrote: > u=filter(lambda n: gcd(n,40)==1, U) Also, that can be done as u=[n for n in U if gcd(n,40)==1] Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: nested "for" statements?
On Apr 5, 5:11 pm, Alec Mihailovs wrote: > html.table([r]+[map(lambda j: k^j, r) for k in u], header=True) Or even more simple, html.table([r]+[[k^j for j in r] for k in u],header=True) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: nested "for" statements?
On Apr 5, 4:48 pm, Harald Schilly wrote: > you can also format it as an html table, read the output of > html.table? for more information ;) That can be done as U=Integers(40) u=filter(lambda n: gcd(n,40)==1, U) r=range(1,len(u)) html.table([r]+[map(lambda j: k^j, r) for k in u], header=True) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: derivative instance
A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting annoying in email? -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Print only outputs?
On Apr 2, 11:47 pm, William Stein wrote: > That's pretty clever! Thank you! > Is amazing how flexible the notebook is, since > it uses HTML instead of ReST... (yes, I know, it's flexible enough to > support cross-site scripting attacks too). That's the same as with other CAS. In particular, I can write a line of code in the Maple worksheet, with autoexecute, which would format the hard drive (erasing all files on it), immediately after opening that worksheet, and there nothing could be done by the person opening that worksheet to prevent that (other than opening it in a secure mode, i.e. with switch -Z if I remember correctly, which not that many people use.) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: derivative instance
On Apr 3, 2:32 pm, pallab wrote: > Is there any way to check whether a symbolic expression is a > derivative. Like, > > isinstance(diff(f(x),x),"what to put?") > > gives "True" > > and > > isinstance(f(x),"what to put?") > > gives false, assuming f is not a derivative itself. One can do the following, for example, def is_diff(expr): try: return isinstance(expr.operator(), sage.symbolic.operators.FDerivativeOperator) except (AttributeError): return False Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: List of "standard functions"?
On Apr 3, 11:55 am, Simon King wrote: > sage: F = [f for f in globals().values() if callable(f)] I would write it as filter(callable, globals().values()) Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Print only outputs?
On Apr 2, 1:19 am, Jason Grout wrote: > Also, a quick hack to hide all input cells (except the one after the one > that you evaluate this command in) is: > > jsmath("""$('.cell_input').hide();""") > > This is definitely not official, but it works with the current notebook. > It doesn't affect the Print link, though. If one executes the following in a cell: html('div.cell_input_print {display: none}') and then clicks Print (at the lhs of the Worksheet button at the top), all input cells will be hidden in the hew html page opened. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Is there an efficient method of producing indexed variables?
On Apr 2, 1:45 pm, Franco Saliola wrote: > sage: a = SymbolicVariables('a') > ... > Here is a very simple implementation of SymbolicVariables. > > class SymbolicVariables(SageObject): > def __init__(self, prefix='x'): > self._prefix = prefix > def __getitem__(self, i): > return var("%s%s"%(self._prefix, i)) > > Thoughts? It would be conveniet if that would work with more than 1 index, too. In this particular example, a[1,2] produces something strange if typeset is turned on in the notebook. Also, in Maple matrices and vectors with symbolic entries can be defined as Matrix(2, symbol=a); [a[1, 1]a[1, 2]] [ ] [a[2, 1]a[2, 2]] Vector(3, symbol=b); [b[1]] [] [b[2]] [] [b[3]] Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe, reply using "remove me" as the subject.
[sage-support] Re: Seeking Cython-101 lesson
On Mar 17, 8:42 pm, kstueve wrote: > I can buy you > lunch/dinner (under $20) for your time, as well as provide interesting > conversation about primes. I live at the East coast. But I find that $20 offer kinda insulting. You, probably understand that people with a PhD (like me) get paid at least $200/hour or more, and will try to avoid any "interesting conversation" meaning that we have to listen to that, at any cost. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe from this group, send email to sage-support+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
[sage-support] Re: Seeking Cython-101 lesson
On Mar 19, 1:27 pm, Pierre wrote: > (101 is american numbering meaning in fact first lecture of the first > year) It's close, but not exactly. In American colleges and universities, the first digit mean the year, so courses with numbers started with 1, are supposed to be taken by freshmen, and 101 is usually a general education course taken by non-majors. Say Biology 101 means a general education biology course for non-biologists, and Math 101 is a general education course for non-mathematicians, as well as for people not taking any other math courses. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe from this group, send email to sage-support+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
[sage-support] Re: sage on slitaz linux?
On Mar 19, 4:51 am, bb wrote: > I tried to compile sage from source on slitaz, a very small and > ultrafast starting linux and slitaz might be installed to a bootable USB. > No success. You could just use Sage live CD (bootable). If it boots from a CD, it would boot from USB as well, I guess. It is rather small, contains Sage 4.3.1 on Puppy Linux, and is available from http://mira.sunsite.utk.edu/sagemath/livecd/index.html as well on other mirrors. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe from this group, send email to sage-support+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
[sage-support] Re: atan2 throws "divide by zero"
Also, simplification might be improved. In particular, sage: atan(sin(1)/cos(1)).full_simplify() arctan(sin(1)/cos(1)) while atan(tan(1)).simplify() 1 Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe from this group, send email to sage-support+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
[sage-support] Re: help with chanin dirivatives
On Mar 15, 8:58 am, wxu...@sohu.com wrote: > Hi everyone,I have a function f=f(eta, bx, bt), in which diff(eta,x)=k(bx,bt) > and diff(eta,t)=-omega(bx,bt) withbx=delta*x and bt=delta^2*t. I want to > calculate the second order derivative diff(diff(f,x)). Theresult should be > k^2*D[0,0](f)+2*delta*k*D[0,1](f)+delta*D[0](k)*D[0](f)+delta^2*D[1,1](f).but > when I did as > follows:var('x,t,bx,bt,delta')bx=function('bx',x)bx=delta*xbt=function('bt',t)bt=delta^2*tk=function('k',bx,bt)omega=function('omega',bx,bt)eta=function('eta',x,t)f=function('f',eta,bx,bt)it > does not work. could anyone help me with that?Tanks in advanced!regards,YC That can be done as var('x t delta') map(function,('eta','f','k','omega')) bx,bt = delta*x,delta^2*t eq=diff(eta(x,t),x)==k(bx,bt) f(eta(x,t),bx,bt).diff(x,2).expand().subs(eq).subs(diff(eq,x)) delta^2*D[1, 1](f)(eta(x, t), delta*x, delta^2*t) + 2*delta*k(delta*x, delta^2*t)*D[0, 1](f)(eta(x, t), delta*x, delta^2*t) + delta*D[0](f)(eta(x, t), delta*x, delta^2*t)*D[0](k)(delta*x, delta^2*t) + k(delta*x, delta^2*t)^2*D[0, 0](f)(eta(x, t), delta*x, delta^2*t) Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe from this group, send email to sage-support+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
[sage-support] Re: atan2 throws "divide by zero"
On Mar 17, 8:38 pm, G B wrote: > atan2(-pi,0) --> RuntimeError: power::eval(): division by zero > > Any ideas how to get around this? A simple workaround is sage: from sympy import atan2 sage: atan2(-pi,0) -pi/2 Alec Mihaiovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org To unsubscribe from this group, send email to sage-support+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
[sage-support] Re: atan2 throws "divide by zero"
On Mar 17, 9:11 pm, G B wrote: > atan2(-pi,0) --> RuntimeError: power::eval(): division by zero I got the same in the new 4.3.4.rc0 Sage version that I've just installed. Playing with that, I noticed also the following strange thing: sage: n(atan2(-sqrt(2),0)) -1/2*pi While it looks correct, it is not the answer that n should give. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
On Mar 16, 10:47 pm, Alec Mihailovs wrote: > By the way, vector doesn't work with integer numpy arrays, > > from numpy import array > vector(array([1,2])) > > Traceback (most recent call last): That shouldn't be too hard to implement - in particular, the following works, sage: from numpy import array sage: vector(list(array([1,2]))) (1, 2) sage: vector(list(array([1,2],dtype=object))) (1, 2) sage: _.parent() Ambient free module of rank 2 over the principal ideal domain Integer Ring sage: vector(list(array([1,2],dtype=float))) (1.0, 2.0) sage: vector(list(array([1,2],dtype=complex))) (1.0, 2.0) sage: _.parent() Vector space of dimension 2 over Complex Double Field So it looks as if the conversion from one-dimensional numpy arrays to vectors could be done like that, independently of their dtype. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Syntax highlight in SAGE Calculator?
On Mar 16, 5:05 pm, dmitrey wrote: > hi all, > is it possible somehow to perform syntax highlight in SAGE Calculator, > at least for viewing published worksheets? > > Regards, D. In the documentation (in the notebook) the syntax is highlighted (I mean colored). See, for example, vector? vector?? Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
By the way, vector doesn't work with integer numpy arrays, from numpy import array vector(array([1,2])) Traceback (most recent call last): File "", line 1, in File "_sage_input_60.py", line 5, in vector(array([_sage_const_1 ,_sage_const_2 ])) File "", line 1, in File "free_module_element.pyx", line 309, in sage.modules.free_module_element.vector (sage/modules/ free_module_element.c:3172) TypeError: unsupported operand type(s) for ** or pow(): 'NoneType' and 'int' Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
On Mar 16, 3:57 pm, Mike Hansen wrote: > On Tue, Mar 16, 2010 at 12:38 PM, Alec Mihailovs > > wrote: > > Will it work as matrix(5,f) as well, or only as matrix(5,5,f) ? > > It now works with both. > > --Mike That's great! What about vector(3,f), f.vector(3), and f.matrix(3,4) or f.matrix(5) ? Alec -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
On Mar 16, 2:32 am, Mike Hansen wrote: > On Mon, Mar 15, 2010 at 10:16 PM, Jason Grout > > wrote: > > Whoever takes care of this original issue gets to claim a 3-digit ticket! > > >http://trac.sagemath.org/sage_trac/ticket/261 > > Patch up for review. > > --Mike Will it work as matrix(5,f) as well, or only as matrix(5,5,f) ? Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
On Mar 15, 3:48 am, Alec Mihailovs wrote: > That seems to be a bug introduced in Sage, not in numpy, > > sage: fromfunction(lambda i,j:i-j+3,(1,1),dtype=int) > > array([[3]]) > > sage: matrix(_) > > [0 0 0] > [0 0 0] > [0 0 0] Yes, and that happens with other numpy 1x1 arrays as well, converted to matrices, from numpy import array a5=array([[5]]) matrix(a5) [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] I looked at the matrix?? and the problem seems to be caused by the block of code starting from if len(args) >= 1: # check to see if the number of rows is specified try: nrows = int(args[0]) args.pop(0) because of the following numpy arrays feature: int(a5) 5 By the way, if that will go into a ticket, it would be nice if also the possibility of defining a matrix through a function be added to the matrix constructor (along David Joyner's suggestion). Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: BoxPlot in Sage: how do we plot?
On Mar 14, 5:32 pm, jpc wrote: > There is matplotlib > > http://matplotlib.sourceforge.net/examples/pylab_examples/boxplot_dem... > > http://matplotlib.sourceforge.net/plot_directive/mpl_examples/pylab_e... > > I also didn't get it with R in sage (or python). Yes, R seems to be built without the png support in Sage. Here is a simple working example of a boxplot using matplotlib: from pylab import boxplot,savefig b=boxplot(range(10)) savefig("sage1.png") The original data list can be substituted in place of range(10) above. Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Could someone help me.....
On Mar 15, 4:41 pm, Kevin wrote: > ...me make a graph for this code. > The code makes a distribution of 2 dice. > > It would be nice to have a graph to go with it. > > from random import random > maximum = 1 > counts = [0,0,0,0,0,0,0,0,0,0,0,0,0,0] > n = 0 > while n < maximum: > dieOne = int(random()*6)+1 > dieTwo = int(random()*6)+1 > dieSum = dieOne + dieTwo > counts [dieSum] = counts [dieSum] + 1 > n = n + 1 > counts [1:] Another way of doing that is (see http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.random_integers.html ) from numpy.random import random_integers dsums = random_integers(1, 6, 1) + random_integers(1, 6, 1) from matplotlib import pyplot counts = pyplot.hist(dsums, 11)[0]; counts array([ 279, 569, 845, 1072, 1398, 1683, 1355, 1106, 842, 576, 275]) pyplot.savefig("sage1.png") Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
On Mar 15, 3:39 am, Alec Mihailovs wrote: > The second problem is that something strange happens for 1x1 matrices, > with any dtype, > > matrix(fromfunction(lambda i,j:i-j,(1,1),dtype=int)) > > [] > > matrix(fromfunction(lambda i,j:i-j+3,(1,1),dtype=int)) > > [0 0 0] > [0 0 0] > [0 0 0] That seems to be a bug introduced in Sage, not in numpy, sage: fromfunction(lambda i,j:i-j+3,(1,1),dtype=int) array([[3]]) sage: matrix(_) [0 0 0] [0 0 0] [0 0 0] Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
On Mar 14, 6:15 pm, Alec Mihailovs wrote: > That could be also done as > > from numpy import fromfunction > > matrix(fromfunction(lambda i,j:i-j, (6,6), dtype=int)) > > [ 0 -1 -2 -3 -4 -5] > [ 1 0 -1 -2 -3 -4] > [ 2 1 0 -1 -2 -3] > [ 3 2 1 0 -1 -2] > [ 4 3 2 1 0 -1] > [ 5 4 3 2 1 0] However, testing that, I found 2 problems. First, dtype=int works not very well for integers greater than 2^31-1. For example, matrix(fromfunction(lambda i,j:(i+j)^31, (2,2), dtype=int)) [ 0 1] [ 1 -2147483648] That can be fixed by using dtype=object instead. matrix(fromfunction(lambda i,j:(i+j)^65, (2,2), dtype=object)) [ 01] [ 1 36893488147419103232] The second problem is that something strange happens for 1x1 matrices, with any dtype, matrix(fromfunction(lambda i,j:i-j,(1,1),dtype=int)) [] matrix(fromfunction(lambda i,j:i-j+3,(1,1),dtype=int)) [0 0 0] [0 0 0] [0 0 0] Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: Entering matrices whose elements are functions of row/column indices?
That could be also done as from numpy import fromfunction matrix(fromfunction(lambda i,j:i-j, (6,6), dtype=int)) [ 0 -1 -2 -3 -4 -5] [ 1 0 -1 -2 -3 -4] [ 2 1 0 -1 -2 -3] [ 3 2 1 0 -1 -2] [ 4 3 2 1 0 -1] [ 5 4 3 2 1 0] _.parent() Full MatrixSpace of 6 by 6 dense matrices over Integer Ring Alec Mihailovs -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
[sage-support] Re: shift-return, shift-enter, click-mouse-on-evaluate. on evaluating a cell in a notebook
In Windows, such things, as well as any other key (and mouse) remapping can be done using an autohotkey script, http://www.autohotkey.com/ Alec Mihailovs --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Maple in Sage on Mac
There is also a possibility to use Maple directly through OpenMaple instead of pexpect. I don't have much free time at the moment, but if somebody is interested, in addition to the Maple help pages, the following link (in C#, but it is rather clear how to modify it for C++) can be helpful, http://www.mapleprimes.com/blog/paul/usingopenmaplec Alec Mihailovs --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: NVIDIA Tesla
Thank you! > http://groups.google.com/group/mpir-devel/t/df88735e6d4e678c I should search the group before posting. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] NVIDIA Tesla
Is it possible to run SAGE on NVIDIA Tesla (with 4 teraflops)? http://www.nvidia.com/object/personal_supercomputing.html http://tech.slashdot.org/article.pl?sid=08/11/23/068234&from=rss Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: square of an inequality
From: "Stan Schymanski" <[EMAIL PROTECTED]> > I think it would be very nice to include a solve algorithm for > inequalities. To my knowledge, Mathematica does not do this, either. > Or at least, I did not find out how to do it in Mathematica after 4 > years of use. For example, In[1]:= Reduce[x + y <= 3 && x >= 0 && y >= 0, {x, y}, Integers] Out[1]= (x == 0 && y == 0) || (x == 0 && y == 1) || (x == 0 && y == 2) || (x == 0 && y == 3) || (x == 1 && y == 0) || (x == 1 && y == 1) || (x == 1 && y == 2) || (x == 2 && y == 0) || (x == 2 && y == 1) || (x == 3 && y == 0) Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Hypergeometric sum
Ondrej and William, Thank you, it's nice to know about that. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Hypergeometric sum
> What is your point? Actually, I meant that more about Maplesoft. Sage support is usually good in this group, just wasn't very good in this thread. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Hypergeometric sum
>> I came across this example in a recent thread in Maple newsgroup. > > Here is the link, > > http://groups.google.com/group/comp.soft-sys.math.maple/browse_thread/thread/65248f258f5522ad?hl=en# > > Another link, to Mathematica newsgroup, > > http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/b84ac9c2a48f1bc1?hl=en# Now, compare 3 different approaches to customer support - in Maplesoft (none), here (some discussion, but without Maxima or SAGE code, or a workaround), and in Wolfram Research (Devendra Kapadia responded very nicely, the problem was addressed, and a workaround was suggested). And the winner is - Wolfram Research. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: square of an inequality
>> By the way, I just looked at Wester's article (briefly), and it seems as >> if >> he missed inequalities. Such things, as, say, x+y<=3, x>=0, y>=0 for >> integer >> x and y, should be a part of the standard test, I think. [...] >> Can SAGE do that? I meant to solve. The answer should be either a list of points, {x=0,y=0}, {x=0,y=1} etc. - or their convex hull. That gives feasible points for integer (linear or convex) programming problems. I posted about that on Mapleprimes (Kindergarten). Maple can't do that using isolve. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Hypergeometric sum
> I came across this example in a recent thread in Maple newsgroup. Here is the link, http://groups.google.com/group/comp.soft-sys.math.maple/browse_thread/thread/65248f258f5522ad?hl=en# Another link, to Mathematica newsgroup, http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/b84ac9c2a48f1bc1?hl=en# Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Hypergeometric sum
From: "Burcin Erocal" <[EMAIL PROTECTED]> > > it doesn't give an answer. This means that your expression doesn't have > a hypergeometric closed form in the sense of A=B, p. 143 [1]: > > http://www.cis.upenn.edu/~wilf/AeqB.html Is this a joke? After converting binomial coefficients to Pochhammer symbols, it is exactly the definition of Hypergeometric1F1[-n,-2n,2x] for positive integer n, or 1 for n=0. > Sage will have symbolic summation capabilities soon, but I doubt if it > will ever be able to simplify this expression. I hope it will. Eric Weisstein wrote to me that the current development version of Mathematica gives the answer Hypergeometric1F1[-n,-2n,2x]. > What are your expectations from a "correct answer"? How did you come > across this example? If you know/conjecture a simpler form for this > expression, you can prove that they are equal by showing that they both > satisfy the above recurrence, and agree on the inital values. I came across this example in a recent thread in Maple newsgroup. The correct answer is 1 for n=0 and Hypergeometric1F1[-n, -2 n, 2 x] for integer n>0, which would be equal to the expression given by Mathematica if n was not a positive integer. Another form of the correct answer is (2 x)^(n+1/2) E^x BesselK[n+1/2,x] n!/(2 n)!/Sqrt[Pi] Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Hypergeometric sum
Both Maple and Mathematica give wrong answers to the following sum, Sum[Binomial[n, k]/Binomial[2 n, k]/k! (2 x)^k, {k, 0, n}] I tried to find a way to calculate it in SAGE, but couldn't find symbolic sums in the documentation. Is Maxima supposed to be used directly? Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: square of an inequality
> sage: eqn.lhs()^2 bv^2 < (bv^2*rwat + av*lwat)/rwat > > > Perhaps, there is no need to implement it after all. There is a definite need, and it shouldn't be too complicated. The thing that should be implemented is : if a0, then a*c=0, y>=0 for integer x and y, should be a part of the standard test, I think. Maple can't do that. I didn't try Mathematica, but I believe that it is capable of that. Can SAGE do that? Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: polymake
Michael, > I have an updates spkg that fixes those issues once and for all. I > need to polish it and have it reviewed so that I can push it into the > repo. Thank you, Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] polymake
I just tried to install polymake (an optional package) in Sage 3.1.1 and it failed because it tried to find cddlib-094b.p1 while the next patch, cddlib-094b.p2 is included in standard packages. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Spam bots
> Disabled automated account creation and turn on the text captcha. Just > because a spam bot uses a category X it has nothing to do with X. It > seems kind of counter productive to be associated with the culprit in > the first place. If *I* were to write a Sage spambot I would have it > claim to be MMA as a diversion tactic ;) That's a good advise, thank you. I'll turn on the captcha. Alec PS Frankly, knowing some of (young) Sage contributors (from their other Usenet and wiki activities), I suspected that they might have to do something with that spam bot - but you were very convincing, and now I am not that sure about that -Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Spam bots
> I guess in the end I'm not sure what you wanted to accomplish with > this thread. Are you saying that there is an individual associated to > the Sage project that is spamming your wiki? Or that there is code in > Sage designed to spam your wiki? Or ...? First, I wanted to know if there were other similar cases known. Second, what would you do in a similar case, if say, your wiki got spammed with some text ending CathegoryMathematica? Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Spam bots
> My guess is that the spam bot wanted to assign its page to a category, > and it can easily find the already existing categories on your wiki > from http://mapleadvisor.com/cgi-bin/moin.cgi/CategoryCategory That could happen, with probability 20%. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Spam bots
> First, I didn't have CategorySage there. Correction - Just found out that I had it. > Second, look at the added text - CategorySage was added as a part of the > spam. Still, the spam text contained it. I don't think that a bot was searching for the pages in the wiki and randomly chose that one. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Spam bots
>> http://mapleadvisor.com/cgi-bin/moin.cgi/FrontPage?action=diff&rev1=3&rev2=4 > > I'm not sure what you mean by Sage is being used to create spam bots. > Since you already had a CategorySage on your wiki, I don't see any > evidence that this is related to Sage in any way. First, I didn't have CategorySage there. Second, look at the added text - CategorySage was added as a part of the spam. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Spam bots
Sage seems to be used for creating spam bots. In particular, the FrontPage in Maple Wiki was corrupted yesterday from 193.53.87.109 with spam ending with CategorySage, see http://mapleadvisor.com/cgi-bin/moin.cgi/FrontPage?action=diff&rev1=3&rev2=4 Alec Mihailovs --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Maple wiki
> I'd like to copy a few pages (and from cython wiki, too). The one that I > originally meant, was > http://wiki.sagemath.org/A_short_introduction_to_SAGE Just did it, http://mapleadvisor.com/cgi-bin/moin.cgi/A_short_introduction_to_SAGE It took more time and effort than I expected though, because it has appeared that sagemath is running a quite old MoinMoin version, 1.5.7, with different link format than I have in version 1.7. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Maple wiki
>> There are few versions of the CC licensing though. Is it just BY? Or >> there >> are some other additions to it? > > I don't actually know for sure off the top of my head. Let me know > what page(s) you want to copy... Oh, I've just found it - it is linked to BY-SA (so I should add the license link to the page that I am copying, that is not a problem.) I'd like to copy a few pages (and from cython wiki, too). The one that I originally meant, was http://wiki.sagemath.org/A_short_introduction_to_SAGE Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Maple wiki
William, > We state on the front page of the Sage wiki: "By making an explicit > contribution to the Sage wiki (or the Sage documentation), one > certifies that one's contribution is licensed under the Creative > Commons 3.0 license." So I think you could copy something > from the Sage wiki to your wiki. > > William Thank you! I'll do that. There are few versions of the CC licensing though. Is it just BY? Or there are some other additions to it? Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Maple wiki
From: "Harald Schilly" <[EMAIL PROTECTED]> > Well, there is already a http://wiki.sagemath.org/ - unless there are > special reasons, sage+wiki stuff should go there. and about postings, > if there is anyone who would like to maintain a faq-support collection > of postings is welcome ;) Well, there may be 2 good reasons: 1. The audience is different. 2. It is independent. I'd like to have some SAGE description (for totally beginners) with links. I think, such a page exists in sage wiki, but I can't just copy it and post in Maple wiki (for copyright issues). Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Maple wiki
I started a wiki 2 weeks ago at http://mapleadvisor.com/cgi-bin/moin.cgi/StartingPage Originally it was planned to be a Maple wiki (even if I am not especially interested in Maple myself and my main advise for Mape users is to switch from Maple to SAGE), but it could be much wider than that - including Mathematica wiki (with a similar advice), and SAGE wiki, for example. Everybody can edit everything. I added jsMath ( http://mapleadvisor.com/cgi-bin/moin.cgi/JsMath ) there, so LaTeX formulas are displayed and printed normally (without using pictures). Also, maple input can be displayed nicely (red and bold) through <>, etc. Many posts on this list would look great there. Generally speaking, wiki seem to have a potential of creating a nice interactive community. Thus far, not that many people seem to get interested though. Alec Mihailovs --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Accessing terms in an expression
From: "David Joyner" <[EMAIL PROTECTED]> > I was wondering about this myself. Maple has a command that does > exactly this (I think it is the "ops" command). It's op. Maple represents objects using DAGs (directed acyclic graphs literally, but it also includes enumeration of child vertices), and op lists all vertices below the given vertex. For different representation of objects it may be not that easy to do. Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Performance problem in sage-3.0.2 and sage-3.0.3
Michael Abshoff wrote: > It is about two orders of magnitude and it looks like your Maple code > is actually compiled. In case I am reading your code right could you > tell us what the runtime of an interpreted version of your code would > be like? I would guess that with Cython one could get similar timings, > but overall this is not relevant to the slowdown observed ;) Sorry for a delay - I don't have Maple installed at home and had trouble with connecting to a computer with it remotely. Yes, it is compiled in C (using Maple command Compiler:-Compile compiling it in Open Watcom 1.3 supplied with Maple in Windows, or gcc in Linux, I guess - never had Maple installed in Linux). Changing to not-compiled version of ES2 (with replacing cs2 in it with s2), gives the following timing: time(ES2_not_compiled(10^7)); 19.344 It maybe not exactly not interpreted though, because it uses Arrays with hardware datatype, and operations with them are highly optimized in Maple. I didn't mean to say that it is relevant to the slowdown. GMP seems to be also not relevant though - because the integers calculated (primes) are in 32-bit range. I was wondering about an additional prime - perhaps, he calculated 1 as a prime? Alec --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Performance problem in sage-3.0.2 and sage-3.0.3
From: "Daryl Hammond" <[EMAIL PROTECTED]> > SAGE Version 3.0, Release Date: 2008-04-23 > array size: 1000 > number of primes: 664580 > Elapsed seconds: 70.93 That seems to be quite slow anyway. For example, for my Maple program ES2, see http://www.mapleprimes.com/blog/alec/the-eratosthenes-sieve , time(ES2(10^7)); 0.702 Also, the number of primes given by your program is 1 more than it should be, ArrayNumElems(ES2(10^7)); 664579 Alec Mihailovs --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---