Record TCL3BivecQuantity

Unit

Declaration

type TCL3BivecQuantity = record

Description

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

Combines a TCL3Bivector value with a TDimension, supporting geometric algebra arithmetic while preserving dimensional consistency. The physical dimension is stored in FDim and shared by the three bivector components m12·e₁∧e₂ + m13·e₁∧e₃ + m23·e₂∧e₃.

When combined with elements of other grades the result is promoted to a full TCL3MultivecQuantity. The geometric product of two bivector quantities produces a mixed-grade result (scalar + bivector), hence a full TCL3MultivecQuantity. When the symbol ADIMOFF is defined, this type degenerates to TCL3Bivector and all dimension checking is disabled.

Overview

Methods

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

Description

Methods

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

Returns the geometric product of two bivector quantities. The result is a mixed-grade element (scalar + bivector), hence a full TCL3MultivecQuantity. The resulting dimension is the product of the two dimensions.

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

Returns the geometric product of a bivector 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: TCL3BivecQuantity; const ARight: TCL3TrivecQuantity): TCL3MultivecQuantity;

Returns the geometric product of a bivector 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: TCL3BivecQuantity; const ARight: TQuantity): TCL3BivecQuantity;

Returns the geometric product of a bivector quantity and a real quantity scalar. Each component is scaled by ARight. The resulting dimension is the product of the two dimensions.

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

Returns the geometric product of a multivector quantity and a bivector 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: TCL3BivecQuantity): TCL3MultivecQuantity;

Returns the geometric product of a trivector quantity and a bivector 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: TQuantity; const ARight: TCL3BivecQuantity): TCL3BivecQuantity;

Returns the geometric product of a real quantity scalar and a bivector quantity. Each component is scaled by ALeft. The resulting dimension is the product of the two dimensions.

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

Returns the component-wise sum of two bivector quantities. Both operands must have the same dimension. The result is a pure bivector quantity.

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

Returns the sum of a bivector quantity and a multivector quantity. Both operands must have the same dimension. The bivector contributes only to the grade-2 components.

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

Returns the sum of a bivector quantity and a trivector quantity. Both operands must have the same dimension. The result is a full multivector quantity with grade-2 components from ALeft and grade-3 component from ARight.

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

Returns the sum of a bivector quantity and a real quantity. Both operands must have the same dimension. The result is a full multivector quantity with m0 = ARight and the bivector components of ALeft.

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

Returns the sum of a multivector quantity and a bivector quantity. Both operands must have the same dimension. The bivector contributes only to the grade-2 components.

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

Returns the sum of a trivector quantity and a bivector quantity. Both operands must have the same dimension. The result is a full multivector quantity with grade-3 component from ALeft and grade-2 components from ARight.

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

Returns the sum of a real quantity and a bivector quantity. Both operands must have the same dimension. The result is a full multivector quantity with m0 = ALeft and the bivector components of ARight.

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

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

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

Returns the component-wise difference of two bivector quantities. Both operands must have the same dimension. The result is a pure bivector quantity.

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

Returns the difference of a bivector quantity and a multivector quantity. Both operands must have the same dimension. The bivector contributes only to the grade-2 components.

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

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

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

Returns the difference of a bivector quantity and a real quantity. Both operands must have the same dimension. The result is a full multivector quantity with m0 = -ARight and the bivector components of ALeft.

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

Returns the difference of a multivector quantity and a bivector quantity. Both operands must have the same dimension. The bivector contributes only to the grade-2 components.

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

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

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

Returns the difference of a real quantity and a bivector quantity. Both operands must have the same dimension. The result is a full multivector quantity with m0 = ALeft and negated bivector components of ARight.

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

Returns the geometric quotient of a dimensionless real scalar divided by a bivector quantity: ALeft * ARight⁻¹. The inverse of a bivector B is B⁻¹ = -B / |B|². The resulting dimension is the inverse of ARight.

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

Returns the geometric quotient of a bivector quantity divided by a dimensionless real scalar. Each component is divided by ARight. The dimension is preserved.

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

Returns the geometric quotient of two bivector quantities: ALeft * ARight⁻¹. The result is a mixed-grade element, hence a full TCL3MultivecQuantity. The resulting dimension is the ratio of the two dimensions.

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

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

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

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

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

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

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

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

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

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

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

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

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

Implicit conversion from a bivector quantity to a full multivector quantity. All components of the result are zero except m12, m13, m23. The dimension is preserved.

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

Returns True if the two bivector quantities differ in dimension or in any bivector component.

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

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

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

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

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

Returns True if both bivector quantities have the same dimension and all corresponding components are equal.

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

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

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

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


Generated by PasDoc 1.0.4.