Record TCL3Vector
Unit
Declaration
type TCL3Vector = record
Description
Represents a pure vector (grade-1 element) in the Clifford algebra Cl(3,0).
A vector is expressed as: v = m1·e₁ + m2·e₂ + m3·e₃
Geometrically, a vector represents an oriented line segment in R3. The basis vectors satisfy the fundamental Clifford relations:
ei² = +1fori = 1, 2, 3ei·ej = -ej·eifori ≠ j
The geometric product of two vectors decomposes into a scalar (inner product) and a bivector (outer product): uv = u·v + u∧v where u·v = Σ ui·vi is the symmetric part and u∧v is the antisymmetric part, hence the return type TCL3Multivector.
Notable special products:
v · e₁₂₃ = v · (e₁∧e₂∧e₃)maps a vector to a bivector (left dual)e₁₂₃ · vmaps a vector to a bivector (right dual)
These are reflected in the return type TCL3Bivector for products involving a TCL3Trivector.
Overview
Methods
| Public | class operator *(const ALeft: double; const ARight: TCL3Vector): TCL3Vector; |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Bivector; |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: double): TCL3Vector; |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Bivector; |
| Public | class operator *(const ALeft, ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator +(const ALeft: double; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: double): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Multivector; |
| Public | class operator +(const ALeft, ARight: TCL3Vector): TCL3Vector; |
| Public | class operator -(const ALeft: double; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator -(const ASelf: TCL3Vector): TCL3Vector; |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: double): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Multivector; |
| Public | class operator -(const ALeft, ARight: TCL3Vector): TCL3Vector; |
| Public | class operator /(const ALeft: double; const ARight: TCL3Vector): TCL3Vector; |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Bivector; |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: double): TCL3Vector; |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Bivector; |
| Public | class operator /(const ALeft, ARight: TCL3Vector): TCL3Multivector; |
| Public | class operator :=(const AValue: TCL3Multivector): TCL3Vector; |
| Public | class operator :=(const AValue: TCL3Vector): TCL3Multivector; |
| Public | class operator <>(const ALeft: TCL3Multivector; const ARight: TCL3Vector): boolean; |
| Public | class operator <>(const ALeft: TCL3Vector; const ARight: TCL3Multivector): boolean; |
| Public | class operator <>(const ALeft, ARight: TCL3Vector): boolean; |
| Public | class operator =(const ALeft: TCL3Multivector; const ARight: TCL3Vector): boolean; |
| Public | class operator =(const ALeft: TCL3Vector; const ARight: TCL3Multivector): boolean; |
| Public | class operator =(const ALeft, ARight: TCL3Vector): boolean; |
Description
Methods
| Public | class operator *(const ALeft: double; const ARight: TCL3Vector): TCL3Vector; |
|
Returns the geometric product of a real scalar and a vector. Each component is scaled by | |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the geometric product of a bivector and a vector. The result mixes grades, hence the return type is a full TCL3Multivector. | |
| Public | class operator *(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the geometric product of a full multivector and a vector. Grade mixing occurs according to the Clifford multiplication rules of | |
| Public | class operator *(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Bivector; |
|
Returns the geometric product of the pseudoscalar | |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: double): TCL3Vector; |
|
Returns the geometric product of a vector and a real scalar. Each component is scaled by | |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric product of a vector and a bivector. The result mixes grades (scalar and trivector parts may appear), hence the return type is a full TCL3Multivector. | |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the geometric product of a vector and a full multivector. Grade mixing occurs according to the Clifford multiplication rules of | |
| Public | class operator *(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Bivector; |
|
Returns the geometric product of a vector and the pseudoscalar | |
| Public | class operator *(const ALeft, ARight: TCL3Vector): TCL3Multivector; |
|
Returns the geometric product of two vectors. The result decomposes into a scalar and a bivector: | |
| Public | class operator +(const ALeft: double; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the sum of a real scalar and a vector. The result is a full multivector with | |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the sum of a bivector and a vector. The result is a full multivector with grade-2 components from | |
| Public | class operator +(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the sum of a multivector and a vector. The vector contributes only to the grade-1 components. | |
| Public | class operator +(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the sum of a trivector and a vector. The result is a full multivector with grade-3 component from | |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: double): TCL3Multivector; |
|
Returns the sum of a vector and a real scalar. The result is a full multivector with | |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the sum of a vector and a bivector. The result is a full multivector with grade-1 components from | |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the sum of a vector and a multivector. The vector contributes only to the grade-1 components. | |
| Public | class operator +(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Multivector; |
|
Returns the sum of a vector and a trivector. The result is a full multivector with grade-1 components from | |
| Public | class operator +(const ALeft, ARight: TCL3Vector): TCL3Vector; |
|
Returns the component-wise sum of two vectors. The result is a pure vector. | |
| Public | class operator -(const ALeft: double; const ARight: TCL3Vector): TCL3Multivector; |
|
fference of a real scalar and a vector. The result is a full multivector with | |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the difference of a bivector and a vector. The result is a full multivector with grade-2 components from | |
| Public | class operator -(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the difference of a multivector and a vector. The vector contributes only to the grade-1 components. | |
| Public | class operator -(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the difference of a trivector and a vector. The result is a full multivector with grade-3 component from | |
| Public | class operator -(const ASelf: TCL3Vector): TCL3Vector; |
|
Unary minus. Returns the negation of the vector. Each component | |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: double): TCL3Multivector; |
|
Returns the difference of a vector and a real scalar. The result is a full multivector with | |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the difference of a vector and a bivector. The result is a full multivector with grade-1 components from | |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the difference of a vector and a multivector. The vector contributes only to the grade-1 components. | |
| Public | class operator -(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Multivector; |
|
Returns the difference of a vector and a trivector. The result is a full multivector with grade-1 components from | |
| Public | class operator -(const ALeft, ARight: TCL3Vector): TCL3Vector; |
|
Returns the component-wise difference of two vectors. The result is a pure vector. | |
| Public | class operator /(const ALeft: double; const ARight: TCL3Vector): TCL3Vector; |
|
Returns the geometric quotient of a real scalar divided by a vector: | |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the geometric quotient of a bivector divided by a vector: | |
| Public | class operator /(const ALeft: TCL3Multivector; const ARight: TCL3Vector): TCL3Multivector; |
|
Returns the geometric quotient of a full multivector divided by a vector: | |
| Public | class operator /(const ALeft: TCL3Trivector; const ARight: TCL3Vector): TCL3Bivector; |
|
Returns the geometric quotient of the pseudoscalar divided by a vector: | |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: double): TCL3Vector; |
|
Returns the geometric quotient of a vector divided by a real scalar. Each component is divided by | |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric quotient of a vector divided by a bivector: | |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the geometric quotient of a vector divided by a full multivector: | |
| Public | class operator /(const ALeft: TCL3Vector; const ARight: TCL3Trivector): TCL3Bivector; |
|
Returns the geometric quotient of a vector divided by the pseudoscalar: | |
| Public | class operator /(const ALeft, ARight: TCL3Vector): TCL3Multivector; |
|
Returns the geometric quotient of two vectors: | |
| Public | class operator :=(const AValue: TCL3Multivector): TCL3Vector; |
|
Implicit conversion from a multivector to a vector. Returns only the grade-1 components | |
| Public | class operator :=(const AValue: TCL3Vector): TCL3Multivector; |
|
Implicit conversion from a vector to a full multivector. All components of the result are zero except | |
| Public | class operator <>(const ALeft: TCL3Multivector; const ARight: TCL3Vector): boolean; |
|
Returns | |
| Public | class operator <>(const ALeft: TCL3Vector; const ARight: TCL3Multivector): boolean; |
|
Returns | |
| Public | class operator <>(const ALeft, ARight: TCL3Vector): boolean; |
|
Returns | |
| Public | class operator =(const ALeft: TCL3Multivector; const ARight: TCL3Vector): boolean; |
|
Returns | |
| Public | class operator =(const ALeft: TCL3Vector; const ARight: TCL3Multivector): boolean; |
|
Returns | |
| Public | class operator =(const ALeft, ARight: TCL3Vector): boolean; |
|
Returns | |
Generated by PasDoc 1.0.4.