I'd like to jump in the conversation, to describe my own experience. I don't know what about real numbers, but I found out that in that same situation you were talking about (symbolic expression where all the symbols are substituted by numbers eventually), and the expected result is a complex number, using the ComplexField() makes the substitution many orders of magnitude faster than doing .n()
Example: CF = ComplexField() evaluated_number = CF(numerical_expression) In this way, I get the result in the fastest way (I'm not that much experienced, though). Any suggestion is appreciated Maurizio On 13 Mar, 15:59, Johan Oudinet <johan.oudi...@gmail.com> wrote: > On Fri, Mar 13, 2009 at 3:19 PM, hpon <peter.norli...@gmail.com> wrote: > > > Hi, > > > How do I get a numerical value? > > > I have a multi-parameter function where all the parameters have been > > substituted by numerical values. I want Sage to calculate the > > expression's numerical value. At the moment Sage prints: > > > 1/sqrt((sqrt(3)/2 - 0.0173205080757)^2 - 0.0001) - "and so on" > > Do you know how to use the documentation? > For example, in the notebook, I write : a = sqrt(3) > Then, a.<tab> gives me the list of methods available... and you can > find numerical_approx which sounds to be what you want... > and if you want details of a specific method, just add a question mark > at the end. For example: > a.numerical_approx? > *************************************************** > Type: <type 'instancemethod'> > Definition: a.numerical_approx(prec, digits) > Docstring: > > Return a numerical approximation of self as either a real or > complex number with at least the requested number of bits or > digits of precision. > > NOTE: You can use foo.n() as a shortcut for > foo.numerical_approx(). > > INPUT: > prec -- an integer: the number of bits of precision > digits -- an integer: digits of precision > > OUTPUT: > A RealNumber or ComplexNumber approximation of self with > prec bits of precision. > > EXAMPLES: > sage: cos(3).numerical_approx() > -0.989992496600445 > > Use the n() shortcut: > sage: cos(3).n() > -0.989992496600445 > > Higher precision: > sage: cos(3).numerical_approx(200) > -0.98999249660044545727157279473126130239367909661558832881409 > sage: numerical_approx(cos(3), digits=10) > -0.9899924966 > sage: (i + 1).numerical_approx(32) > 1.00000000 + 1.00000000*I > sage: (pi + e + sqrt(2)).numerical_approx(100) > 7.2740880444219335226246195788 > > *************************************************** > > After reading the details, you know you can also use the n() shortcut ;) > > Hope you will find the answer to your next question by yourself ;) > > Best, > > -- > Johan --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---