Nothing
knitr::opts_chunk$set(echo = TRUE)
library(RQEntangle) library(dplyr) library(ggplot2)
Define the coupled harmonic oscillators:
coupled.harm.fcn<- function(x1,x2) exp(-((0.5*(x1+x2))**2))*exp(-(x1-x2)**2)*sqrt(2./pi)
Then run the Schmidt decompotions:
modes<- continuous.schmidt.decompose(coupled.harm.fcn, -10, 10, -10, 10)
Then we retrieve the weights of the Schmidt modes, and plot the first ten of them:
data.frame(n=1:10, eigenvalue=lapply(modes[1:10], function(mode) mode$eigenvalue) %>% unlist) %>% ggplot(aes(x=n, y=eigenvalue)) + geom_point() + ggtitle('Schmidt weights')
Then we can plot the first Schmidt mode for both subsystems:
xarray<- seq(-5, 5, 10/50) data.frame(x=xarray, y1=modes[[1]]$sys1eigfcn(xarray), y2=modes[[1]]$sys2eigfcn(xarray)) %>% ggplot(aes(x=x)) + geom_line(aes(y=y1), col='red') + geom_line(aes(y=y2), col='blue') + xlab('x') + ylab('y') + ggtitle('Schmidt mode 1')
And the second Schmidt modes for both subsystems:
xarray<- seq(-5, 5, 10/50) data.frame(x=xarray, y1=modes[[2]]$sys1eigfcn(xarray), y2=modes[[2]]$sys2eigfcn(xarray)) %>% ggplot(aes(x=x)) + geom_line(aes(y=y1), col='red') + geom_line(aes(y=y2), col='blue') + xlab('x') + ylab('y') + ggtitle('Schmidt mode 2')
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.