#' opop
#'
#' Use this function to quickly apply functions to objects of class pauli and return
#' an object of class pauli_d
#'
#' @param obj An object of class pauli or pauli_d
#' @param .f A function
#'
#' @return An object of class pauli_d (pauli descendent)
#' @export
#'
#' @examples
#' #Create an object of class pauli and operate on it
#' pf <- pauli()
#' opop(pf, function(x)x^2)
opop <- function(obj, .f) {
UseMethod("opop")
}
#' opop
#'
#' Use this function to quickly apply functions to objects of class pauli and return
#' an object of class pauli_d
#'
#' @param obj An object of class pauli
#' @param .f A function
#'
#' @return An object of class pauli_d (pauli descendent)
#' @export
#'
#' @examples
#' #Create an object of class pauli and operate on it
#' pf <- pauli()
#' opop(pf, function(x)x^2)
opop.pauli <- function(obj, .f = function(x) x){
#Perform function on items within pauli object
obj <- lapply(obj, .f)
#Use coerce_Re to change complex numbers with 0i to real numbers
obj <- lapply(obj, coerce_Re)
#Make paulis a pauli_d object
structure(obj,
class = "pauli_d"
)
}
#' opop
#'
#' Use this function to quickly apply functions to objects of class pauli_d and return
#' an object of class pauli_d
#'
#' @param obj An object of class pauli_d
#' @param .f A function
#'
#' @return An object of class pauli_d (pauli descendent)
#' @export
#'
#' @examples
#' #Create an object of class pauli and operate on it
#' pf <- pauli() #pf has class pauli
#' pf_2 <- opop(pf, function(x)x^2) #pf_2 has class pauli_d
#' pf_3 <- opop(pf_2, function(x)x^2) #pf_3 has class pauli_d
opop.pauli_d <- function(obj, .f = function(x) x){
#Perform function on items within pauli object
obj <- lapply(obj, .f)
#Use coerce_Re to change complex numbers with 0i to real numbers
obj <- lapply(obj, coerce_Re)
#Make paulis a pauli_d object
structure(obj,
class = "pauli_d"
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.