Skip to content

Commit

Permalink
use message instead of cat for all the msg printing
Browse files Browse the repository at this point in the history
  • Loading branch information
huizezhang-sherry committed Feb 5, 2024
1 parent f281b5b commit adf198b
Show file tree
Hide file tree
Showing 13 changed files with 58 additions and 167 deletions.
3 changes: 1 addition & 2 deletions R/geodesic-path.r
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ new_geodesic_path <- function(name, generator, frozen = NULL, ...) {
return(NULL)
}

#cat("generation: dist = ", dist, "\n")
}
list(ingred = geodesic_path(current, target, frozen, ...), index = gen$index, tries = tries)
}
Expand All @@ -62,7 +61,7 @@ new_geodesic_path <- function(name, generator, frozen = NULL, ...) {

#' @export
"print.tour_path" <- function(x, ...) {
cat("Tour path:", attr(x, "name"), "\n")
message("Tour path: ", attr(x, "name"))

# params <- as.list(environment(get("generator", environment(g))))
# str(params)
Expand Down
2 changes: 1 addition & 1 deletion R/geodesic.r
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ geodesic_info <- function(Fa, Fz, epsilon = 1e-6) {
}

# if (Fa.equivalent(Fz)) return();
# cat("dim Fa",nrow(Fa),ncol(Fa),"dim Fz",nrow(Fz),ncol(Fz),"\n")
# message("dim Fa",nrow(Fa),ncol(Fa),"dim Fz",nrow(Fz),ncol(Fz))

# Compute the SVD: Fa'Fz = Va lambda Vz' --------------------------------
sv <- svd(t(Fa) %*% Fz)
Expand Down
52 changes: 8 additions & 44 deletions R/search-better.r
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ search_better <- function(current, alpha = 0.5, index, tries, max.tries = Inf,..
warning("cur_index is zero!")
}

cat("Old", cur_index, "\n")
try <- 1

while (try < max.tries) {
Expand All @@ -70,7 +69,7 @@ search_better <- function(current, alpha = 0.5, index, tries, max.tries = Inf,..


if (new_index > cur_index) {
cat("New", new_index, "try", try, "\n")
message("Target: ", sprintf("%.3f", new_index), ", try: ", try)

nr <- nrow(rcd_env[["record"]])
rcd_env[["record"]][nr, "info"] <- "new_basis"
Expand All @@ -83,24 +82,8 @@ search_better <- function(current, alpha = 0.5, index, tries, max.tries = Inf,..
try <- try + 1
}

cat("No better bases found after ", max.tries, " tries. Giving up.\n",
sep = ""
)
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
}
else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}
message("No better bases found after ", max.tries, " tries. Giving up.")
print_final_proj(current)

rcd_env[["record"]] <- dplyr::mutate(
rcd_env[["record"]],
Expand Down Expand Up @@ -139,8 +122,6 @@ search_better_random <- function(current, alpha = 0.5, index, tries,
if (cur_index == 0) {
warning("cur_index is zero!")
}

cat("Old", cur_index, "\n")
try <- 1
while (try < max.tries) {
new_basis <- basis_nearby(current, alpha, method)
Expand All @@ -160,8 +141,7 @@ search_better_random <- function(current, alpha = 0.5, index, tries,
)

if (new_index > cur_index) {
cat("New", new_index, "try", try, "\n")
cat("Accept \n")
message("Target: ", sprintf("%.3f", new_index), ", try: ", try, ", accept")

nr <- nrow(rcd_env[["record"]])
rcd_env[["record"]][nr, "info"] <- "new_basis"
Expand All @@ -176,8 +156,8 @@ search_better_random <- function(current, alpha = 0.5, index, tries,
rand <- stats::runif(1)

if (prob > rand) {
cat("New", new_index, "try", try, "\n")
cat("Accept with probability, prob =", prob, "\n")
message("Target: ", sprintf("%.3f", new_index), ", try: ", try,
", probabilistic accept p = ", sprintf("%.3f", prob))

nr <- nrow(rcd_env[["record"]])
rcd_env[["record"]][nr, "info"] <- "new_basis"
Expand All @@ -193,24 +173,8 @@ search_better_random <- function(current, alpha = 0.5, index, tries,
try <- try + 1
}

cat("No better bases found after ", max.tries, " tries. Giving up.\n",
sep = ""
)
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
}
else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}
message("No better bases found after ", max.tries, " tries. Giving up.")
print_final_proj(current)

rcd_env[["record"]] <- dplyr::mutate(
rcd_env[["record"]],
Expand Down
4 changes: 2 additions & 2 deletions R/search-frozen-geodesic.r
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,13 @@ search_frozen_geodesic <- function(current, index, tries, max.tries = 5, n = 5,
dig3 <- function(x) sprintf("%.3f", x)
pdiff <- (new_index - cur_index) / cur_index
if (pdiff > 0.001) {
cat("New index: ", dig3(new_index), " (", dig3(peak$alpha$maximum), " away)\n", sep = "")
message("New index: ", dig3(new_index), " (", dig3(peak$alpha$maximum), " away)", sep = "")
current <<- new_basis
cur_index <<- new_index

return(list(target = new_basis[[1]]))
}
cat("Best was: ", dig3(new_index), " (", dig3(peak$alpha$maximum), " away). Trying again...\n", sep = "")
message("Best was: ", dig3(new_index), " (", dig3(peak$alpha$maximum), " away). Try again...", sep = "")

try <- try + 1
}
Expand Down
33 changes: 5 additions & 28 deletions R/search-geodesic.r
Original file line number Diff line number Diff line change
Expand Up @@ -58,44 +58,21 @@ search_geodesic <- function(current, alpha = 1, index, tries, max.tries = 5, ...
warning("either the cur_index or the new_index is zero!")
} else {
pdiff <- (new_index - cur_index) / cur_index

dig3 <- function(x) sprintf("%.3f", x)

cat(
"Value ", dig3(new_index), " ",
sprintf("%.1f", pdiff * 100), "% better "
)
if (pdiff > 0.001 & proj_dist(current, new_basis[[1]]) > 1e-2) { # FIXME: pdiff should pbly be a changeable parameter
cat(" - NEW BASIS\n")

message("Target: ", sprintf("%.3f", new_index), ", ",
sprintf("%.1f", pdiff * 100), "% better ")
current <- new_basis
cur_index <- new_index

return(list(target = new_basis[[1]]))
}
cat("\n")
}

try <- try + 1
}
cat("No better bases found after ", max.tries, " tries. Giving up.\n",
sep = ""
)
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
}
else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}

message("No better bases found after ", max.tries, " tries. Giving up.")
print_final_proj(current)

NULL
}
Expand Down
18 changes: 1 addition & 17 deletions R/search-jellyfish.R
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ search_jellyfish <- function(current, index, tries, max.tries = Inf, min.tries =
target_idx <- sapply(target, index)

best_id <- which.max(target_idx)
cat("Best Index: ", max(target_idx), "\n")
message("Target: ", sprintf("%.3f", max(target_idx)))
attr(target, "best_id") <- best_id
class(target) <- c("multi-bases", class(target))

Expand Down Expand Up @@ -79,19 +79,3 @@ search_jellyfish <- function(current, index, tries, max.tries = Inf, min.tries =
}


print_final_proj <- function(current){
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
} else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}
}
38 changes: 10 additions & 28 deletions R/search_polish.r
Original file line number Diff line number Diff line change
Expand Up @@ -60,20 +60,20 @@ search_polish <- function(current, alpha = 0.5, index, tries, polish_max_tries =
# check condition 1: the two bases can't be too close

if (polish_dist < 1e-3) {
cat("The new basis is too close to the current one! \n")
cat("current basis: ", current, "cur_index: ", cur_index, "\n")
message("The new basis is too close to the current one!")
message("current basis: ", current, "cur_index: ", sprintf("%.3f", cur_index))
return(list(target = current, alpha = alpha))
}

# check condition 2: there needs to be certain improvement

if (polish_pdiff < 1e-5) {
cat("The improvement is too small! \n")
cat("current basis: ", current, "cur_index: ", cur_index, "\n")
message("The improvement is too small!")
message("current basis: ", current, "cur_index: ", sprintf("%.3f", cur_index))
return(list(target = current, alpha = alpha))
}

cat("better basis found, index_val = ", best_row$index_val, "\n")
message("better basis found, index_val = ", sprintf("%.3f", best_row$index_val))
cur_index <- best_row$index_val
current <- best_row$basis[[1]]
best_row <- dplyr::mutate(best_row,
Expand All @@ -86,40 +86,22 @@ search_polish <- function(current, alpha = 0.5, index, tries, polish_max_tries =
} else {
polish_cooling <- polish_cooling * 0.95
alpha <- alpha * polish_cooling
cat("alpha gets updated to", alpha, "\n")
message("alpha gets updated to", alpha, "\n")

# check condition 3: alpha can't be too small

if (alpha < 0.01) {
cat("alpha is", alpha, "and it is too small! \n")
cat("current basis: ", current, "cur_index: ", cur_index, "\n")
message("alpha is", alpha, "and it is too small!")
message("current basis: ", current, "cur_index: ", sprintf("%.3f", cur_index))
return(list(target = current, alpha = alpha))
}
}

try <- try + 1
}

cat("No better bases found after ", polish_max_tries, " tries. Giving up.\n",
sep = ""
)
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
}
else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}

cat("current basis: ", current, "cur_index: ", cur_index, "\n")
message("No better bases found after ", polish_max_tries, " tries. Giving up.")
print_final_proj(current)
return(list(target = current, alpha = alpha))
}
# globalVariables("index_val")
22 changes: 3 additions & 19 deletions R/search_posse.R
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ search_posse <- function(current, alpha = 0.5, index, tries, max.tries = 300, cu
)

if (new_index > cur_index) {
cat("New", new_index, "try", try, "\n")
message("Target: ", sprintf("%.3f", new_index), ", try: ", try)

nr <- nrow(rcd_env[["record"]])
rcd_env[["record"]][nr, "info"] <- "new_basis"
Expand All @@ -44,24 +44,8 @@ search_posse <- function(current, alpha = 0.5, index, tries, max.tries = 300, cu
try <- try + 1
}

cat("No better bases found after ", max.tries, " tries. Giving up.\n",
sep = ""
)
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
}
else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}
message("No better bases found after ", max.tries, " tries. Giving up.")
print_final_proj(current)

