Record TCL3MultivecQuantityHelper
Unit
Declaration
type TCL3MultivecQuantityHelper = record helper for TCL3MultivecQuantity
Description
Record helper for TCL3MultivecQuantity providing the full set of geometric algebra operations on multivector quantities of Cl(3,0).
All operations follow the conventions of Clifford algebra over ℝ³ with dimensional analysis. Incompatible dimensions raise an exception at runtime. Only available when ADIMOFF is not defined.
Overview
Methods
| Public | function Conjugate: TCL3MultivecQuantity; |
| Public | function Dot(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Dot(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Dot(const AVector: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Dot(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Dual: TCL3MultivecQuantity; |
| Public | function ExtractBivector: TCL3BivecQuantity; |
| Public | function ExtractBivector(AComponents: TCL3MultivectorComponents): TCL3BivecQuantity; |
| Public | function ExtractMultivector(AComponents: TCL3MultivectorComponents): TCL3MultivecQuantity; |
| Public | function ExtractScalar: TQuantity; |
| Public | function ExtractTrivector: TCL3TrivecQuantity; |
| Public | function ExtractVector: TCL3VecQuantity; |
| Public | function ExtractVector(AComponents: TCL3MultivectorComponents): TCL3VecQuantity; |
| Public | function Inverse: TCL3MultivecQuantity; |
| Public | function IsA: string; |
| Public | function IsBiVector: boolean; |
| Public | function IsNull: boolean; |
| Public | function IsScalar: boolean; |
| Public | function IsTrivector: boolean; |
| Public | function IsVector: boolean; |
| Public | function LeftReciprocal: TCL3MultivecQuantity; |
| Public | function Norm: TQuantity; |
| Public | function Normalized: TCL3MultivecQuantity; |
| Public | function Projection(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Projection(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Projection(const AVector: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Projection(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Reciprocal: TCL3MultivecQuantity; |
| Public | function Reflection(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Reflection(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Reflection(const AVector: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Reflection(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Rejection(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Rejection(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Rejection(const AVector: TCL3TrivecQuantity): TQuantity; overload; |
| Public | function Rejection(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Reverse: TCL3MultivecQuantity; |
| Public | function Rotation(const AVector1, AVector2: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Rotation(const AVector1, AVector2: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Rotation(const AVector1, AVector2: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Rotation(const AVector1, AVector2: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
| Public | function SameValue(const AVector: TCL3BivecQuantity): boolean; |
| Public | function SameValue(const AVector: TCL3MultivecQuantity): boolean; |
| Public | function SameValue(const AVector: TCL3TrivecQuantity): boolean; |
| Public | function SameValue(const AVector: TCL3VecQuantity): boolean; |
| Public | function SameValue(const AVector: TQuantity): boolean; |
| Public | function SquaredNorm: TQuantity; |
| Public | function Wedge(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Wedge(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
| Public | function Wedge(const AVector: TCL3TrivecQuantity): TCL3TrivecQuantity; overload; |
| Public | function Wedge(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
Description
Methods
| Public | function Conjugate: TCL3MultivecQuantity; |
|
Returns the Clifford conjugate of the multivector quantity. Combines reversion and grade involution: | |
| Public | function Dot(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the inner (dot) product of the multivector quantity and a bivector quantity. Lowers the grade of each component by 2. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Dot(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the inner (dot) product of two multivector quantities. The result is a full TCL3MultivecQuantity due to grade mixing. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Dot(const AVector: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the inner (dot) product of the multivector quantity and a trivector quantity. Lowers the grade of each component by 3. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Dot(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the inner (dot) product of the multivector quantity and a vector quantity. Lowers the grade of each component by 1. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Dual: TCL3MultivecQuantity; |
|
Returns the dual of the multivector quantity with respect to the pseudoscalar | |
| Public | function ExtractBivector: TCL3BivecQuantity; |
|
Returns all grade-2 components of the multivector quantity as a TCL3BivecQuantity. All other grade components are discarded. | |
| Public | function ExtractBivector(AComponents: TCL3MultivectorComponents): TCL3BivecQuantity; |
|
Returns the grade-2 components of the multivector quantity specified by Parameters
| |
| Public | function ExtractMultivector(AComponents: TCL3MultivectorComponents): TCL3MultivecQuantity; |
|
Returns a new multivector quantity containing only the components specified by Parameters
| |
| Public | function ExtractScalar: TQuantity; |
|
Returns the grade-0 (scalar) component of the multivector quantity as a TQuantity. All other grade components are discarded. | |
| Public | function ExtractTrivector: TCL3TrivecQuantity; |
|
Returns all grade-3 components of the multivector quantity as a TCL3TrivecQuantity. All other grade components are discarded. | |
| Public | function ExtractVector: TCL3VecQuantity; |
|
Returns all grade-1 components of the multivector quantity as a TCL3VecQuantity. All other grade components are discarded. | |
| Public | function ExtractVector(AComponents: TCL3MultivectorComponents): TCL3VecQuantity; |
|
Returns the grade-1 components of the multivector quantity specified by Parameters
| |
| Public | function Inverse: TCL3MultivecQuantity; |
|
Returns the inverse of the multivector quantity under the geometric product. Defined as | |
| Public | function IsA: string; |
|
Returns a string identifying the dominant grade of the multivector quantity. Useful for diagnostics and debugging. Possible return values include | |
| Public | function IsBiVector: boolean; |
|
Returns | |
| Public | function IsNull: boolean; |
|
Returns | |
| Public | function IsScalar: boolean; |
|
Returns | |
| Public | function IsTrivector: boolean; |
|
Returns | |
| Public | function IsVector: boolean; |
|
Returns | |
| Public | function LeftReciprocal: TCL3MultivecQuantity; |
|
Returns the left reciprocal of the multivector quantity: | |
| Public | function Norm: TQuantity; |
|
Returns the norm of the multivector quantity: | |
| Public | function Normalized: TCL3MultivecQuantity; |
|
Returns the unit multivector in the same direction. Each component is divided by Norm. The physical dimension is preserved. | |
| Public | function Projection(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the projection of the multivector quantity onto a bivector quantity subspace. Defined as: Parameters
| |
| Public | function Projection(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the projection of the multivector quantity onto a multivector quantity subspace. Defined as: Parameters
| |
| Public | function Projection(const AVector: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the projection of the multivector quantity onto a trivector quantity subspace. Defined as: Parameters
| |
| Public | function Projection(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the projection of the multivector quantity onto a vector quantity subspace. Defined as: Parameters
| |
| Public | function Reciprocal: TCL3MultivecQuantity; |
|
Returns the right reciprocal of the multivector quantity: | |
| Public | function Reflection(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the reflection of the multivector quantity through a bivector quantity. Defined as: Parameters
| |
| Public | function Reflection(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the reflection of the multivector quantity through a multivector quantity. Defined as: Parameters
| |
| Public | function Reflection(const AVector: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the reflection of the multivector quantity through a trivector quantity. Defined as: Parameters
| |
| Public | function Reflection(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the reflection of the multivector quantity through a vector quantity. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the rejection of the multivector quantity from a bivector quantity subspace. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the rejection of the multivector quantity from a multivector quantity subspace. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3TrivecQuantity): TQuantity; overload; |
|
Returns the rejection of the multivector quantity from a trivector quantity subspace. Defined as: Parameters
| |
| Public | function Rejection(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the rejection of the multivector quantity from a vector quantity subspace. Defined as: Parameters
| |
| Public | function Reverse: TCL3MultivecQuantity; |
|
Returns the reverse of the multivector quantity. The reverse of a grade- | |
| Public | function Rotation(const AVector1, AVector2: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the multivector quantity rotated by the rotor defined by two bivector quantities. The rotation is applied as: Parameters
| |
| Public | function Rotation(const AVector1, AVector2: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the multivector quantity rotated by the rotor defined by two multivector quantities. The rotation is applied as: Parameters
| |
| Public | function Rotation(const AVector1, AVector2: TCL3TrivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the multivector quantity rotated by the rotor defined by two trivector quantities. The rotation is applied as: Parameters
| |
| Public | function Rotation(const AVector1, AVector2: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the multivector quantity rotated by the rotor defined by two vector quantities. The rotor is constructed as Parameters
| |
| Public | function SameValue(const AVector: TCL3BivecQuantity): boolean; |
|
Returns Parameters
| |
| Public | function SameValue(const AVector: TCL3MultivecQuantity): boolean; |
|
Returns Parameters
| |
| Public | function SameValue(const AVector: TCL3TrivecQuantity): boolean; |
|
Returns Parameters
| |
| Public | function SameValue(const AVector: TCL3VecQuantity): boolean; |
|
Returns Parameters
| |
| Public | function SameValue(const AVector: TQuantity): boolean; |
|
Returns Parameters
| |
| Public | function SquaredNorm: TQuantity; |
|
Returns the squared norm of the multivector quantity: | |
| Public | function Wedge(const AVector: TCL3BivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the outer (wedge) product of the multivector quantity and a bivector quantity. Raises the grade of each component by 2. Components of grade ≥ 2 contribute zero. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Wedge(const AVector: TCL3MultivecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the outer (wedge) product of two multivector quantities. The result is a full TCL3MultivecQuantity due to grade mixing. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Wedge(const AVector: TCL3TrivecQuantity): TCL3TrivecQuantity; overload; |
|
Returns the outer (wedge) product of the multivector quantity and a trivector quantity. Only the scalar part of the multivector contributes to a non-zero result. The result is a pure TCL3TrivecQuantity. The resulting dimension is the product of the two operand dimensions. Parameters
| |
| Public | function Wedge(const AVector: TCL3VecQuantity): TCL3MultivecQuantity; overload; |
|
Returns the outer (wedge) product of the multivector quantity and a vector quantity. Raises the grade of each component by 1. The resulting dimension is the product of the two operand dimensions. Parameters
| |
Generated by PasDoc 1.0.4.