188 lines
31 KiB
Plaintext
188 lines
31 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1.0110879714152359 2.0438571782842976\n",
|
|
"[ 0. -2.20094088 -1.2269051 -0.59549218 0. 0.\n",
|
|
" -0.00602718 -1.63131177 -1.41018017 -0.19538782 0. -0.29048766\n",
|
|
" 0.18375465 1.12350786 -0.06959351 0. 0. 0.\n",
|
|
" 0.25167654 0. ]\n",
|
|
"(63014, 1) (63014,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x10a1bb198>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x1a129d77f0>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n/wfnQuc3ETNF1QAAAABJRU5ErkJggg==\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x1119b1e80>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Program to test the Metropolis algorithm with one particle at given temp in\n",
|
|
"# one dimension\n",
|
|
"#!/usr/bin/env python\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.mlab as mlab\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import random\n",
|
|
"from math import sqrt, exp, log\n",
|
|
"from sklearn.preprocessing import PolynomialFeatures\n",
|
|
"from sklearn.linear_model import LinearRegression\n",
|
|
"# initialize the rng with a seed\n",
|
|
"random.seed()\n",
|
|
"# Hard coding of input parameters\n",
|
|
"MCcycles = 100000\n",
|
|
"Temperature = 2.0\n",
|
|
"beta = 1./Temperature\n",
|
|
"InitialVelocity = -2.0\n",
|
|
"CurrentVelocity = InitialVelocity\n",
|
|
"Energy = 0.5*InitialVelocity*InitialVelocity\n",
|
|
"VelocityRange = 10*sqrt(Temperature)\n",
|
|
"VelocityStep = 2*VelocityRange/10.\n",
|
|
"AverageEnergy = Energy\n",
|
|
"AverageEnergy2 = Energy*Energy\n",
|
|
"VelocityValues = np.zeros(MCcycles)\n",
|
|
"# The Monte Carlo sampling with Metropolis starts here\n",
|
|
"for i in range (1, MCcycles, 1):\n",
|
|
" TrialVelocity = CurrentVelocity + (2.0*random.random() - 1.0)*VelocityStep\n",
|
|
" EnergyChange = 0.5*(TrialVelocity*TrialVelocity -CurrentVelocity*CurrentVelocity);\n",
|
|
" if random.random() <= exp(-beta*EnergyChange):\n",
|
|
" CurrentVelocity = TrialVelocity\n",
|
|
" Energy += EnergyChange\n",
|
|
" VelocityValues[i] = CurrentVelocity\n",
|
|
" AverageEnergy += Energy\n",
|
|
" AverageEnergy2 += Energy*Energy\n",
|
|
"#Final averages\n",
|
|
"AverageEnergy = AverageEnergy/MCcycles\n",
|
|
"AverageEnergy2 = AverageEnergy2/MCcycles\n",
|
|
"Variance = AverageEnergy2 - AverageEnergy*AverageEnergy\n",
|
|
"print(AverageEnergy, Variance)\n",
|
|
"n, bins, patches = plt.hist(VelocityValues, 400, facecolor='green')\n",
|
|
"\n",
|
|
"plt.xlabel('$v$')\n",
|
|
"plt.ylabel('Velocity distribution P(v)')\n",
|
|
"plt.title(r'Velocity histogram at $k_BT=2$')\n",
|
|
"plt.axis([-5, 5, 0, 600])\n",
|
|
"plt.grid(True)\n",
|
|
"from collections import Counter\n",
|
|
"\n",
|
|
"#print (Counter(VelocityValues))\n",
|
|
"\n",
|
|
"print (VelocityValues[:20])\n",
|
|
"VelocityValues=list(Counter(VelocityValues).keys())\n",
|
|
"d=list(Counter(VelocityValues).values())\n",
|
|
"\n",
|
|
"VelocityValues=np.asarray(VelocityValues)[:, np.newaxis]\n",
|
|
"d=np.asarray(d)\n",
|
|
"print (VelocityValues.shape, d.shape)\n",
|
|
"\n",
|
|
"plt.scatter(VelocityValues, d)\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"#2nd Degree Polynomial\n",
|
|
"poly_feat=PolynomialFeatures(degree=20, include_bias=False)\n",
|
|
"X_poly=poly_feat.fit_transform(VelocityValues)\n",
|
|
"lin_reg=LinearRegression()\n",
|
|
"poly_fit=lin_reg.fit(X_poly,d)\n",
|
|
"\n",
|
|
"y_plot=poly_fit.predict(X_poly)\n",
|
|
"plt.title(\"Polynomial Fit\")\n",
|
|
"plt.plot(VelocityValues, y_plot, color='black', label=\"Fit\")\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"#Decision Trees\n",
|
|
"\n",
|
|
"from sklearn.tree import DecisionTreeRegressor\n",
|
|
"regr_1=DecisionTreeRegressor(max_depth=2)\n",
|
|
"regr_2=DecisionTreeRegressor(max_depth=5)\n",
|
|
"regr_3=DecisionTreeRegressor(max_depth=7)\n",
|
|
"regr_1.fit(VelocityValues, d)\n",
|
|
"regr_2.fit(VelocityValues, d)\n",
|
|
"regr_3.fit(VelocityValues, d)\n",
|
|
"\n",
|
|
"X_test = np.arange(0.0, MCcycles, 0.01)[:, np.newaxis]\n",
|
|
"y_1=regr_1.predict(X_test)\n",
|
|
"y_2=regr_2.predict(X_test)\n",
|
|
"y_3=regr_3.predict(X_test)\n",
|
|
"\n",
|
|
"plt.title(\"Decision Tree\")\n",
|
|
"plt.plot(X_test, y_1, color=\"red\", label=\"max_depth=2\", linewidth=2)\n",
|
|
"plt.plot(X_test, y_2, color=\"green\", label=\"max_depth=5\", linewidth=2)\n",
|
|
"plt.plot(X_test, y_3, color=\"m\", label=\"max_depth=7\", linewidth=2)\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"#Separate each frequency not in one specific velocity, but in a range of values,\n",
|
|
"#i.e. frequency of all velocities in range -5 to -4.9, -4.9 to -4.8, etc..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.6.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|