{5} Assigned, Active Tickets by Owner (Full Description) (147 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

AlexGhitza

Ticket Summary Component Milestone Type Created
Description
#4218 Extensions of Finite Fields don't work well algebra sage-3.2.2 defect 09/29/2008

The following sage snippets show (some of) the problems. First, we set the stage:

sage: F1.<a> = GF(2^7)
sage: P1.<x>=PolynomialRing(F1)
sage: f=x^2+x+F1(1)
sage: F2=F1.extension(f,'u')
sage: F2
Univariate Quotient Polynomial Ring in u over Finite Field in a of size 2^7 with modulus u^2 + u + 1
sage: a in F2
True

First problem:

sage: for i in xrange(100):
   ....:         r = F2.random_element()
   ....:     if r != F2(0) and r != F2(1):
   ....:             print "Yoicks! r=%s"%r
   ....: 
sage: 

No output means that 100 random elements of F2 are either 0 or 1, which seems somehow incorrect.

The next oddity is

sage: F1.order()
128
sage: F2.order()
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)

/SandBox/Justin/sb/sage-3.1.1/<ipython console> in <module>()

/SandBox/Justin/sb/sage-3.1.1/ring.pyx in sage.rings.ring.Ring.order (sage/rings/ring.c:4108)()

NotImplementedError: 

Shouldn't .order() work for extensions as well as those directly defined?


TimothyClemans

Ticket Summary Component Milestone Type Created
Description
#3849 [with patch, do not review] notebook -- Internal Server Error given when input to File upload or Data attachment is invalid notebook sage-3.2.2 defect 08/14/2008

(1) In Google Docs if one fills in both "Browse your computer ..." and "Or enter the url of a ...", the server just deals with the first input box. The Notebook instead deals with the second. Do what Google does.

(2) Google uses JavaScript? alert boxes to report errors. The Notebook just gives a "Internal Server Error." The Notebook should do inline error reporting just as is done on the Registration page.


#3525 [with patches, don't review] notebook -- new welcome page notebook sage-3.2.2 enhancement 06/27/2008

Take the static page at http://timothyclemans.com/nb_homepage/ and merge it into the Sage Notebook code.


#3619 [with patch, needs work] notebook -- record date & time each user logs in notebook sage-3.2.2 enhancement 07/08/2008

#4135 [with patch, needs review] notebook -- user management features notebook sage-3.2.2 enhancement 09/16/2008

New features: - Reset a user's password - Add a new user - Suspend/unsuspend a user - Temporary password shown for each user if one is set (Created by password reset and add user)


#3463 [with patch, not ready for review] notebook -- create a resource folder and move AnonymousToplevel to it notebook sage-3.2.2 task 06/18/2008

This is a first step in making the Notebook code more modular like Knoboo's.


#338 In doc browser make hyper links to referenced code in SAGE library notebook sage-feature enhancement 03/31/2007

For example: On page http://sagenb.com/doc_browser?/const/?node72.html, reference to sage/modular/dims.py would be a hyper link to the actual code. On page http://sagenb.com/doc_browser?/prog/?node15.html, reference to SAGE_ROOT/devel/sage/sage/graphs/graph.py would be a hyper link to the actual code.


anakha

Ticket Summary Component Milestone Type Created
Description
#4342 [with patch; needs review] Add legends to plot.py graphics sage-3.2.2 enhancement 10/22/2008

Add support for placing legends on plots using the matplotlib facility for doing so.


anovocin

Ticket Summary Component Milestone Type Created
Description
#4283 [with proto-patch] A Speed-up Patch for NTL's ZZXFactoring.c factorization sage-3.2.2 enhancement 10/14/2008

The goal of this patch is to speed-up NTL's factoring algorithm for polynomials in Z[X]. The speed-up comes from using fpLLL rather than NTL's native LLL algorithm. We do this by converting a ZZ_mat of ZZ's (NTL's multi-precision integers) and passing them into a mat_ZZ<mpz_t> matrix of mpz_t's (fpLLL's native format). Then run fpLLL on the new matrix and pass the entries back to NTL. I don't replace NTL's LLL just pass what should be an already reduced basis to NTL's LLL. (NTL computes extra information that would require a hack into fpLLL to get and might not be worth it.) This patch allows NTL to beat MAGMA on many examples (it still is a little slower than MAGMA (but faster than SAGE) on irreducible polynomials). I think that the cross over between Pari's factoring and NTL's factoring should be re-evaluated (currently Pari is used for polynomials of degree 30 through 300) if not just use NTL for all polynomials now.


burcin

Ticket Summary Component Milestone Type Created
Description
#1611 polybori should use the m4ri library from libm4ri spkg packages sage-3.2.2 enhancement 12/27/2007

PolyBoRi? comes with its own copy of m4ri libraries. After #1505, Sage provides these libraries through a package.

The PolyBoRi? build process should be changed to use the library and headers provided by libm4ri-*.spkg.


#4360 [with patch, needs work] fraction field improvements basic arithmetic sage-3.2.2 enhancement 10/24/2008

Attached patches move sage.rings.fraction_field.FractionField_generic to the new coercion model, and cythonize the sage.rings.fraction_field_element.FractionFieldElement class. They also allow homomorphisms of fraction fields to work, and make the random_element() method of fractions fields return sensible results.

I will follow these up with specialized classes for rational functions.

The patches depend on #4278.

