On Sat, Oct 25, 2008 at 10:32 PM, Andy Ray Terrel <[EMAIL PROTECTED]> wrote:
> On Sat, Oct 25, 2008 at 3:39 PM, Alan Bromborsky <[EMAIL PROTECTED]> wrote:
>>
>> Ondrej Certik wrote:
>>> On Fri, Oct 24, 2008 at 1:35 PM, Alan Bromborsky <[EMAIL PROTECTED]> wrote:
>>>
>>>> Ondrej Certik wrote:
>>>>
>>>>> On Wed, Oct 22, 2008 at 7:11 AM, Alan Bromborsky <[EMAIL PROTECTED]> 
>>>>> wrote:
>>>>>
>>>>>
>>>>>> Using sympy I have attached a program (LaTeX.py) demonstrating Maxwell's
>>>>>> equations using geometric calculus.  Also attached is a version of
>>>>>> GAsympy.py with some geometric calculus extensions (the version in sympy
>>>>>> only does geometric algebra).  The demo program is called LaTeX.py since
>>>>>> it uses LaTeX to show the equations in a nice format.  Eventually I will
>>>>>> use the standard latex printing system in sympy with some
>>>>>> modifications.  Just run LaTeX.py and see what come out!
>>>>>>
>>>>>>
>>>>> Wow, this is impressive! Thanks for doing this.
>>>>>
>>>>> I would like the LaTeX class to be integrated with our LatexPrinter,
>>>>> see sympy/printing/latex.py. Do you have any comments on that? Because
>>>>> you are duplicating a lot of stuff in your own class.
>>>>>
>>>>> Ondrej
>>>>>
>>>>>
>>>>>
>>>> I need to consult with you more on how your printer classes in general
>>>> work before starting integrating my latex with your latex.  Also with
>>>> regard to the actual math part of geometric calculus, now that I can do
>>>> geometric derivatives in rectangular coordinates I need to implement
>>>> curvilinear coordinates for practical applications which means I need to
>>>> do some pencil and paper derivations.
>>>>
>>>
>>> Ok.
>>>
>>> Related note I wrote recently regarding my research:
>>>
>>> I had to convert the Laplace equation with nonconstant conductivity
>>> into cylindrical coordinates. One can find such formulas on the
>>> internet, but in fact, I wasn't able to quickly find formulas if the
>>> conductivity is not constant. Now, obviously in this is simple example
>>> the result is obvious. But nevertheless, as an
>>> excersise, I wrote some notes how such things can be done using
>>> differential geometry, see the geom.ps referenced in the above wiki,
>>> or this link:
>>>
>>> http://github.com/certik/differential-geometry/tree/0552cdd5b99ebfb356c1d469f84314027cc3ffb0%2Fgeom.ps?raw=true
>>>
>>> See the section 3.1. I can imagine that converting more complex
>>> equation, or using other curvilinear coordinates such conversions
>>> quickly become very messy. Using my notes above, the task can be
>>> completely automated and it is in my TODO list to implement this in
>>> SymPy.
>>>
>>> ---------
>>>
>>> It'd be cool if we could do all the stuff in geom.ps in sympy.
>>>
>>> Ondrej
>>>
>>> >
>>>
>>>
>> Code below works for pretty printing, but not for latex. What am I doing
>> wrong? It is not clear to me how to refer to doprint for latex.  One I
>> know the correct way to do the below I will start modifying LatexPrinter
>> to do the required formatting.  On general philosophy with regard to
>> different types of printers I think there should be a global switch to
>> determine the type of printer and fomatting options for each type of
>> printer.  To output one should always be able to just use print and str!
>>
>>
>> #!/usr/bin/python
>> #Printer.py
>>
>> import sympy
>> from sympy import *
>> from sympy.printing.pretty.pretty import PrettyPrinter
>> from sympy.printing.latex import LatexPrinter
>>
>> class Printer:
>>
>>    printer_types = 0
>>
>>    normal = sympy.Basic.__str__
>>
>>    @staticmethod
>>    def pretty(x):
>>        return(PrettyPrinter().doprint(x))
>>
>>    @staticmethod
>>    def latex(x):
>>        return(LatexPrinter().doprint(x))
>>
>>    @staticmethod
>>    def set(printer='normal'):
>>        if Printer.printer_types == 0:
>>            Printer.printer_types = {'normal':Printer.normal,\
>>                                     'pretty':Printer.pretty,\
>>                                     'latex':Printer.latex}
>>        sympy.Basic.__str__ = Printer.printer_types[printer]
>>        return
>>
>> Printer.set('pretty')
>> var('x')
>> print x**2+1
>>
>> Printer.set('latex')
>> print x**2+1
>>
>>
>> >>
>>
>
>
> Overload __repr__ not __str__ and it works.  The default for
> sympy.printing.printer is the __str__ method, PrettyPrinter overloads
> this, LatexPrinter doesn't, which is reasonable.
>
> -- Andy
>

Oops that doesn't print what you want either.

-- Andy

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
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/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to