Record TCL3TrivecQuantity

Unit

Declaration

type TCL3TrivecQuantity = record

Description

Represents a pure trivector (grade-3 element) of Cl(3,0) with physical dimensions.

Combines a TCL3Trivector value with a TDimension, supporting geometric algebra arithmetic while preserving dimensional consistency. The physical dimension is stored in FDim and shared by the single pseudoscalar component m123·e₁∧e₂∧e₃.

When combined with elements of other grades the result is promoted to a full TCL3MultivecQuantity. When the symbol ADIMOFF is defined, this type degenerates to TCL3Trivector and all dimension checking is disabled.

Overview

Methods

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

Description

Methods

Public class operator *(const ALeft: TCL3MultivecQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the geometric product of a multivector quantity and a trivector quantity. The resulting dimension is the product of the two dimensions. Grade mixing occurs according to the Cl(3,0) multiplication rules.

Public class operator *(const ALeft: TCL3TrivecQuantity; const ARight: TCL3MultivecQuantity): TCL3MultivecQuantity;

Returns the geometric product of a trivector quantity and a multivector quantity. The resulting dimension is the product of the two dimensions. Grade mixing occurs according to the Cl(3,0) multiplication rules.

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

Returns the geometric product of two trivector quantities. Since e₁₂₃² = -1, the result is a scalar quantity: (m123₁·e₁₂₃) · (m123₂·e₁₂₃) = -m123₁·m123₂. The resulting dimension is the product of the two dimensions.

Public class operator *(const ALeft: TCL3TrivecQuantity; const ARight: TQuantity): TCL3TrivecQuantity;

Returns the geometric product of a trivector quantity and a real quantity scalar. The coefficient m123 is scaled by ARight. The resulting dimension is the product of the two dimensions.

Public class operator *(const ALeft: TQuantity; const ARight: TCL3TrivecQuantity): TCL3TrivecQuantity;

Returns the geometric product of a real quantity scalar and a trivector quantity. The coefficient m123 is scaled by ALeft. The resulting dimension is the product of the two dimensions.

Public class operator +(const ALeft: TCL3MultivecQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the sum of a multivector quantity and a trivector quantity. Both operands must have the same dimension.

Public class operator +(const ALeft: TCL3TrivecQuantity; const ARight: TCL3MultivecQuantity): TCL3MultivecQuantity;

Returns the sum of a trivector quantity and a multivector quantity. Both operands must have the same dimension.

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

Returns the sum of two trivector quantities. Both operands must have the same dimension. The result is a pure trivector quantity.

Public class operator +(const ALeft: TCL3TrivecQuantity; const ARight: TQuantity): TCL3MultivecQuantity;

Returns the sum of a trivector quantity and a real quantity. Both operands must have the same dimension. The result is a full multivector quantity with the scalar part from ARight and grade-3 part from ALeft.

Public class operator +(const ALeft: TQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the sum of a real quantity and a trivector quantity. Both operands must have the same dimension. The result is a full multivector quantity with the scalar part from ALeft and grade-3 part from ARight.

Public class operator -(const ALeft: TCL3MultivecQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the difference of a multivector quantity and a trivector quantity. Both operands must have the same dimension.

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

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

Public class operator -(const ALeft: TCL3TrivecQuantity; const ARight: TCL3MultivecQuantity): TCL3MultivecQuantity;

Returns the difference of a trivector quantity and a multivector quantity. Both operands must have the same dimension.

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

Returns the difference of two trivector quantities. Both operands must have the same dimension. The result is a pure trivector quantity.

Public class operator -(const ALeft: TCL3TrivecQuantity; const ARight: TQuantity): TCL3MultivecQuantity;

Returns the difference of a trivector quantity and a real quantity. Both operands must have the same dimension. The result is a full multivector quantity with negated scalar part from ARight and grade-3 part from ALeft.

Public class operator -(const ALeft: TQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the difference of a real quantity and a trivector quantity. Both operands must have the same dimension. The result is a full multivector quantity with scalar part from ALeft and negated grade-3 part from ARight.

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

Returns the geometric quotient of a dimensionless real scalar divided by a trivector quantity: ALeft * ARight⁻¹. The resulting dimension is the inverse of ARight.

Public class operator /(const ALeft: TCL3MultivecQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the geometric quotient of a multivector quantity divided by a trivector quantity: ALeft * ARight⁻¹. The resulting dimension is the ratio of the two dimensions.

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

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

Public class operator /(const ALeft: TCL3TrivecQuantity; const ARight: TCL3MultivecQuantity): TCL3MultivecQuantity;

Returns the geometric quotient of a trivector quantity divided by a multivector quantity: ALeft * ARight⁻¹. The resulting dimension is the ratio of the two dimensions.

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

Returns the geometric quotient of two trivector quantities: ALeft * ARight⁻¹. Since e₁₂₃² = -1, the result is a scalar quantity: (m123₁·e₁₂₃) / (m123₂·e₁₂₃) = -m123₁/m123₂. The resulting dimension is the ratio of the two dimensions.

Public class operator /(const ALeft: TCL3TrivecQuantity; const ARight: TQuantity): TCL3TrivecQuantity;

Returns the geometric quotient of a trivector quantity divided by a real quantity scalar: ALeft * ARight⁻¹. The resulting dimension is the ratio of the two dimensions.

Public class operator /(const ALeft: TQuantity; const ARight: TCL3TrivecQuantity): TCL3TrivecQuantity;

Returns the geometric quotient of a real quantity scalar divided by a trivector quantity: ALeft * ARight⁻¹. The resulting dimension is the ratio of the two dimensions.

Public class operator :=(const AValue: TCL3TrivecQuantity): TCL3MultivecQuantity;

Implicit conversion from a trivector quantity to a full multivector quantity. All components of the result are zero except m123. The dimension is preserved.

Public class operator <>(const ALeft: TCL3MultivecQuantity; const ARight: TCL3TrivecQuantity): boolean;

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

Public class operator <>(const ALeft: TCL3TrivecQuantity; const ARight: TCL3MultivecQuantity): boolean;

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

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

Returns True if the two trivector quantities differ in dimension or in their m123 coefficient.

Public class operator =(const ALeft: TCL3MultivecQuantity; const ARight: TCL3TrivecQuantity): boolean;

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

Public class operator =(const ALeft: TCL3TrivecQuantity; const ARight: TCL3MultivecQuantity): boolean;

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

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

Returns True if both trivector quantities have the same dimension and equal m123 coefficients.


Generated by PasDoc 1.0.4.