Since one of the patches renames a file (from *.py to *.pyx) it contains a git style patch. Here are the lines you need in the .hgrc file:

[diff]
git = 1

cpernet

Ticket Summary Component Milestone Type Created
Description
#4260 use LinBox as native matrix representation for dense matrices over GF(p) linear algebra sage-3.2.2 enhancement 10/10/2008

Copying to and from LinBox? uses up precious RAM and the point of fast linear algebra is to deal with large matrices. We should consider switching to LinBox? as the native representation of matrices over GF(p)


craigcitro

Ticket Summary Component Milestone Type Created
Description
#2535 [with patch, needs work] Problem with cuspidal_subspace and new_subspace for modular symbols modular forms sage-3.2.2 defect 03/15/2008

There's some error with plus_submodule and cuspidal_submodule not being "commutative." Here's an example:

sage: M = ModularSymbols(11,2)
sage: Mpc = M.plus_submodule().cuspidal_submodule()
sage: Mcp = M.cuspidal_submodule().plus_submodule()

sage: Mcp.q_expansion_basis(10) 
[
q - 2*q^2 - q^3 + 2*q^4 + q^5 + 2*q^6 - 2*q^7 - 2*q^9 + O(q^10)
]

sage: Mpc.q_expansion_basis(10)
---------------------------------------------------------------------------
<type 'exceptions.RuntimeError'>          Traceback (most recent call last)

/Users/craigcitro/<ipython console> in <module>()

/sage/local/lib/python2.5/site-packages/sage/modular/modsym/space.py in q_expansion_basis(self, prec, algorithm)
    458             algorithm = 'hecke'
    459         if algorithm == 'hecke':
--> 460             return Sequence(self._q_expansion_basis_hecke_dual(prec), cr=True)
    461         elif algorithm == 'eigen':
    462             return Sequence(self._q_expansion_basis_eigen(prec), cr=True)


/sage/local/lib/python2.5/site-packages/sage/modular/modsym/space.py in _q_expansion_basis_hecke_dual(self, prec)
    913         t = misc.verbose('computing basis to precision %s'%prec)
    914         while V.dimension() < d and i >= 0:
--> 915             v = [self.dual_hecke_matrix(n).column(i) for n in range(1,prec)]
    916             t = misc.verbose('iteration: %s'%j,t)
    917             X = M(v).transpose()

/sage/local/lib/python2.5/site-packages/sage/modular/hecke/module.py in dual_hecke_matrix(self, n)
    725             self._dual_hecke_matrices = {}
    726         if not self._dual_hecke_matrices.has_key(n):
--> 727             T = self._compute_dual_hecke_matrix(n)
    728             self._dual_hecke_matrices[n] = T
    729         return self._dual_hecke_matrices[n]

/sage/local/lib/python2.5/site-packages/sage/modular/hecke/submodule.py in _compute_dual_hecke_matrix(self, n)
    108         A = self.ambient_hecke_module().dual_hecke_matrix(n)
    109         check =  arith.gcd(self.level(), n) != 1
--> 110         return A.restrict(self.dual_free_module(), check=check)
    111 
    112     def _compute_hecke_matrix(self, n):

/sage/local/lib/python2.5/site-packages/sage/modular/hecke/submodule.py in dual_free_module(self, bound, anemic)
    295                 # failed
    296                 raise RuntimeError, "Computation of embedded dual vector space failed " + \
--> 297                       "(cut down to rank %s, but should have cut down to rank %s)."%(V.rank(), self.rank())
    298 
    299 

<type 'exceptions.RuntimeError'>: Computation of embedded dual vector space failed (cut down to rank 2, but should have cut down to rank 1).

I'll look at this soon.


#812 add Pollack/Stevens overconvergent modular symbols code modular forms sage-feature enhancement 10/03/2007

I'm just starting to work on implementing Pollack & Stevens' methods for using overconvergent modular symbols for p-adic L-functions, Stark-Heegner points, etc.


#4357 modular forms -- new subspace used to work and now broken modular forms sage-3.2.2 enhancement 10/23/2008

This used to work and is now broken. It is used in my modular forms book.

sage: CuspForms(45).new_subspace()
Traceback (most recent call last):
...
NotImplementedError: computation of new submodule not yet implemented

#685 Make Eisenstein series code handle eisenstein series with character modular forms sage-3.2.2 enhancement 09/17/2007

The eisenstein_series_qexp function currently only handles eisenstein series for level 1. It wouldn't be hard to make this handle eisenstein series for higher level and with character. I'm going to take care of this soon, but this is here in case I forget. ;)


#864 Asymptotically slow pari <--> python long conversions interfaces sage-3.2.2 enhancement 10/12/2007

This is really a leftover from ticket #467, split because I wanted the first half of the fix to make it into 2.8.7. Here's a summary of the badness:

sage: x = 10^100000

sage: time y = pari(x)
CPU times: user 1.18 s, sys: 0.01 s, total: 1.19 s
Wall time: 1.26

sage: time z = Integer(y)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.01 s
Wall time: 0.02

sage: time u = int(y)
CPU times: user 1.94 s, sys: 1.33 s, total: 3.27 s
Wall time: 3.58

sage: time u = int(Integer(y))
CPU times: user 0.00 s, sys: 0.00 s, total: 0.01 s
Wall time: 0.03


sage: x = 10^1000000

