inst/doc/hodge.R

## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
options(rmarkdown.html_vignette.check_title = FALSE)
library("permutations")
library("stokes")
options(polyform = FALSE)
set.seed(1)

## ----showhodgefirst-----------------------------------------------------------
hodge

## ---- include = FALSE---------------------------------------------------------
options(kform_symbolic_print = NULL)

## -----------------------------------------------------------------------------
(a <- d(2) ^ d(6) ^ d(7))
hodge(a,9)

## ----label=useperm------------------------------------------------------------
p <- c(2,6,7,  1,3,4,5,8,9)
(pw <- as.word(p))
print_word(pw)
sgn(pw)

## ----label=shorthodge---------------------------------------------------------
hodge(d(c(2,6,7)),9)

## ----label=defaulthodge-------------------------------------------------------
hodge(d(c(2,6,7)))

## ----defineo------------------------------------------------------------------
(o <- rform())
hodge(o)

## ----verifyhodgeo-------------------------------------------------------------
o ^ hodge(o)
kinner(o,o)*volume(dovs(o))

## ----defdif-------------------------------------------------------------------
diff <- function(a,b){a^hodge(b) ==  kinner(a,b)*volume(dovs(a))}

## ----calldefdif---------------------------------------------------------------
diff(rform(),rform())

## ----alldefdif----------------------------------------------------------------
all(replicate(10,diff(rform(),rform())))

## -----------------------------------------------------------------------------
options(kform_symbolic_print = "dx")
hodge(dx,3)

## ----showvcp------------------------------------------------------------------
vcp3

## -----------------------------------------------------------------------------
u <- c(1,4,2)
v <- c(2,1,5)
w <- c(1,-3,2)
x <- c(-6,5,7)
c(
  hodge(as.1form(u) ^ vcp3(v,w))        == as.1form(v*sum(w*u) - w*sum(u*v)),
  hodge(vcp3(u,v) ^ as.1form(w))        == as.1form(v*sum(w*u) - u*sum(v*w)),
  as.1form(as.function(vcp3(v,w))(u)*u) == hodge(vcp3(u,v) ^ vcp3(u,w))     ,
  hodge(hodge(vcp3(u,v)) ^ vcp3(w,x))   == sum(u*w)*sum(v*x) - sum(u*x)*sum(v*w)
)		  

## -----------------------------------------------------------------------------
options(kform_symbolic_print = NULL)  # default print method
(o <- kform_general(4,2,1:6))

## -----------------------------------------------------------------------------
options(kform_symbolic_print = "txyz")
o

## -----------------------------------------------------------------------------
hodge(o)
hodge(o,g=c(-1,1,1,1))
hodge(o)-hodge(o,g=c(-1,1,1,1))

## ----reset_default_print_method, include=FALSE--------------------------------
options(kform_symbolic_print = NULL)

Try the stokes package in your browser

Any scripts or data that you put into this service are public.

stokes documentation built on Aug. 19, 2023, 1:07 a.m.