#' coerce_Re
#'
#' @param frame A 2 x 2 data frame (such as a pauli or pauli_d object)
#'
#' @return A 2 x 2 data frame where with all real entries if Im(frame) == 0 for all cells; or else, a 2 x 2 data frame with complex entries
#' @export
#'
#' @examples
#' #The opop function uses the coerce_Re function on each data frame
#' pf <- pauli()
#' pf2 <- opop(pf, function(x)x^2 - 1)
coerce_Re <- function(frame){
frame2 <- data.frame("x" = c(NA, NA),
"y" = c(NA, NA))
if(is.complex(frame[[1]][[1]]) & Im(frame[[1]][[1]]) == 0){
frame2[[1]][[1]] <- Re(frame[[1]][[1]])
} else {
frame2[[1]][[1]] <- frame[[1]][[1]]
}
if(is.complex(frame[[1]][[2]]) & Im(frame[[1]][[2]]) == 0){
frame2[[1]][[2]] <- Re(frame[[1]][[2]])
} else {
frame2[[1]][[2]] <- frame[[1]][[2]]
}
if(is.complex(frame[[2]][[1]]) & Im(frame[[2]][[1]]) == 0){
frame2[[2]][[1]] <- Re(frame[[2]][[1]])
} else {
frame2[[2]][[1]] <- frame[[2]][[1]]
}
if(is.complex(frame[[2]][[2]]) & Im(frame[[2]][[2]]) == 0){
frame2[[2]][[2]] <- Re(frame[[2]][[2]])
} else {
frame2[[2]][[2]] <- frame[[2]][[2]]
}
return(frame2)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.