sage: time y = pari(x)
CPU times: user 105.12 s, sys: 1.26 s, total: 106.38 s
Wall time: 121.86

sage: time z = Integer(y)
CPU times: user 0.03 s, sys: 0.02 s, total: 0.05 s
Wall time: 0.09

sage: time u = int(y)
CPU times: user 188.17 s, sys: 145.12 s, total: 333.28 s
Wall time: 364.80

sage: time u = int(Integer(y))
CPU times: user 0.04 s, sys: 0.02 s, total: 0.06 s
Wall time: 0.07

And here's the state of affairs after the first patch:

sage: x = 10^100000

sage: time y = pari(x)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00

sage: time z = Integer(y)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00

sage: time u = int(y)
CPU times: user 1.64 s, sys: 1.09 s, total: 2.73 s
Wall time: 2.79

sage: time u = int(Integer(y))
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00

sage: x = 10^1000000

sage: time y = pari(x)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.01 s
Wall time: 0.01

sage: time z = Integer(y)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00

sage: time u = int(y)
CPU times: user 220.90 s, sys: 137.34 s, total: 358.24 s
Wall time: 408.11

sage: time u = int(Integer(y))
CPU times: user 0.00 s, sys: 0.00 s, total: 0.01 s
Wall time: 0.01

Clearly that third function call needs to be fixed, and it will be within a few days.


#1770 Make fast pari <--> p-adic conversions for fixedmod and capped-abs types interfaces sage-3.2.2 enhancement 01/13/2008

I already wrote the corresponding code for capped-rel elements, and it should be done for these other types. I'm assigning this to myself for now, but if anyone wants to do this, it's pretty easy -- you could mostly copy what I did in the capped-rel case, and do this with essentially no knowledge of how the pari stuff works.


#2329 [with patch, pending another patch] add interface to Pari's rnfisnorm number theory sage-3.2.2 enhancement 02/27/2008

This patch adds support to solve norm equations via Pari.

Quick summary: given an element x of any number field (even QQ), x.is_norm(L) will return False if x is not a norm from L, and if x is a norm from L, will return an element of L whose norm is x.

