magnitude: Magnitude of a clifford object

magnitudeR Documentation

Magnitude of a clifford object

Description

Following Perwass, the magnitude of a multivector is defined as

\left|\left|A\right|\right| = \sqrt{A\ast A}

Where A\ast A denotes the Euclidean scalar product eucprod().

Usage

## S3 method for class 'clifford'
Mod(z)

Arguments

z

Clifford objects

Details

For any multivector A, the Euclidean scalar product A\ast A is never negative, so the square root is always defined.

The function body of Mod.clifford() is sqrt(abs(eucprod(z))); the abs() is needed to avoid numerical roundoff errors in eucprod() giving a negative value.

Note

If you want the square, \left|\left|A\right|\right|^2 and not \left|\left|A\right|\right|, it is faster and more accurate to use eucprod(A) [rather than Mod(A)^2], because this avoids a needless square root.

There is a nice example of scalar product at rcliff.Rd.

Author(s)

Robin K. S. Hankin

See Also

Ops.clifford, Conj, rcliff

Examples



Mod(rcliff())


# Perwass, p68, asserts that if A is a k-blade, then (in his notation)
# AA == A*A.

# In package idiom, A*A == A %star% A:

A <- rcliff()          
Mod(A*A - A %star% A)  # meh

A <- rblade()
Mod(A*A - A %star% A)  # should be small


clifford documentation built on July 5, 2026, 5:07 p.m.