# Load function ---------------------------------------------------------------- source(here::here("R", "singular_values.R")) source(here::here("R", "graphon_distribution.R")) source(here::here("R", "singular_value_plot.R")) # https://stackoverflow.com/a/5790430 resetPar <- function() { dev.new() op <- par(no.readonly = TRUE) dev.off() op } # Compare of parameters of Normal distribution ---------------------------------- # out_n400_sd05 <- smallest_sv_sequence( a = c(0.5), n = 400, maxK = 20, sampler_fn =function(n) matrix(rnorm(n), ncol = 1L), guard=1e-12, plot=TRUE, log_plot = TRUE, fv = function(x) {dnorm(x, mean=0, sd=0.5)}, Fv = function(x) {pnorm(x, mean=0, sd=0.5)}, main_title="Smallest SV of v~ N(0,0.5^2) distribution, n = 400" ) out_n800_sd05 <- smallest_sv_sequence( a = c(0.5), n = 800, maxK = 20, sampler_fn =function(n) matrix(rnorm(n), ncol = 1L), guard=1e-12, plot=TRUE, log_plot = TRUE, fv = function(x) {dnorm(x, mean=0, sd=0.5)}, Fv = function(x) {pnorm(x, mean=0, sd=0.5)}, main_title="Smallest SV of v~ N(0,0.5^2) distribution, n=800" ) out_n400_sd2 <- smallest_sv_sequence( a = c(0.5), n = 400, maxK = 20, sampler_fn =function(n) matrix(rnorm(n), ncol = 1L), guard=1e-12, plot=TRUE, log_plot = TRUE, fv = function(x) {dnorm(x, mean=0, sd=2)}, Fv = function(x) {pnorm(x, mean=0, sd=2)}, main_title="Smallest SV of v~ N(0,2^2) distribution, n=400" ) out_n800_sd2 <- smallest_sv_sequence( a = c(0.5), n = 800, maxK = 20, sampler_fn =function(n) matrix(rnorm(n), ncol = 1L), guard=1e-12, plot=TRUE, log_plot = TRUE, fv = function(x) {dnorm(x, mean=0, sd=2)}, Fv = function(x) {pnorm(x, mean=0, sd=2)}, main_title="Smallest SV of v~ N(0,4^2) distribution,n = 800" ) par(mar = c(5, 4, 4, 8)) plot(out_n400_sd05$K, out_n400_sd05$sv, type = "b", pch = 19, col = "#D3BA68FF", xlab = "K subdivisions", ylab = "Smallest singular value of Q", main="smallest SV for different variances of a normal distribution", sub = "n = 400, a = 0.5", log="y") lines(out_n400_sd2$K, out_n400_sd2$sv, type="b", pch=19, col="#D5695DFF", add=TRUE) lines(out_n800_sd05$K, out_n800_sd05$sv, type = "b", pch=19, col="#5D8CA8FF", add=TRUE) lines(out_n800_sd2$K, out_n800_sd2$sv, type = "b", pch=19, col="#65A479FF", add=TRUE) par(xpd = TRUE) legend("topright", inset=c(-0.2,0), legend=c("sd=0.5, n=400", "sd=0.5, n=800", "sd=2, n=400", "sd=2, n=800"), col=c("#D3BA68FF", "#D5695DFF","#5D8CA8FF", "#65A479FF" ), title="Legend", pch = 16, bty = "n")