sol: Speed of light and Minkowski metric

Description Usage Arguments Details Note Author(s) Examples

Description

Getting and setting the speed of light

Usage

1
2
3
sol(c)
eta(downstairs=TRUE)
ptm(to_natural=TRUE, change_time=TRUE)

Arguments

c

Scalar, speed of light. If missing, return the speed of light

downstairs

Boolean, with default TRUE meaning to return the covariant metric tensor g_ij with two downstairs indices, and FALSE meaning to return the contravariant version g^ij with two upstairs indices

to_natural,change_time

Boolean, specifying the nature of the passive transform matrix

Details

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).

Note

Typing “sol(299792458)” is a lot easier than typing “options("c"=299792458)”, which is why the package uses the idiom that it does.

Author(s)

Robin K. S. Hankin

Examples

1
2
3
4
5
6
7
8
9
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

lorentz documentation built on Oct. 23, 2020, 5:50 p.m.