Update to v1.5.

The update to version 1.5 is rather substantial, and introduces some minor
  backward-incompatibilities:
    * The header "#!symbols" has been replaced by "#!virtual_fields"
    * Multiplying polynomials using the '*' symbol is no longer supported (or,
      rather, the symbolic capabilities of meankondo were enhanced, and the
      syntax has been changed).
    * 'meantools exp' has been removed (its functionality is now handled by
      other means)
    * 'meantoolds derive' has been replaced by 'meantools differentiate'

  * The symbolic capabilities were enhanced: polynomials can now be
    multiplied, added, exponentiated, and their logarithms can be taken
    directly in the configuration file.

  * The flow equation can now be processed after being computed using the
    various "#!postprocess_*" entries.

  * Deprecated kondo_preprocess.

  * Compute the mean using an LU decomposition if possible.

  * More detailed checks for syntax errors in configuration file.

  * Check that different '#!group' entries are indeed uncorrelated.

  * New flags in meankondo: '-p' and '-A'.

  * New tool: meantools expand.

  * Improve conversion to LaTeX using meantools-convert

  * Assign terms randomly to different threads.

  * Multiple bug fixes
This commit is contained in:
2022-06-14 09:26:07 +02:00
parent 469bdc8071
commit 167980ea43
70 changed files with 3381 additions and 852 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python
## Copyright 2015 Ian Jauslin
## Copyright 2015-2022 Ian Jauslin
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
@ -76,8 +76,8 @@ def latex_engine(argv,text):
i=1
# defaults
lsym="\\ell"
Lsym="\\ell'"
lsym=r'\\ell'
Lsym=r'\\ell'
Csym="C"
oneline=1
while (i<argc):
@ -171,6 +171,10 @@ def convert_latex(text, lsym, Lsym, Csym, oneline):
# remove extra space
text=re.sub(r' {2,}',' ',text)
# remove unnecessary 1's
text=re.sub(r'\(-1\)\[',r'-[',text)
text=re.sub(r'\(1\)\[',r'[',text)
# replace left hand side variables
text=re.sub(r'\[(d*)C *([0-9]*)\] =',r'@\1'+Csym+r'_{\2} =', text)
text=re.sub(r'\[(d*)% *([0-9]*)\] =',r'@\1'+Lsym+r'_{\2} =', text)
@ -213,7 +217,11 @@ def convert_latex(text, lsym, Lsym, Csym, oneline):
# fractions
text=re.sub(r'\((-?)([0-9]*)/([0-9]*)\)',r'\1\\frac{\2}{\3}',text)
# numbers
text=re.sub(r'\(([-0-9]*)\)',r'\1',text)
#text=re.sub(r'\(([-0-9]*)\)',r'\1',text)
# fix signs
text=re.sub(r'\+-',r'-',text)
return(text)