Jestem w dość niefortunnej sytuacji, aby spróbować przekonwertować program z głębi CERN ROOT na Pythona. W kodzie ROOT (CINT samo w sobie jest obrzydliwością imo), można przechowywać funkcje matematyczne jako "ciąg" i przekazywać je do ROOT do dopasowania, kreślenia itp. Z powodu tego, jak ROOT definiuje je jako "łańcuchy".Python/Numpy/Scipy - Konwertowanie ciągu znaków na funkcję matematyczną
Obecnie funkcje matematyczne są przechowywane w prostych plikach tekstowych w postaci linii, tj
(1+[1])^(1+[1])/TMath::Gamma(1+[1]) * x^[1]/[0]^(1+[1]) * exp(-(1+[1])*x/[0])
a następnie ekstrakcji jako ciągi przez C++ przy wczytywaniu pliku. Czy jest coś podobnego w python? Znam numexpr, ale nie może wydaje się zmusić go do pracy z równowartości powyżej, tj
(1+p[1])**(1+p[1])/scipy.special.Gamma(1+p[1]) * x**p[1]/p[0]**(1+p[1]) * numpy.exp(-(1+p[1])*x/p[0])
Dzięki pęczek wyprzedzeniem.
można wywołać funkcję głównego z pytona, dzięki czemu można tworzyć 'ROOT.TF1' w Pythonie, jak w C++ –