Record TCL3Multivector

Unit

Declaration

type TCL3Multivector = record

Description

Represents a general multivector in the Clifford algebra Cl(3,0) over R3.

A multivector is the most general element of the algebra and is expressed as: M = m0 + m1·e1 + m2·e2 + m3·e3 + m12·e12 + m13·e13 + m23·e23 + m123·e123

where:

The geometric product · is the fundamental product of the algebra, from which the inner product and outer (wedge) product can be derived. The algebra satisfies:

Overview

Methods

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

Description

Methods

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

Returns the geometric product of a real scalar and a multivector. Each component is scaled by ALeft.

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

Returns the geometric product of a multivector and a real scalar. Each component is scaled by ARight.

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

Returns the geometric product of two multivectors. This is the fundamental product of the Clifford algebra Cl(3,0). It combines the inner (dot) and outer (wedge) products: AB = A·B + A∧B. The geometric product is associative but generally non-commutative.

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

Returns the sum of a real scalar and a multivector. Only the scalar component is affected.

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

Returns the sum of a multivector and a real scalar. Only the scalar component is affected.

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

Returns the component-wise sum of two multivectors.

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

Returns the difference of a real scalar and a multivector. Only the scalar component is affected.

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

Unary minus. Returns the negation of the multivector. Each component mₖ becomes -mₖ.

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

Returns the difference of a multivector and a real scalar. Only the scalar component is affected.

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

Returns the component-wise difference of two multivectors.

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

Returns the geometric quotient of a real scalar divided by a multivector: ALeft / ARight.

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

Returns the geometric quotient of a multivector divided by a real scalar. Each component is divided by ARight.

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

Returns the geometric quotient of two multivectors: ALeft / ARight. The inverse 1/ARight is computed using the reverse and the scalar norm. Not all multivectors are invertible; behaviour is undefined if ARight has no inverse.

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

Implicit conversion from a real scalar to a multivector. All components are set to zero except the scalar part m0 = AValue.

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

Implicit conversion from a multivector to a real scalar. Returns the scalar part m0. All other components are discarded. Use with care: this conversion is only meaningful for pure-scalar multivectors.

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

Returns True if the multivector ARight differs from the scalar ALeft in any component.

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

Returns True if the multivector differs from the scalar ARight in any component.

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

Returns True if the two multivectors differ in at least one component.

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

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

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

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

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

Returns True if all corresponding components of the two multivectors are equal.


Generated by PasDoc 1.0.4.