Record TCL3Bivector
Unit
Declaration
type TCL3Bivector = record
Description
Represents a pure bivector (grade-2 element) in the Clifford algebra Cl(3,0).
A bivector is expressed as: B = m12·e1∧e2 + m13·e1∧e3 + m23·e1∧e3
Geometrically, a bivector represents an oriented plane segment in R3. In Cl(3,0) the basis bivectors satisfy:
(e1∧e2)² = -1(e1∧e3)² = -1(e2∧e3)² = -1
making bivectors analogous to quaternion basis elements i, j, k. The subalgebra of even-grade elements (scalars and bivectors) is in fact isomorphic to the quaternion algebra ℍ.
The geometric product of two bivectors produces a mixed-grade result (scalar + bivector), hence the return type TCL3Multivector. When combined with elements of other grades the result is always a full TCL3Multivector.
Overview
Methods
| Public | class operator *(const ALeft: double; const ARight: TCL3Bivector): TCL3Bivector; |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: double): TCL3Bivector; |
| Public | class operator *(const ALeft, ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator *(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator +(const ALeft: double; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: double): TCL3Multivector; |
| Public | class operator +(const ALeft, ARight: TCL3Bivector): TCL3Bivector; |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator +(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator -(const ALeft: double; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator -(const ASelf: TCL3Bivector): TCL3Bivector; |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: double): TCL3Multivector; |
| Public | class operator -(const ALeft, ARight: TCL3Bivector): TCL3Bivector; |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator -(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator /(const ALeft: double; const ARight: TCL3Bivector): TCL3Bivector; |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: double): TCL3Bivector; |
| Public | class operator /(const ALeft, ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator /(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
| Public | class operator :=(const AValue: TCL3Bivector): TCL3Multivector; |
| Public | class operator :=(const AValue: TCL3Multivector): TCL3Bivector; |
| Public | class operator <>(const ALeft, ARight: TCL3Bivector): boolean; |
| Public | class operator <>(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): boolean; |
| Public | class operator <>(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): boolean; |
| Public | class operator =(const ALeft, ARight: TCL3Bivector): boolean; |
| Public | class operator =(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): boolean; |
| Public | class operator =(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): boolean; |
Description
Methods
| Public | class operator *(const ALeft: double; const ARight: TCL3Bivector): TCL3Bivector; |
|
Returns the geometric product of a real scalar and a bivector. Each component is scaled by | |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: double): TCL3Bivector; |
|
Returns the geometric product of a bivector and a real scalar. Each component is scaled by | |
| Public | class operator *(const ALeft, ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric product of two bivectors. The result is a mixed-grade element (scalar + bivector), hence a full TCL3Multivector. For example: | |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the geometric product of a bivector and a multivector. Grade mixing occurs according to the Clifford multiplication rules of | |
| Public | class operator *(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
|
Returns the geometric product of a bivector and a trivector. Since | |
| Public | class operator *(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric product of a multivector and a bivector. Grade mixing occurs according to the Clifford multiplication rules of | |
| Public | class operator *(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric product of a trivector and a bivector. Grade mixing occurs according to the Clifford multiplication rules of | |
| Public | class operator +(const ALeft: double; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the sum of a real scalar and a bivector. The result is a full multivector with | |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: double): TCL3Multivector; |
|
Returns the sum of a bivector and a real scalar. The result is a full multivector with | |
| Public | class operator +(const ALeft, ARight: TCL3Bivector): TCL3Bivector; |
|
Returns the component-wise sum of two bivectors. The result is a pure bivector. | |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the sum of a bivector and a multivector. The bivector contributes only to the grade-2 components. | |
| Public | class operator +(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
|
Returns the sum of a bivector and a trivector. The result is a full multivector with grade-2 components from | |
| Public | class operator +(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the sum of a multivector and a bivector. The bivector contributes only to the grade-2 components. | |
| Public | class operator +(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the sum of a trivector and a bivector. The result is a full multivector with grade-3 component from | |
| Public | class operator -(const ALeft: double; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the difference of a real scalar and a bivector. The result is a full multivector with | |
| Public | class operator -(const ASelf: TCL3Bivector): TCL3Bivector; |
|
Unary minus. Returns the negation of the bivector. Each component | |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: double): TCL3Multivector; |
|
Returns the difference of a bivector and a real scalar. The result is a full multivector with | |
| Public | class operator -(const ALeft, ARight: TCL3Bivector): TCL3Bivector; |
|
Returns the component-wise difference of two bivectors. The result is a pure bivector. | |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the difference of a bivector and a multivector. The bivector contributes only to the grade-2 components. | |
| Public | class operator -(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
|
Returns the difference of a bivector and a trivector. The result is a full multivector with grade-2 components from | |
| Public | class operator -(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the difference of a multivector and a bivector. The bivector contributes only to the grade-2 components. | |
| Public | class operator -(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the difference of a trivector and a bivector. The result is a full multivector with grade-3 component from | |
| Public | class operator /(const ALeft: double; const ARight: TCL3Bivector): TCL3Bivector; |
|
Returns the geometric quotient of a real scalar divided by a bivector: | |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: double): TCL3Bivector; |
|
Returns the geometric quotient of a bivector divided by a real scalar. Each component is divided by | |
| Public | class operator /(const ALeft, ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric quotient of two bivectors: | |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): TCL3Multivector; |
|
Returns the geometric quotient of a bivector divided by a multivector: | |
| Public | class operator /(const ALeft: TCL3Bivector; const ARight: TCL3Trivector): TCL3Multivector; |
|
Returns the geometric quotient of a bivector divided by a trivector: | |
| Public | class operator /(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric quotient of a multivector divided by a bivector: | |
| Public | class operator /(const ALeft: TCL3Trivector; const ARight: TCL3Bivector): TCL3Multivector; |
|
Returns the geometric quotient of a trivector divided by a bivector: | |
| Public | class operator :=(const AValue: TCL3Bivector): TCL3Multivector; |
|
Implicit conversion from a bivector to a full multivector. All components of the result are zero except | |
| Public | class operator :=(const AValue: TCL3Multivector): TCL3Bivector; |
|
Implicit conversion from a multivector to a bivector. Returns only the grade-2 components Use with care: this conversion is only meaningful for pure-bivector multivectors. | |
| Public | class operator <>(const ALeft, ARight: TCL3Bivector): boolean; |
|
Returns | |
| Public | class operator <>(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): boolean; |
|
Returns | |
| Public | class operator <>(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): boolean; |
|
Returns | |
| Public | class operator =(const ALeft, ARight: TCL3Bivector): boolean; |
|
Returns | |
| Public | class operator =(const ALeft: TCL3Bivector; const ARight: TCL3Multivector): boolean; |
|
Returns | |
| Public | class operator =(const ALeft: TCL3Multivector; const ARight: TCL3Bivector): boolean; |
|
Returns | |
Generated by PasDoc 1.0.4.