for i in range(0, len(par_names)): temp = [] for j in range(0, len(lambdas)): temp.append(reg_path_temp[z+j]) reg_path.append(temp) z += len(lambdas) return [reg_path, lambdas, par_names, conv_points] file_name = ['logicle5_1'] obj_list = [obj_logicle] threshold_linear = 1e-10 threshold_logicle = logicleTransform([threshold_linear], T=1, end_lin=1e-5)[0] # threshold_logE = np.log10(1+threshold_linear) threshold_list = [threshold_logicle] #, threshold_logE, threshold_linear] #par_linear = visualize.get_opt_par_list(100, path='modelSelection/linear/') par_logicle = visualize.get_opt_par_list(200, path='modelSelection/logicle5_1/') #par_logE = visualize.get_opt_par_list(100, path='modelSelection/logE_1/') par_list = [par_logicle] reg_path_list = [] lambdas_list = [] par_names_list = [] conv_list = [] ms_list = [] for j in range(0, len(file_name)):
import LogicleScale from LogicleScale import logicleTransform import numpy as np # logicle_object = LogicleScale.LogicleObject(T=3, end_lin=1e-5) par = np.linspace(0, 100, 100) l = logicleTransform(par, T=100.0, end_lin=1e-5) l1 = LogicleScale.logicleInverseTransform(l[0], l[1]) l2 = LogicleScale.logicleGradient(l[0], l[1]) l3 = LogicleScale.logicleInverseGradient(1, l[1])
""" Generating the grafic from the thesis """ import numpy as np import matplotlib.pyplot as plt from LogicleScale import logicleTransform, logicleInverseTransform par = np.linspace(0, 1000, 1000) T = 1000 W = 2 par_logicle = logicleTransform(par=par, T=T, M=4.5, W=W, A=-W) fontsize = 12 fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, constrained_layout=True, figsize=(9, 4)) # generate parameters par = [0.0] p2 = np.linspace(1e-20, 1e-3, 1000) p3 = [1000.0] for i in range(0, len(p2)): par.append(p2[i]) par.append(p3[0])
# ax.set_xscale('log') ax.set_ylim(-0.5, 20.5) if i == 0: paper_log = np.log10(np.array(best_par_paper_1)) plot_par(paper_log, lb, ub, best_par, axs.flatten()[0]) ax.set_title('$\log_{10}$', fontsize=16)#, weight='bold') ax.set_ylabel('parameter name', fontsize=16) ax.text(-0.08, 1.01, 'A', transform=ax.transAxes, size=22, weight='bold') ax.set_xticks([-10,-5, 0, 3]) for j in range(0, 9): ax.get_yticklabels()[j].set_color('red') if i == 1: paper_logicle = logicleTransform(best_par_paper, T=100, end_lin=1e-6)[0] plot_par(paper_logicle, lb, ub, best_par, axs.flatten()[1]) ax.set_title('logicle', fontsize=16)#, weight='bold') ax.text(-0.08, 1.01, 'B', transform=ax.transAxes, size=22, weight='bold') ax.set_xticks([0,0.25,0.5,0.75,1]) if i == 2: paper_logE = np.log10(np.array(best_par_paper_logE) - 1e-5) print('lin', 10 ** np.array(best_par) - 1e-5) plot_par(paper_logE, lb, ub, best_par, axs.flatten()[2]) ax.set_title('$\log_{10}(\\theta+10^{-5})$', fontsize=16)#, weight='bold') ax.text(-0.08, 1.01, 'C', transform=ax.transAxes, size=22, weight='bold') ax.set_xticks([-5, -2, 0, 2]) i += 1