Speed of light and Minkowski metric
Getting and setting the speed of light
sol(c) eta(downstairs=TRUE) ptm(to_natural=TRUE, change_time=TRUE)
c |
Scalar, speed of light. If missing, return the speed of light |
downstairs |
Boolean, with default |
to_natural,change_time |
Boolean, specifying the nature of the passive transform matrix |
In the context of an R package, the symbol “c” presents
particular problems. In the lorentz package, the speed of light
is denoted “sol”, for ‘speed of light’. You can set the
speed of light with sol(x)
, and query it with sol()
; see
the examples. An infinite speed of light is sometimes useful for
Galilean transforms.
The speed of light is a global variable, governed by
options("c")
. If NULL
, define c=1
. Setting
showSOL
to TRUE
makes sol()
change the prompt to
display the speed of light which might be useful.
Function eta()
returns the Minkowski flat-space metric
omitted
Note that the top-left element of eta()
is -c^2, not
-1.
Function ptm()
returns a passive transformation matrix that
converts displacement vectors to natural units (to_natural=TRUE
)
or from natural units (to_natural=FALSE
). Argument
change_time
specifies whether to change the unit of time (if
TRUE
) or the unit of length (if FALSE
).
Typing “sol(299792458)
” is a lot easier than typing
“options("c"=299792458)
”, which is why the package uses
the idiom that it does.
Robin K. S. Hankin
sol() # returns current speed of light sol(299792458) # use SI units sol() # speed of light now SI value eta() # note [t,t] term u <- as.3vel(c(100,200,300)) # fast terrestrial speed, but not relativistic boost(u) # boost matrix practically Galilean is.consistent.boost(boost(u)) # should be TRUE sol(1) # revert to relativisitic units
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.