On Mon, Apr 30, 2012 at 10:59 PM, P Purkayastha <[email protected]> wrote:
> The problem you are running into is that when you are on the command line,
> all the needed functions are loaded (this is a reason why the Sage startup
> takes time). When you are writing your own library, you need to import
> modules that you need.
>
> You can do that by simply adding
>
> from sage.all import *
>
> at the top of your file. If you want to have finer grained import, then you
> will need to look at the function you are calling. You can either look at
> the help by doing (for example)

Unfortunately, I recommend that you do *not* do what Purkayastha is
suggesting here, unless you really like your code to mysterious
crash/segfault, etc.    It is not safe to import anything from the
sage library if you have not done "import sage.all".  The import order
is critically important, and is done correctly in "sage.all".  If you
try to cherry pick bits out of Sage, you are asking for serious
trouble.

 -- William

>
> solve?
>
> or by
>
> solve.func_code
>
> The help mentions the path name to solve. The latter command gives only the
> path name which in this case ends in
>
> sage-5.0.beta2/local/lib/python2.7/site-packages/sage/symbolic/relation.py
>
> (I don't know if there is a better way to know the module that you need to
> import.)
>
> So, to import only the solve function, you will need to include stuff under
> sage/...
>
> from sage.symbolic.relation import solve
>
> The same can be done with diff, etc.
>
>
>
>
>
> On 05/01/2012 01:16 PM, yogesh gupta wrote:
>>
>> thanks for your help. your given method is perfectly working.
>>
>> but now i have another problem.
>> i have another library which i want to add ----
>>
>>
>> def length(w,res,ll,ul,p):
>>     from sage.symbolic.ring import SR
>>     x,y=SR.var('x y')
>>     z=solve(w,y)[0].right()
>>     q=w.diff(x)
>>     r=w.diff(y)
>>     if(res==x):
>>         w=-q/r
>>     else:
>>         w=-r/q
>>     w=sqrt(w*w+1)
>>
>>     flength=p*integrate(w(y=z),res,ll,ul)
>>     return flength
>>
>>        We had included this into our
>>        sage test copy but when we try to call it from sage command
>>        prompt then it gives error that "global name solve is not
>>        defined" how to resolve this problem ?
>>    and i think that it will also give same problems in diff() and
>> integrate() function.so plz help me.
>>
>
> --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/sage-support
> URL: http://www.sagemath.org



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to