Unit ADimCL3

Description

ADim Clifford algebra Cl(3,0) utilities.

Provides predefined global constants for the basis blades, unit elements and zero elements of the Clifford algebra Cl(3,0) over ℝ³.

The basis blades are available both as versor/biversor/triversor singleton records (for use in operator expressions) and as pre-initialised TCL3Vector, TCL3Bivector and TCL3Trivector values (for use as numerical unit vectors):

@copyright 2025-2026 Melchiorre Caruso @license GNU Lesser General Public License v3 with modified LGPL exception.

This unit is part of the ADim library, distributed under the GNU Lesser General Public License v3 (LGPL v3) with the following special exception:

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

Overview

Variables

e1: TCL3Versor1 = ();
e12: TCL3Biversor12 = ();
e123: TCL3Triversor123 = ();
e13: TCL3Biversor13 = ();
e2: TCL3Versor2 = ();
e23: TCL3Biversor23 = ();
e3: TCL3Versor3 = ();
NullBivector: TCL3Bivector = (fm12:0.0; fm13:0.0; fm23:0.0);
NullMultivector: TCL3Multivector = (fm0:0.0; fm1:0.0; fm2:0.0; fm3:0.0; fm12:0.0; fm13:0.0; fm23:0.0; fm123:0.0);
NullScalar: double = (0.0);
NullTrivector: TCL3Trivector = (fm123:0.0);
NullVector: TCL3Vector = (fm1:0.0; fm2:0.0; fm3:0.0);
u1: TCL3Vector = (fm1: 1.0; fm2: 0.0; fm3: 0.0);
u12: TCL3Bivector = (fm12: 1.0; fm13: 0.0; fm23: 0.0);
u123: TCL3Trivector = (fm123: 1.0);
u13: TCL3Bivector = (fm12: 0.0; fm13: 1.0; fm23: 0.0);
u2: TCL3Vector = (fm1: 0.0; fm2: 1.0; fm3: 0.0);
u23: TCL3Bivector = (fm12: 0.0; fm13: 0.0; fm23: 1.0);
u3: TCL3Vector = (fm1: 0.0; fm2: 0.0; fm3: 1.0);

Description

Variables

e1: TCL3Versor1 = ();

Basis versor e₁ of Cl(3,0). Enables expressions like 3.0 * e1.

e12: TCL3Biversor12 = ();

Basis biversor e₁∧e₂ of Cl(3,0). Enables expressions like 2.0 * e12.

e123: TCL3Triversor123 = ();

Unit pseudoscalar e₁∧e₂∧e₃ of Cl(3,0). Enables expressions like 2.0 * e123.

e13: TCL3Biversor13 = ();

Basis biversor e₁∧e₃ of Cl(3,0). Enables expressions like 2.0 * e13.

e2: TCL3Versor2 = ();

Basis versor e₂ of Cl(3,0). Enables expressions like 3.0 * e2.

e23: TCL3Biversor23 = ();

Basis biversor e₂∧e₃ of Cl(3,0). Enables expressions like 2.0 * e23.

e3: TCL3Versor3 = ();

Basis versor e₃ of Cl(3,0). Enables expressions like 3.0 * e3.

NullBivector: TCL3Bivector = (fm12:0.0; fm13:0.0; fm23:0.0);

The zero bivector of Cl(3,0). All three bivector coefficients are zero: 0·e₁∧e₂ + 0·e₁∧e₃ + 0·e₂∧e₃. Useful as a neutral element for bivector addition.

NullMultivector: TCL3Multivector = (fm0:0.0; fm1:0.0; fm2:0.0; fm3:0.0; fm12:0.0; fm13:0.0; fm23:0.0; fm123:0.0);

The zero multivector of Cl(3,0). All eight grade components are set to zero: 0 = 0 + 0·e₁ + 0·e₂ + 0·e₃ + 0·e₁₂ + 0·e₁₃ + 0·e₂₃ + 0·e₁₂₃. Useful as a neutral element for addition or as an initial accumulator in multivector summations.

NullScalar: double = (0.0);

The zero scalar of Cl(3,0). Equivalent to the real number 0.0. Useful as a neutral element for scalar addition or as a default return value for operations that yield a dimensionless zero.

NullTrivector: TCL3Trivector = (fm123:0.0);

The zero trivector of Cl(3,0). The pseudoscalar coefficient is zero: 0·e₁∧e₂∧e₃. Useful as a neutral element for trivector addition.

NullVector: TCL3Vector = (fm1:0.0; fm2:0.0; fm3:0.0);

The zero vector of Cl(3,0). All three vector coefficients are zero: 0·e₁ + 0·e₂ + 0·e₃. Useful as a neutral element for vector addition.

u1: TCL3Vector = (fm1: 1.0; fm2: 0.0; fm3: 0.0);

Unit vector along e₁: u1 = 1·e₁ + 0·e₂ + 0·e₃.

u12: TCL3Bivector = (fm12: 1.0; fm13: 0.0; fm23: 0.0);

Unit bivector along e₁∧e₂: u12 = 1·e₁₂ + 0·e₁₃ + 0·e₂₃.

u123: TCL3Trivector = (fm123: 1.0);

Unit pseudoscalar: u123 = 1·e₁∧e₂∧e₃.

u13: TCL3Bivector = (fm12: 0.0; fm13: 1.0; fm23: 0.0);

Unit bivector along e₁∧e₃: u13 = 0·e₁₂ + 1·e₁₃ + 0·e₂₃.

u2: TCL3Vector = (fm1: 0.0; fm2: 1.0; fm3: 0.0);

Unit vector along e₂: u2 = 0·e₁ + 1·e₂ + 0·e₃.

u23: TCL3Bivector = (fm12: 0.0; fm13: 0.0; fm23: 1.0);

Unit bivector along e₂∧e₃: u23 = 0·e₁₂ + 0·e₁₃ + 1·e₂₃.

u3: TCL3Vector = (fm1: 0.0; fm2: 0.0; fm3: 1.0);

Unit vector along e₃: u3 = 0·e₁ + 0·e₂ + 1·e₃.

Author


Generated by PasDoc 1.0.4.