Code Monkey home page Code Monkey logo

data3750's Introduction

The Energy of a Quantum Physical Two-Body System

Dette skriptet omhandler prosjektet “The Energy of a Quantum Physical Two-Body System” utført i forbindelse med emnet DATA3750 (Anvendt kunstig intelligens og data science prosjekt) femte semester på dataingeniør-linjen ved OsloMet.

Skriptet vil, for gitte kvantesystemer med opptil to partikler, estimere grunntilstanden ved å minimere energien med gradient descent. Beregningene kan visualiseres med plott.

Hvordan bruke skriptet

Input-parametere mates inn ved hjelp av config-filen som liger i mappen quantum_energy. Du kan endre verdiene direkte i filen. Husk å lagre for å kjøre skriptet med de oppdaterte verdiene.

[PARAMS]
# One particle and two particle parameters
x0 = 3
a = 4
# Optional parameter for one particle
#b = 1

[TWO-PARTICLE]
# Interaction term for two-particle system
w0 = 1

[NUMERICS]
# Lenght of interval
L = 20
# Number of subintervals
N = 500
# Learning rate for gradient descent algorithm
lr = 0.5
# Maximum number of iterations in gradient descent
max_iter = 15000

[CONFIGURATION]
plot = True
function = func1
num_particles = 1
interactive = True
  • x0, a: Verdier du ønsker å gjette på for x_0 og a/sigma.
  • b: valgfritt tredje parameter for estimat med én partikkel
  • w_0: Vekselvirking for systemer med to partikler
  • L: Lengden på intervallet
  • N: Antall subintervall
  • lr: læringsraten til gradient descent algoritmen
  • max_iter: Maks antall iterasjoner i gradient descent
  • plot: Skriv True om du ønsker plott, False om du ikke ønsker plott
  • function: Velg blant func1 og func2 (se beskrivelse nedenfor)
  • num_particles: Her velger du om du ønsker estimering for én eller to partikler. b-parameteren må kommenteres ut ved to partikler.
  • interactive: Om du ønsker å plotte flere stier kan du sette til True. Du får da mulighet til å gjette på (og plotte) så mange parametere du ønsker. Sett til False om du ikke ønsker dette.

Når argumentene i config-filen er justert kan du kjøre skriptet fra kommandolinjen.

python -m quantum_energy

Funksjoner

func1: V(x)=(1/2)x^2
func2: V(x)=1−exp(-(1/2)x^2)

Komme i gang med Python

Skriptet krever Python 3.8 eller senere. Det er ikke testet på tidligere versjoner av Python. Du kan sjekke hvilken versjon du har med kommandoen:

python --version

For å installere Python gå til Python hjemmeside.
Om du bruker Linux kan du installere direkte fra terminalen ved å skrive:

$ sudo apt-get update
$ sudo apt-get install python3.8

Avhengigheter

Skriptet importerer følgende biblioteker:

  • NumPy
    NumPy kan installeres med Python package manager, pip, ved å skrive inn følgende kommando:
pip install numpy
  • Matplotlib
    Matplotlib kan installeres med pip ved å skrive inn følgende kommando:
pip install matplotlib
  • Alternativt kan du installere alle avhengigheter ved å skrive:
pip install -r requirements.txt

Laget av / kontaktopplysninger

Diedrik Leijenaar Oksnes, s181138, [email protected]
Sebastian Overskott, s331402, [email protected]
Aleksander Røv, s187428, [email protected]
Vegard Müller, s150315, [email protected]

Lisens

Kildekoden i dette prosjektet er lisensert under MIT-lisensen. Les mer under filen LICENSE.md

data3750's People

Contributors

aleksander89 avatar vegmu avatar diedrikl avatar overskott avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.