Record TCL3Trivector

Unit

Declaration

type TCL3Trivector = record

Description

Represents a pure trivector (pseudoscalar) in the Clifford algebra Cl(3,0).

A trivector is a grade-3 element of the algebra, expressed as: T = m123·e1∧e2∧e3

In Cl(3,0) the pseudoscalar e123 = e1∧e2∧e3 satisfies: e123² = -1, making it analogous to the imaginary unit in complex algebra. The pseudoscalar commutes with all elements of Cl(3,0) and generates the duality transformation between vectors and bivectors.

When combined with elements of other grades the result is a full TCL3Multivector. Operations between two trivectors produce a real scalar, since (m123·e123)·(n123·e123) = -m123·n123.

Overview

Methods

Public class operator *(const ALeft: double; const ARight: TCL3Trivector): TCL3Trivector;
Public class operator *(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;
Public class operator *(const ALeft: TCL3Trivector; const ARight: double): TCL3Trivector;
Public class operator *(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;
Public class operator *(const ALeft, ARight: TCL3Trivector): double;
Public class operator +(const ALeft: double; const ARight: TCL3Trivector): TCL3Multivector;
Public class operator +(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;
Public class operator +(const ALeft: TCL3Trivector; const ARight: double): TCL3Multivector;
Public class operator +(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;
Public class operator +(const ALeft, ARight: TCL3Trivector): TCL3Trivector;
Public class operator -(const ALeft: double; const ARight: TCL3Trivector): TCL3Multivector;
Public class operator -(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;
Public class operator -(const ASelf: TCL3Trivector): TCL3Trivector;
Public class operator -(const ALeft: TCL3Trivector; const ARight: double): TCL3Multivector;
Public class operator -(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;
Public class operator -(const ALeft, ARight: TCL3Trivector): TCL3Trivector;
Public class operator /(const ALeft: double; const ARight: TCL3Trivector): TCL3Trivector;
Public class operator /(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;
Public class operator /(const ALeft: TCL3Trivector; const ARight: double): TCL3Trivector;
Public class operator /(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;
Public class operator /(const ALeft, ARight: TCL3Trivector): double;
Public class operator :=(const AValue: TCL3Multivector): TCL3Trivector;
Public class operator :=(const AValue: TCL3Trivector): TCL3Multivector;
Public class operator <>(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): boolean;
Public class operator <>(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): boolean;
Public class operator <>(const ALeft, ARight: TCL3Trivector): boolean;
Public class operator =(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): boolean;
Public class operator =(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): boolean;
Public class operator =(const ALeft, ARight: TCL3Trivector): boolean;

Description

Methods

Public class operator *(const ALeft: double; const ARight: TCL3Trivector): TCL3Trivector;

Returns the geometric product of a real scalar and a trivector. The coefficient m123 is scaled by ALeft.

Public class operator *(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;

Returns the geometric product of a multivector and a trivector. The result is a full multivector. Grade mixing occurs according to the Clifford multiplication rules of Cl(3,0).

Public class operator *(const ALeft: TCL3Trivector; const ARight: double): TCL3Trivector;

Returns the geometric product of a trivector and a real scalar. The coefficient m123 is scaled by ARight.

Public class operator *(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;

Returns the geometric product of a trivector and a multivector. The result is a full multivector. Grade mixing occurs according to the Clifford multiplication rules of Cl(3,0).

Public class operator *(const ALeft, ARight: TCL3Trivector): double;

Returns the geometric product of two trivectors as a real scalar. Since e123² = -1, the result is: (m123·e123)·(n123·e123) = -m123·n123.

Public class operator +(const ALeft: double; const ARight: TCL3Trivector): TCL3Multivector;

Returns the sum of a real scalar and a trivector. The result is a full multivector with m0 = ALeft and m123 = ARight.m123.

Public class operator +(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;

Returns the sum of a multivector and a trivector. The trivector contributes only to the grade-3 component.

Public class operator +(const ALeft: TCL3Trivector; const ARight: double): TCL3Multivector;

Returns the sum of a trivector and a real scalar. The result is a full multivector with m0 = ARight and m123 = ALeft.m123.

Public class operator +(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;

Returns the sum of a trivector and a multivector. The trivector contributes only to the grade-3 component.

Public class operator +(const ALeft, ARight: TCL3Trivector): TCL3Trivector;

Returns the sum of two trivectors. The result is a pure trivector.

Public class operator -(const ALeft: double; const ARight: TCL3Trivector): TCL3Multivector;

Returns the difference of a real scalar and a trivector. The result is a full multivector with m0 = ALeft and m123 = -ARight.m123.

Public class operator -(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;

Returns the difference of a multivector and a trivector. The trivector contributes only to the grade-3 component.

Public class operator -(const ASelf: TCL3Trivector): TCL3Trivector;

Unary minus. Returns the negation of the trivector. The coefficient m123 becomes -m123.

Public class operator -(const ALeft: TCL3Trivector; const ARight: double): TCL3Multivector;

Returns the difference of a trivector and a real scalar. The result is a full multivector with m0 = -ARight and m123 = ALeft.m123.

Public class operator -(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;

Returns the difference of a trivector and a multivector. The trivector contributes only to the grade-3 component.

Public class operator -(const ALeft, ARight: TCL3Trivector): TCL3Trivector;

Returns the difference of two trivectors. The result is a pure trivector.

Public class operator /(const ALeft: double; const ARight: TCL3Trivector): TCL3Trivector;

Returns the geometric quotient of a real scalar divided by a trivector: ALeft / ARight. The inverse of a trivector T = m123·e123 is T⁻¹ = -e123/m123.

Public class operator /(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): TCL3Multivector;

Returns the geometric quotient of a multivector divided by a trivector: ALeft / ARight. The result is a full multivector.

Public class operator /(const ALeft: TCL3Trivector; const ARight: double): TCL3Trivector;

Returns the geometric quotient of a trivector divided by a real scalar. The coefficient m123 is divided by ARight.

Public class operator /(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): TCL3Multivector;

Returns the geometric quotient of a trivector divided by a multivector: ALeft / ARight. The result is a full multivector.

Public class operator /(const ALeft, ARight: TCL3Trivector): double;

Returns the geometric quotient of two trivectors as a real scalar. Computed as ALeft / ARight. Since e123² = -1, the result is: m123 / (-n123) = -m123/n123.

Public class operator :=(const AValue: TCL3Multivector): TCL3Trivector;

Implicit conversion from a multivector to a trivector. Returns only the grade-3 component m123. All other components are discarded. Use with care: this conversion is only meaningful for pure-trivector multivectors.

Public class operator :=(const AValue: TCL3Trivector): TCL3Multivector;

Implicit conversion from a trivector to a full multivector. All components of the result are zero except m123.

Public class operator <>(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): boolean;

Returns True if the multivector and the trivector differ in any component.

Public class operator <>(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): boolean;

Returns True if the trivector and the multivector differ in any component.

Public class operator <>(const ALeft, ARight: TCL3Trivector): boolean;

Returns True if the two trivectors have different m123 coefficients.

Public class operator =(const ALeft: TCL3Multivector; const ARight: TCL3Trivector): boolean;

Returns True if the multivector equals the trivector, i.e. all non-trivector components of ALeft are zero.

Public class operator =(const ALeft: TCL3Trivector; const ARight: TCL3Multivector): boolean;

Returns True if the trivector equals the multivector, i.e. all non-trivector components of ARight are zero.

Public class operator =(const ALeft, ARight: TCL3Trivector): boolean;

Returns True if the two trivectors have equal m123 coefficients.


Generated by PasDoc 1.0.4.