Record TCVecQuantity

Unit

Declaration

type generic TCVecQuantity<TSpace> = record

Description

Generic column vector of complex physical quantities (TComplexQuantity) with TSpace.N components.

Each component carries the same physical dimension, stored in FDim. Supports arithmetic operations with dimensional consistency checking. When ADIMOFF is defined, degenerates to the corresponding TCVector specialization. Concrete types are provided as TC2VecQuantity, TC3VecQuantity, and TC4VecQuantity.

Overview

Nested Types

Public TCMatrixQuantity = specialize TCMatrixQuantity<TSpace>;
Public TCVector = specialize TCVector<TSpace>;

Methods

Public function Normalize: TCVecQuantity;
Public class operator *(const ALeft: TCMatrixQuantity; const ARight: TCVecQuantity): TCVecQuantity;
Public class operator *(const ALeft: TCVecQuantity; const ARight: TCMatrixQuantity): TCVecQuantity;
Public class operator *(const ALeft, ARight: TCVecQuantity): TComplexQuantity;
Public class operator *(const ALeft: TCVecQuantity; const ARight: TQuantity): TCVecQuantity;
Public class operator *(const ALeft: TCVector; const ARight: TCVecQuantity): TComplexQuantity;
Public class operator *(const ALeft: TQuantity; const ARight: TCVecQuantity): TCVecQuantity;
Public class operator +(const AValue: TCVecQuantity): TCVecQuantity;
Public class operator +(const ALeft, ARight: TCVecQuantity): TCVecQuantity;
Public class operator -(const AValue: TCVecQuantity): TCVecQuantity;
Public class operator -(const ALeft, ARight: TCVecQuantity): TCVecQuantity;
Public class operator /(const ALeft: TCVecQuantity; const ARight: TQuantity): TCVecQuantity;
Public class operator /(const ALeft: TQuantity; const ARight: TCVecQuantity): TCVecQuantity;
Public class operator :=(const AValue: TCVector): TCVecQuantity;
Public class operator <>(const ALeft, ARight: TCVecQuantity): boolean;
Public class operator =(const ALeft, ARight: TCVecQuantity): boolean;

Properties

Public property a[ARow: longint]: TComplexQuantity read Get write Put; default;

Description

Nested Types

Public TCMatrixQuantity = specialize TCMatrixQuantity<TSpace>;

This item has no description.

Public TCVector = specialize TCVector<TSpace>;

This item has no description.

Methods

Public function Normalize: TCVecQuantity;

Returns the unit vector in the same direction. The dimension is preserved; only the numerical values are normalized.

Public class operator *(const ALeft: TCMatrixQuantity; const ARight: TCVecQuantity): TCVecQuantity;

Returns the product of a complex quantity matrix and a complex quantity vector: v' = A·v. The resulting dimension is the product of the two dimensions.

Public class operator *(const ALeft: TCVecQuantity; const ARight: TCMatrixQuantity): TCVecQuantity;

Returns the product of a complex quantity vector and a complex quantity matrix: v' = v·A. The resulting dimension is the product of the two dimensions.

Public class operator *(const ALeft, ARight: TCVecQuantity): TComplexQuantity;

Returns the dot product of two complex quantity vectors. u·v = Σ uᵢ·vᵢ. The resulting dimension is the product of the two dimensions.

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

Returns the product of a complex quantity vector and a real quantity scalar. The resulting dimension is the product of the two dimensions.

Public class operator *(const ALeft: TCVector; const ARight: TCVecQuantity): TComplexQuantity;

Returns the dot product of a dimensionless complex vector and a complex quantity vector. u·v = Σ uᵢ·vᵢ. The dimension of the result equals the dimension of ARight.

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

Returns the product of a real quantity scalar and a complex quantity vector. The resulting dimension is the product of the two dimensions.

Public class operator +(const AValue: TCVecQuantity): TCVecQuantity;

Unary plus. Returns the complex quantity vector unchanged.

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

Returns the component-wise sum of two complex quantity vectors. Both operands must have the same dimension.

Public class operator -(const AValue: TCVecQuantity): TCVecQuantity;

Unary minus. Returns the negation of the complex quantity vector.

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

Returns the component-wise difference of two complex quantity vectors. Both operands must have the same dimension.

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

Returns the complex quantity vector divided by a real quantity scalar. The resulting dimension is the ratio of the two dimensions.

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

Returns the quotient of a real quantity scalar divided by a complex quantity vector. Each component becomes ALeft/vᵢ. The resulting dimension is the ratio of the two dimensions.

Public class operator :=(const AValue: TCVector): TCVecQuantity;

Implicit conversion from a dimensionless complex vector to a complex quantity vector. The resulting vector has a scalar (dimensionless) dimension.

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

Returns True if the two vectors differ in dimension or in at least one component.

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

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

Properties

Public property a[ARow: longint]: TComplexQuantity read Get write Put; default;

Provides access to individual vector components using a 1-based index. Each component is returned as a TComplexQuantity carrying the vector's dimension.


Generated by PasDoc 1.0.4.