2013-01-31 21 views
6

Forse trascurando l'ovvio ma come si impedisce a sympy di riorganizzare le equazioni?Impedire a Sympy di riorganizzare l'equazione

Sto usando Sympy nel notebook iPython così posso facilmente copiare e incollare il codice Latex su Lyx, ma voglio le equazioni nello stesso ordine in cui le ho definite.

Ad esempio, la formula per radiazione grigio-corpo in funzione della sua temperatura:

enter image description here

Sympy pone automaticamente il componente temperatura al fronte, che dà una rappresentazione molto insolito della formula. C'è comunque per impedirlo?

risposta

7

Attualmente, in SymPy non è possibile stampare le cose esattamente come sono state immesse, poiché tali informazioni non vengono nemmeno salvate da nessuna parte.

Credo in una moltiplicazione, i simboli sono ordinati in ordine alfabetico, con lettere maiuscole che precedono le lettere minuscole (in pratica, l'ordine da ord). Il trucco migliore che riesco a trovare è quello di utilizzare l'opzione symbol_names su latex, che consente di modificare il nome utilizzato per un simbolo nella sua rappresentazione LaTeX. L'ordinazione sarà ancora basato sul nome del simbolo originale, in modo da poter ingannare esso:

>>> from sympy.abc import epsilon, omega, t 
>>> latex(epsilon*sigma*t**4, symbol_names={t:"T"}) 
\epsilon \sigma T^{4} 

Se si desidera che questo abbastanza stampa bene nel notebook, dovrete scrivere una versione personalizzata del prolungamento stampa che passa il numero symbol_names a latex. Vedi https://github.com/sympy/sympy/blob/master/sympy/interactive/printing.py (idealmente si potrebbero passare le opzioni latex a init_printing, aprirò un problema nel bug tracker di SymPy per quello).

+0

Ho aperto [questo] (http://code.google.com/p/sympy/issues/detail?id=3613) e [questo] (http://code.google.com/p/sympy/ problemi/dettagli? id = 3612) Problema di SymPy per le cose che ho menzionato nella mia risposta. – asmeurer

+0

Grazie mille per aver risposto e aperto il problema. Penso che sarebbe una bella aggiunta anche se la visualizzazione non è proprio ciò che Sympy tratta. Il futuro del notebook sembra buono e convertirlo in un pdf/blog o slideshow sarà probabilmente roba comune nel prossimo futuro. –

+3

Tuttavia, ci interessa la visualizzazione. SymPy non sarebbe così utile come è senza le sue capacità di stampa. – asmeurer