NULL
}
8 changes: 4 additions & 4 deletions R/section-pursuit.r
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@ slice_index <- function(breaks_x, breaks_y, eps, bintype = "polar", power = 1, f
reweight = FALSE, p = 4) {
if (reweight) {
if (bintype != "polar") {
cat("Reweighting is only defined for polar binning and will be ignored.")
message("Reweighting is only defined for polar binning and will be ignored.")
}
else {
cat(paste0("Reweighting assuming p=", p))
message(paste0("Reweighting assuming p=", p))
}
}

resc <- 1
if (bintype == "polar") {
resc <- 1 / (1 - (1 / 10)^(1 / power))^power
cat(paste0("Rescaling raw index by a factor ", resc))
message(paste0("Rescaling raw index by a factor ", resc))
}

function(mat, dists, h) {
Expand Down Expand Up @@ -133,7 +133,7 @@ slice_binning <- function(mat, dists, h, breaks_x, breaks_y, bintype = "square")
ybin <- cut(ang, breaks_y)
}
else {
cat(bintype, " is not a recognised bin type\n")
message(bintype, " is not a recognised bin type")
return(0)
}

Expand Down
21 changes: 3 additions & 18 deletions R/tour-guided-section.r
Original file line number Diff line number Diff line change
Expand Up @@ -68,24 +68,9 @@ guided_section_tour <- function(index_f, d = 2, alpha = 0.5, cooling = 0.99,
cur_index <- index(current)

if (cur_index > max.i) {
cat("Found index ", cur_index, ", larger than selected maximum ", max.i, ". Stopping search.\n",
sep = ""
)
cat("Final projection: \n")
if (ncol(current) == 1) {
for (i in 1:length(current)) {
cat(sprintf("%.3f", current[i]), " ")
}
cat("\n")
}
else {
for (i in 1:nrow(current)) {
for (j in 1:ncol(current)) {
cat(sprintf("%.3f", current[i, j]), " ")
}
cat("\n")
}
}
message("Found index ", sprintf("%.3f", cur_index), ",
larger than selected maximum ", max.i, ". Stopping search.")
print_final_proj(current)
return(NULL)
}

Expand Down
5 changes: 2 additions & 3 deletions R/tour-guided.r
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,8 @@ guided_tour <- function(index_f, d = 2, alpha = 0.5, cooling = 0.99, max.tries =
}

if (cur_index > max.i) {
cat("Found index ", cur_index, ", larger than selected maximum ", max.i, ". Stopping search.\n",
sep = ""
)
message("Found index ", sprintf("%.3f", cur_index), ",
larger than selected maximum ", max.i, ". Stopping search.")
print_final_proj(current)
return(NULL)
}
Expand Down
Loading

0 comments on commit adf198b

Please sign in to comment.