According to the Pari documentation, these functions depend on GRH when L/K is not known to be Galois, and work independent of any such hypothesis otherwise (at least, that's what I got from reading the Pari manual).

The data used by Pari to compute whether or not an element is a norm can be computed once for each extension L/K. The function pari_rnfnorm_data computes exactly this, and its result can be passed to is_norm to avoid recomputing it each time in the case that K != QQ. If K is QQ, there is no need to save any such data -- the only data needed is that of K.pari_bnf(), which is used instead, and is already cached by K.


#4518 progress indicator for "sage -br" build sage-3.2.2 enhancement 11/13/2008

Modify the execute_list_of_commands function in setup.py so that it prints somehow the percent of them that have been completed so far every once in a while. Nothing too complicated.


cswiercz

Ticket Summary Component Milestone Type Created
Description
#3573 [with patch, with spkg, needs to be rebased] finance - Implementation of Sage interface to opentick finance sage-3.2.2 enhancement 07/06/2008

opentick is a collection of APIs for obtaining free real-time and historical market data for trading systems and trading platforms. With these APIs, we will enable Sage to be able to stream and manipulate real-time market data.

This ticket depends on #3621.


#4083 [with patch, needs work] sage.finance - Options pricing implementation finance sage-3.2.2 enhancement 09/08/2008

Includes capabilities for options pricing using the Black-Scholes model. The primary class of this ticket is finance.Option, which uses finance.Stock.


#2507 [with patch; needs work] Docstrings and Doctests for rings/quotient_ring_element.py doctest sage-3.2.2 defect 03/13/2008

Current coverage in Sage 2.10.3: SCORE quotient_ring_element.py: 3% (1 of 27)


cwitty

Ticket Summary Component Milestone Type Created
Description
#1365 golden_ratio._algebraic_() should synthesize the value algebraic geometry sage-3.2.2 enhancement 12/01/2007

Robert Bradshaw points out that golden_ratio._algebraic_ might as well synthesize the value, instead of using a special-purpose function in qqbar.py (and there's a patch to do this as part of Robert's patch at #1275). But I want to make qqbar.py a bit more efficient for that case, before making the change.


davidloeffler

Ticket Summary Component Milestone Type Created
Description
#4681 [with patch, needs review] General Smith normal form implementation linear algebra sage-3.2.2 enhancement 12/02/2008

Smith form is a useful canonical form for matrices over a PID. Sage already has it for ZZ. I've coded up a very basic implementation that should work over any PID Sage knows about (although it is not fast).


gfurnish

Ticket Summary Component Milestone Type Created
Description
#2452 heaviside step function needed calculus sage-3.2.2 enhancement 03/10/2008

Symbolic heaviside step function is needed for ease of plotting. Right now you must

sage: def u(x):
    if(x<0):
        return 0
    else:
        return 1*cos(x)
sage: plot(u,-5,5)

instead of

 plot(heaviside(t)*cos(t),t,-5,5)

#385 implement at for symbolics calculus sage-3.2.2 defect 06/07/2007
On 6/7/07, Randy LeVeque <rjl@amath.washington.edu> wrote:
> By the way, I'm just trying to figure out how sage does Taylor series.
> Maybe you can pass this on to whoever the best person is to chat with about
> this...
> 
> In maple I can do things like
> 
> > mtaylor(u(x+h,t+k),[h,k],3);
>                                                                      2
> u(x, t) + D[1](u)(x, t) h + D[2](u)(x, t) k + 1/2 D[1, 1](u)(x, t) h
> 
>                                                      2
>       + h D[1, 2](u)(x, t) k + 1/2 D[2, 2](u)(x, t) k
> 
> 
> which is very convenient for numerical analysis when computing truncation
> errors of finite difference methods (h and k are mesh widths in space and
> time).  In sage a general expansion of this sort doesn't seem possible even
> in a single variable, e.g.,
> 
> sage: taylor(u(x+h),h,0,4)
> x + h
> 
> Apparently an undefined function like u(x) is taken to be the identity map?

To define a formal function, do u = function('u').  Then

sage: u = function('u')
sage: u(x + h)
u(x + h)
sage: diff(u(x+h), x)
diff(u(x + h), x, 1)

To get the Taylor expansion you would do this:

sage: taylor(u(x+h),h,0,4)

-- however -- this currently doesn't work in SAGE since we hadn't considered
doing this yet.   What happens is Maxima does the computation and outputs
the following expression:

'u(x)+(?%at('diff('u(x+h),h,1),h=0))*h+(?%at('diff('u(x+h),h,2),h=0))*h^2/2+(?%at('diff('u(x+h),h,3),h=0))*h^3/6+(?%at('diff('u(x+h),h,4),h=0))*h^4/24

SAGE doesn't know yet how to parse the "at" function, so you get
an error -- it will have to be added.   [Note that I don't necessarily consider
maxima the ultimate underlying engine for SAGE's symbolic computation
capabilities -- but it does provide a very quick way for SAGE to have
a powerful symbolic system for which a lot of subtle bugs have
already been fixed (over the last 40 years of Maxima development). ]

Definitely point out lots of things like this in your talk at SD4!

 -- William

#780 calculus integration failing due to maxima interacting when it shouldn't calculus sage-3.2.2 defect 10/01/2007
Hi,

This is a quick and possibly not so useful answer. 
(1) I think you're running into a bug in Maxima (hence Sage) below, since
your assumption should be passed through.  It's pretty hard for us Sage
developers to fix bugs in Maxima, unfortunately.   Nonetheless, we are
very thankful for the bug report.

(2) Possibly doing the following workaround would be OK for you, i.e.,
just compute the definite integral you want by computing an antiderivative
and use the fundamental theorem of calculus:

sage: x,y=var('x,y')
sage: f = log(x^2+y^2)
sage: integrate(f,x)
x*log(y^2 + x^2) - 2*(x - atan(x/y)*y)
sage: g = integrate(f,x)
sage: h = g(x=1.) - g(x=0.0001415); h    # this is what you want.
1.00000000000000*log(y^2 + 1.00000000000000) - 0.0001415000000000000000*log(y^2 + 0.000000020022250000000000000000) - 2*(1.00000000000000 - atan(1.00000000000000/y)*y) + 2*(0.0001415000000000000000 - atan(0.0001415000000000000000/y)*y)
sage: h(y=5)
3.231596665591034

On 10/1/07, Eliz <elyip@comcast.net> wrote:
> 
> Attached is the 'edit' view of my worksheet.  When I changed the lower
> bound of the definite integral from 0.0001415 to  0.0001414, we got
> into trouble.
> 
> Elizabeth
> ------------------------------------------------------------------------------------------------------------
> integration_exercise
> system:sage
> 
> {{{id=0|
> x,y=var('x,y')
> f=log(x^2+y^2)
> integrate(f,x)
> ///
> x*log(y^2 + x^2) - 2*(x - atan(x/y)*y)
> }}}
> 
> {{{id=11|
> assume(y^2>1)
> integrate(f,x,0.0001415,1.)
> ///
> 1.00000000000000*log(1.00000000000000*y^2 + 1.00000000000000) -
> 0.0001415000000000000000*log(1.00000000000000*y^2 +
> 0.000000020022250000000000000000) +
> 2.00000000000000*atan(1.00000000000000/y)*y -
> 2.00000000000000*atan(0.0001415000000000000000/y)*y - 1.99971700000000
> }}}
> 
> {{{id=16|
> assume(y^2<1)
> integrate(f,x,0.0001415,1.)
> ///
> 1.00000000000000*log(1.00000000000000*y^2 + 1.00000000000000) -
> 0.0001415000000000000000*log(1.00000000000000*y^2 +
> 0.000000020022250000000000000000) +
> 2.00000000000000*atan(1.00000000000000/y)*y -
> 2.00000000000000*atan(0.0001415000000000000000/y)*y - 1.99971700000000
> }}}
> 
> {{{id=17|
> assume(y^2==1)
> integrate(f,x,0.0001415,1.)
> ///
> 1.00000000000000*log(1.00000000000000*y^2 + 1.00000000000000) -
> 0.0001415000000000000000*log(1.00000000000000*y^2 +
> 0.000000020022250000000000000000) +
> 2.00000000000000*atan(1.00000000000000/y)*y -
> 2.00000000000000*atan(0.0001415000000000000000/y)*y - 1.99971700000000
> }}}
> 
> {{{id=19|
> assume(y^2>1)
> integrate(f,x,0.0001414,1.)
> ///
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/home/yip/sage_notebook/worksheets/admin/10/code/47.py", line
> 5, in <module>
>     exec
> compile(ur'integrate(f,x,RealNumber(\u00270.0001414\u0027),RealNumber(\u00271.\u0027))'
> + '\n', '', 'single')
>   File "/local/sage-2.8.5.1/data/extcode/sage/", line 1, in <module>
> 
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> calculus/functional.py", line 175, in integral
>     return f.integral(*args, **kwds)
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> calculus/calculus.py", line 1652, in integral
>     return self.parent()(self._maxima_().integrate(v, a, b))
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/maxima.py", line 1391, in integral
>     return I(var, min, max)
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/expect.py", line 884, in __call__
>     return self._obj.parent().function_call(self._name, [self._obj] +
> list(args))
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/expect.py", line 831, in function_call
>     return self.new("%s(%s)"%(function, ",".join([s.name() for s in
> args])))
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/expect.py", line 733, in new
>     return self(code)
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/maxima.py", line 376, in __call__
>     return Expect.__call__(self, x)
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/expect.py", line 678, in __call__
>     return cls(self, x)
>   File "/local/sage-2.8.5.1/local/lib/python2.5/site-packages/sage/
> interfaces/expect.py", line 919, in __init__
>     raise TypeError, x
> TypeError: Computation failed since Maxima requested additional
> constraints (use assume):
> Is  (y-1)*(y+1)  positive, negative, or zero?
> }}}
> 
> {{{id=20|
> 
> }}}
> 

#1163 assume seems to have some undesired side-effects calculus sage-3.2.2 defect 11/13/2007
sage: assume(x > 0)
sage: sqrt(x^2)
x
sage: assume(x < 0)
sage: sqrt(x^2)
x

Maybe it is not allowed to make two assumptions on the same variable, without any forget inbetween, anyway the documentation should be clear about this, or a warning should be issued. Also, is there a way to know which assumptions were made on a given variable (like about in Maple)?


#1773 piecewise functions and integration / arithmetic do not play well together calculus sage-3.2.2 defect 01/13/2008
On 1/13/08, Hector Villafuerte <> wrote:
> 
> I defined a piecewise function (specifically, a triangular wave) like this:
> 
> sage: f1(x) = -abs(x) + 1
> sage: f2(x) = abs(x - 2) - 1
> sage: tri_wave = piecewise([ [(-1,1), f1], [(1,3), f2]])
> 
> One can plot it and it looks very nice:
> 
> sage: tri_wave.plot()
> 
> But while calculating this integral I get "ValueError: Value not
> defined outside of domain."
> 
> sage: integrate(tri_wave(x)^2, x, -1, 3)
> 
> Is there a way to integrate piecewise-defined functions?
> As always, thanks for your help,

This is clearly broken.  As a band-aide, you can at least
numerically integrate as follows:

sage: integral_numerical(lambda x: tri_wave(x)^2, -1, 3)
(1.3333333333333333, 1.4765966227514582e-14)

The first output (1.3333...) is the answer, and the second is an error bound.

 -- William

#2025 bug in applying functions to a symbolic matrix calculus sage-3.2.2 defect 02/01/2008

Note below that the stupid constant term of the taylor expansion inside the matrix keeps getting pushed off to the far right!

sage: m = matrix(1,[-x/(2*x-4)])
sage: m.apply_map(lambda e: taylor(e,x,0,4))
[x^4/32 + x^3/16 + x^2/8 + x/4]
sage: m.apply_map(lambda e: taylor(e,x,0,4))
[x^4/32 + x^3/16 + x^2/8 + x/4]
sage: m.apply_map(lambda e: taylor(e,x,1,4))
[x + (x - 1)^4 + (x - 1)^3 + (x - 1)^2 - 1/2]
sage: m.apply_map(lambda e: taylor(e,x,2,4))
[-1/(x - 2) - 1/2]
sage: m.apply_map(lambda e: taylor(e,x,3,4))
[x - (x - 3)^4 + (x - 3)^3 - (x - 3)^2 - 9/2]
sage: m[0,0].taylor(x,3,4)
-3/2 + x - 3 - (x - 3)^2 + (x - 3)^3 - (x - 3)^4

#2071 SymbolicExpression conjugate() method assumes variables are real calculus sage-3.2.2 defect 02/05/2008
sage: var('x')
x
sage: x.conjugate()
x

Under the assumption that x might be complex, this should really return conjugate(x).


#2341 vector subs over symbolic does not work linear algebra sage-3.2.2 defect 02/27/2008
Ricardo Massaro to sage-devel
	
show details 8:28 PM (18 minutes ago)
	
	
Reply
	
	

Hello all,

First of all, I'd like to thank you for Sage, it's really helping me a
lot.

I found a strange behavior that i *think* it's a bug, but I'm not
sure, since I'm a completely newbie to Sage and Python:

sage: a = var('a')
sage: m = matrix(SR, 2, [a,a,a,a])
sage: v = vector(SR, 2, [a,a])

Then,

sage: m.subs(a=1)
[1 1]
[1 1]

but

sage: v.subs(a=1)
(a, a)

I *think* the problem is in the Element.subs() method in devel/sage/
sage/structure/element.pyx. It seems to assume that the generators are
symbols, which is not true in the example vector.

Am I missing something, or is it really a bug?

Here's a dirty fix that apparently fixes this problem, but will likely
beak something else:

   def subs(self, in_dict=None, **kwds):
       v = [a.subs(in_dict, **kwds) for a in self.list()]
       return self.parent()(v)

Thanks,
Ricardo

#2785 [with spkg, needs work] The glitelib ticket packages sage-3.2.2 defect 04/02/2008

This is the ticket for the glitelib spkg. It requires an extcode patch. Obtain at http://sage.math.washington.edu/home/gfurnish/spkg/glitelib-2.15.6.spkg


#2662 simplify_full function calculus sage-3.2.2 enhancement 03/24/2008

Create a simplify_full function that (somewhat intelligently?) applies a battery simplifications to try to get a function to be simpler.

It would be nice to support some of the options that FullSimplify? in Mma has (see http://reference.wolfram.com/mathematica/ref/FullSimplify.html?q=fullsimplify&lang=en ):

  • user can pass in a "complexity function" which determines how simple an expression is
  • user can pass in a time limit for the simplification
  • user can pass in a list of things that won't be simplified
  • etc.

#22 32/64/32-bit building switch build sage-3.2.2 enhancement 09/12/2006

Should there be something to keep people from building on 32-bit then 64-bit then 32-bit.


#1158 mathematical functions should remain symbolic calculus sage-3.2.2 enhancement 11/12/2007

Some mathematical functions automatically evaluate to floating-point, even for a symbolic input (integer or variable):

sage: Ei(10)
2492.22897624
sage: bessel_J(0,10)
-0.245935764451348
sage: bessel_J(0,x)
---------------------------------------------------------------------------
<type 'exceptions.TypeError'>             Traceback (most recent call last)

/tmp/gmp-4.2.2/tune/<ipython console> in <module>()

/usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/functions/special.py in bessel_J(nu, z, alg, prec)
    492         else:
    493             K,a = _setup(prec)
--> 494         b = K(nu.besselj(z))
    495         pari.set_real_precision(a)
    496         return b

/tmp/gmp-4.2.2/tune/real_mpfr.pyx in sage.rings.real_mpfr.RealField.__call__()

/tmp/gmp-4.2.2/tune/real_mpfr.pyx in sage.rings.real_mpfr.RealNumber._set()

<type 'exceptions.TypeError'>: Unable to convert x (='1-1/4*x^2+1/64*x^4-1/2304*x^6+1/147456*x^8-1/14745600*x^10+1/2123366400*x^12-1/416179814400*x^14+1/106542032486400*x^16+O(x^17)') to real number.

In my opinion, foo(10) should evaluate to foo(10), and similarly foo(x).


jason

Ticket Summary Component Milestone Type Created
Description
#3543 Unify jquery libraries in devel/sage and data/extcode build sage-3.2.2 defect 07/02/2008

We currently ship two copies of the jquery javascript library:

  • jQuery 1.2.6 - New Wave Javascript - $Rev: 5685 $ in devel/sage-main/sage/dsage/web/static/jquery.js
  • jQuery 1.2.3 - New Wave Javascript - $Rev: 4663 $ in data/extcode/notebook/javascript/jquery/jquery.js

But we should on ship one copy.

Cheers,

Michael


#3941 threading diff over lists to give the jacobian calculus sage-3.2.2 defect 08/23/2008

In MMA, you can thread the derivative over lists of variables and functions to compute the Jacobian. Here's a routine that wraps the sage diff function to do it.

def diff(f,*args):
    if isinstance(f, (list, tuple)):
        return [diff(component,*args) for component in f]
    else:
        if isinstance(args[0], (list, tuple)):
            return [diff(f,variable) for variable in args[0]]
        else:
            return sage.all.diff(f,*args)

and the results:

sage: var('a,b,c,d,x,y')
sage: diff((a*x+b*y,c*x+d*y),(x,y))
[[a, b], [c, d]]

well, so the result is not really a matrix, but rather a nested list that could be indexed like a matrix or turned into a matrix in the above case.

We could write the above even more simply if we had an outer product operator:

outer_product(diff,f,vars), where f and vars were lists.


#4184 Upgrade jQueryUI interact sage-3.2.2 defect 09/23/2008

Currently we are supporting a fork of jQueryUI-Slider. An upgrade would eliminate the need to support that fork.

This ticket is related to #3767.


#4465 zero-length errors give division error instead of just drawing a point. graphics sage-3.2.2 defect 11/07/2008

This is an error to a custom patch that we have to the matplotlib code so that we can have arrows that are shortened by a certain number of points.

This week, I was drawing plot vector field using two ways : (1) plot_vector_field and (2) by simply suming up plenty of arrows as I wished. Since their was a fixed point somewhere, I came up with the problem of drawing a zero length arrow. Using sage 3.1.4, I get a zero division error. Where is this division from? The example below show that it is not from the slope as it can draw a vertical arrow.

sage: arrow((1, 1), (2, 1))
sage: arrow((1, 1), (1, 2))
sage: arrow((1, 1), (1, 1))
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last) :
...
/home/slabbe/sage/local/lib/python2.5/site-packages/matplotlib/arrow_line.pyc in draw(self, renderer)
    100         pixel_vector = (orig_t.transform_point(points[1]) - orig_t.transform_point(points[0]))
    101         pixel_length=math.sqrt(sum(pixel_vector**2))
--> 102         clip_fraction = renderer.points_to_pixels(self._arrowshorten)/pixel_length
    103         head_clip_fraction = renderer.points_to_pixels(self._arrowshorten+self._arrowheadlength*0.8)/pixel_length
    104

ZeroDivisionError: float division

In my problem, I would have been happy if arrow(x,x) would draw simply a point. I know I can define my own arrow but maybe sage's arrow could behave like myarrow ?

#4669 [with patch, needs review] CDF matrices need complex doctests (see matrix/matrix_complex_double_dense.pyx) linear algebra sage-3.2.2 defect 12/01/2008
> What is really confusing me is that the docstring for
> matrix_complex_double_dense.pyx
> (presumably *complex* matrices) is more or less the same as the docstring for
> matrix_real_double_dense.pyx at
> http://www.sagemath.org/hg/sage-main/file/8b1d19463fc4/sage/matrix/matrix_real_double_dense.pyx
> In other words, there are no examples of *complex* matrices in the
> docstring for
> matrix_complex_double_dense.pyx, which seems odd.

#4674 use easy/load.js when loading jsmath and update to latest jsmath (3.6 at the moment) notebook sage-3.2.2 defect 12/02/2008

From http://groups.google.com/group/sage-support/t/178d0bd277044918

Yes, that looks correct.  I'm not sure why people are getting the 
error -7 under these conditions.  It means that something has gone 
wrong when trying to load the fallback method, and that usually means 
it can't read the image font definition files.  There are a couple of 
other possibilities as well:  perhaps the noImageFonts plugin was not 
able to be read (permission issue?) or the unicode fallback file could 
not be read.  Given your use of noImageFonts, I suspect it may be the 
latter.  If the users who are getting error -7 are using Firefox3, 
that may well be it.  There were changes to the same-origin security 
policy in Firefox3 that prevent jsMath from loading local files from 
directories other than the one in which the HTML file is found.  I 
worked around this in jsMath v3.6 (released Sept. 2008), so those 
users should update to the latest version of jsMath to avoid that 
problem. 
> I'm pretty sure we don't use the easy/load.js (and I'm not sure why). 

Probably because it didn't exist when jsMath support was added to 
sage.  The easy/load.js file was a relatively late addition to jsMath, 
but certainly makes things easier for people.  You might consider 
whether you want to use that instead. 

Davide

When updating to the latest jsmath the javacode should also be moved to its own spkg.

Cheers,

Michael


#4704 [with patch] Use jquery to make the javascript code nicer notebook sage-3.2.2 defect 12/04/2008

This ticket splits off part of #4267.


#4705 [with patch and spkg] Make in-line wysiwyg editor for text cells using TinyMCE notebook sage-3.2.2 defect 12/04/2008

This ticket splits off part of #4267.

It depends on #4704


#4713 [with patch, needs review] make an apply_map function for vectors linear algebra sage-3.2.2 defect 12/05/2008

Matrices have the function; it would be handy for vectors to also have this utility function.


#4206 [with patch, needs review] convert RDF and CDF vectors to use numpy linear algebra sage-3.2.2 enhancement 09/27/2008

#4493 [with patch, needs review] derivative of a vector and a matrix calculus sage-3.2.2 enhancement 11/11/2008

It would be handy in differential equations to be able to do differentiation and integration of matrices and vectors, with the exact same answer as obtained by using the apply_map method.


#2113 [with patch and spkg, needs work] twisted.web2 should be gzip compressing things it sends out to the notebook notebook sage-3.2.2 task 02/08/2008

We ought to check to make sure that twisted has the gzip filter enabled and is sending things in zip encoding when it can.


#4491 finance.TimeSeries from numpy array doesn't work correctly finance sage-3.2.2 defect 11/10/2008

Looks like initializing a TimeSeries? from a column of a numpy array doesn't work properly

testp.shape

(373389, 4)

t1=finance.TimeSeries(testp[:,3]); t1             # wrong

[962.5000, 1225742099742.0000, 4.0000, 4.0000, 962.5000 ... 999.2500, 1225850900622.0000, 4.0000, 5.0000, 999.2500]

t1=finance.TimeSeries(testp[:,3].tolist()); t1     # correct

[962.5000, 962.5000, 962.5000, 962.5000, 962.5000 ... 954.5000, 954.5000, 954.5000, 954.5000, 954.5000]


#261 a new matrix constructor: add lambda support linear algebra sage-3.2.2 enhancement 02/13/2007

Kyle Schalm suggests:

 
 
here is a matrix constructor i would like to see:
 
Matrix(M, N, f):
   for i in range(1,M+1):
     for j in range(1,N+1):
       self[i][j] = f(i,j)   # or whatever the syntax is
 
 
i might use it like this:
 
A = Matrix(3, 3, lambda i,j: i+j)
 
i'd do it myself, but i don't have a development environment set up,
and don't wanna do that right now.
 
cheers,
kyle
 

#1013 Matrix_real_double_dense overrides parent numpy() method with less-functional version linear algebra sage-3.2.2 enhancement 10/27/2007

Matrix_real_double_dense and Matrix_complex_double_dense both define a numpy() method that turns the matrix into the appropriate kind of numpy matrix. However, Matrix defines a numpy() method that takes an optional type argument, to say what kind of matrix to produce. The specialized classes should also take this optional type argument, and fall back to the slow method defined by Matrix if the type is not 'd' or 'D', respectively.


#3767 [with patch, not ready for review] move jquery into its own spkg packages sage-3.2.2 task 08/03/2008

We should move jquery into its own standard spkg (and figure out how to merge the two different copies of it in sage in the process).


mabshoff

Ticket Summary Component Milestone Type Created
Description
#3123 blacklist "gcc version 4.1.0 (SUSE Linux)" build sage-3.2.2 defect 05/07/2008

gcc version 4.1.0 (SUSE Linux) from OpenSuSE 10.1 is know broken and will fail to file Sage with

sage/modules/real_double_vector.c: In function ‘__pyx_pf_4sage_7modules_18real_double_vector_28RealDoubleVectorSpaceElement_
__init__’:
sage/modules/real_double_vector.c:2012: internal compiler error: in merge_alias_info, at tree-ssa-copy.c:235
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.suse.de/feedback> for instructions.
error: command 'gcc' failed with exit status 1

Blacklist it.

Cheers,

Michael


#3787 make ATLAS use extended cpuid build sage-3.2.2 defect 08/06/2008
[7:14pm] cwitty: 1) My spiffy new Xeon-branded core 2 quad computer is
very slow at compiling ATLAS.
[7:14pm] mabshoff: mhhh, how long?
[7:15pm] cwitty: I think ATLAS doesn't support the extended cpuid.
[7:15pm] cwitty: About 2 hours.
[7:15pm] mabshoff: On an Itanium 2 with loads of memory it takes about
3 hours with loads of cache.
[7:15pm] mabshoff: Can you check the ARCH in the makefile?
[7:16pm] cwitty: PIII64SSE3
[7:17pm] mabshoff: Ok, then it is identified. We might not have tuning
info.
[7:18pm] mabshoff: Let me check in a little while, but the compile
time depends on the L2 size.
[7:18pm] cwitty: Umm... Pentium 3?  I'm pretty sure it's not a pentium
3.
[7:18pm] mabshoff: Oops
[7:18pm] mabshoff: Yeah, you are right.
[7:18pm] mabshoff: ATLAS uses cpuid, not extended cpuid.
[7:18pm] mabshoff: I am not sure if 3.8.2 fixes that, but I can patch
it in case it does not.

#3898 [with spkg, needs work] Make an optional, self contained gcc 4.3.2.spkg packages sage-3.2.2 defect 08/19/2008

This spkg requires a working Sage to build and is Linux only for now.

Cheers,

Michael


#3984 Sage 3.1.2.alpha1 - Linux Itanium - segfaults in chmm.pyx and hmm.pyx doctest sage-3.2.2 defect 08/28/2008

Note: most of the valgrind fix issues have been moved to #4067. Those fixes do not prevent the segfault, so I broke them out.

Cheers,

Michael

On Iras:

mabshoff@iras:~/build-3.1.2.alpha2/sage-3.1.2.alpha1-iras-gcc-4.3.1> ./sage -t -long devel/sage/sage/stats/hmm/chmm.pyx
sage -t -long devel/sage/sage/stats/hmm/chmm.pyx            

------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage -gdb' to debug this.
SAGE will now terminate (sorry).
------------------------------------------------------------


A mysterious error (perphaps a memory error?) occurred, which may have crashed doctest.
         [4.4 s]
exit code: 768
 
----------------------------------------------------------------------
The following tests failed:


        sage -t -long devel/sage/sage/stats/hmm/chmm.pyx
Total time for all tests: 4.4 seconds
mabshoff@iras:~/build-3.1.2.alpha2/sage-3.1.2.alpha1-iras-gcc-4.3.1> ./sage -t -long devel/sage/sage/stats/hmm/hmm.pyx
sage -t -long devel/sage/sage/stats/hmm/hmm.pyx             

------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occured in SAGE.
This probably occured because a *compiled* component
of SAGE has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run SAGE under gdb with 'sage -gdb' to debug this.
SAGE will now terminate (sorry).
------------------------------------------------------------


A mysterious error (perphaps a memory error?) occurred, which may have crashed doctest.
         [3.0 s]
exit code: 768
 
----------------------------------------------------------------------
The following tests failed:


        sage -t -long devel/sage/sage/stats/hmm/hmm.pyx
Total time for all tests: 3.0 seconds
mabshoff@iras:~/build-3.1.2.alpha2/sage-3.1.2.alpha1-iras-gcc-4.3.1> 

All other doctests for 3.1.2.alpha1 pass on that box.

Cheers,

Michael


#3785 upgrade atlas in sage to version 3.8.2 linear algebra sage-3.2.2 enhancement 08/06/2008

This is a non-negotiable blocker for Sage-3.1.


#1641 Make ATLAS restart build on tolerance error packages sage-3.2.2 defect 12/30/2007

When the ATLAS build fails due to tolerance errors we can restart the build by restarting the build process via "make". We should do it a set number of times, i.e. 5 and then finally fail. I have hit the problem repeatedly while building in a VMWare machine and have little to no control to prevent the issue from happening.

Cheers,

Michael


#2999 Some packages don't respect the CC environment variable build sage-3.2.2 defect 04/22/2008

Packages which seem to not honor CC environment variable (they use "gcc"):

flint-1.06.p2
atlas-3.8.1.p1
f2c-20070816.p0
symmetrica-2.0.p2
polybori-0.3.1.p1
rubiks-20070912.p5
zn_poly-0.8.p0
sage-3.0.rc1
gap-4.4.10.p7 // guava3.4
tachyon-0.98beta.p5
palp-1.1.p1

#3000 Some packages don't respect the CXX environment variable build sage-3.2.2 defect 04/22/2008