SDL Component Suite - Vector

The class TVector offers some of the more important procedures for processing real-valued vectors. It hides all stuff dealing with array addressing and memory management. Thus, the user may fully concentrate on his/her work with vectors. Please note, that TVector is not a package for vector analysis. It is just a class which supports the handling of multidimensional data ('vectors') - although some common procedures of fundamental vector analysis are included.

The class TVector offers the following routines:

  • filling of vectors
  • copying of vectors
  • addition and subtraction of vectors
  • vector multiplication (scalar and dot product)
  • normalization of vectors
  • determination of minimum and maximum values
  • calculation of mean values, variance and other statistical parameters of the vector elements
The unit VECTOR is part of the SDL Component Suite. More details can be found in the online help pages.


What's new:

  • Release 12.0   [Dec-12, 2023]
     
  • Release 10.7   [Aug-24, 2020]
     
  • Release 10.6   [Mar-09, 2018]
     
    • the new method FindExact compares all elements of an integer vector to a given value
    • the two new methods CopyToArray and CopyFromArray allow to copy data between arrays and a TVector
    • bug fix: TVector.Histogram and TIntVector.Histogram created one bin less than required

  • Release 10.5   [Oct-10, 2016]
     
    • the classes TIntVector and TVector support now the Assign method
    • the new method PearsonCorrCoeff calculates Pearson's correlation coefficient of two vectors

  • Release 10.4   [Jun-02, 2015]
     
    • the method MakeValidElemRange checks and corrects vector indices
    • the new method QNormalize allows to normalize the vector data to zero median and a unit quantile
    • the method AbsVal replaces the vector elements by their absolute values
    • the method MinMax offers now a second overloaded version returning the indices of the extreme values
    • the methods FillRandomUniform and FillRandomGauss fill the vector with random numbers

  • Release 10.3   [Oct-06, 2014]
     
    • the new method Integrate allows to calculate a definite integral
    • TIntVector now provides the method Histogram

  • Release 10.2   [May-30, 2013]
     
    • the new method EuclideanDistance calculates the Euclidean distance between two points in n-dimensional space

  • Release 10.1   [Oct-29, 2012]
     
  • Release 10.0   [Oct-4, 2011]
     
  • Release 9.7   [May-31, 2010]
     
  • Release 9.51   [Dec-01, 2008]
     
    • no changes

  • Release 9.5   [Oct-31, 2008]
     
    • new method Find searches a particular value in the vector
    • new method Mode calculates the Mode of a sample distribution given by the vector elements
    • bug fix: methods Quartiles and Percentile calculate now more appropriate values for very small samples

  • Release 9.0   [May-28, 2007]
     
  • Release 8.5   [Feb-18, 2006]
     
    • bug fix: method Percentile now calculates correct values (bug emerged only for less than 100 selected elements)

  • Release 8.2   [Nov-03, 2004]
     
    • bug fix: SortElems of TIntVector is again available (has been discarded by mistake)

  • Release 8.1   [Aug-29, 2004]
     
    • available for Delphi™ 8 for .NET

  • Release 8.0   [Apr-15, 2004]
     
    • TVector and TIntVector are now components (no longer inherited from TObject)
    • new method Correlate implemented
    • property DataID is now published
    • NrOfElems is no longer read-only and published

  • Release 7.2   [Mar-23, 2003]
     
    • VECTOR is now part of MathPack
    • TVector and TIntVector are now components (no longer inherited from TObject)
    • NrOfElems is no longer read-only and published
    • property DataID is now published

  • Release 7.0   [Sep-15, 2002]
     
    • available for Delphi™ 7.0
    • the unit is now CLX compatible
    • Percentile function implemented

  • Release 6.5   [May-28, 2002]
     
    • available for C++Builder™ 6.0
    • bug fix: indexes of vector elements are handled using integer variables (instead of word)

  • Release 6.0   [Aug-06, 2001]
     
    • available for Delphi™ 6.0
    • new method SkewKurtSample of class TVector and TIntVector implemented
    • new methods GeometricMean and HarmonicMean implemented
       
  • Release 5.5   [May-01, 2000]
     
    • available for C++Builder™ 5.0
       
  • Release 5.0   [Oct-07, 1999]
     
    • VECTOR is now available for Delphi™ 5.0
       
  • Release 1.8    [Mar-24, 1999]
     
    • VECTOR is now available for C++Builder™ 4.0
    • method Clone implemented
    • method Resize now does not execute if the new dimensions are equal to the old ones
    • method SortElems implemented
    • property Elem is now default property
       
  • Release 1.7   [Aug-17, 1998]
     
    • VECTOR is now available for Delphi™ 4.0
    • method Histogram implemented (TVector)
    • bug in documentation concerning Quartiles fixed
       
  • Release 1.6 [Apr-09, 1998]
     
    • VECTOR is now available for all versions of Delphi™ (1.0, 2.0, 3.0), and for C++Builder™ (1.0 and 3.0)
    • class TIntVector implemented
    • ESDLVectorError implemented (formerly ELocompError of DCOMMON)
    • DCommon no longer needed
    • OnChange event implemented new method
    • Changed implemented
    • method Quartiles implemented
    • create now initializes vector to zero elements
    • method Sum implemented
    • bug fixed which caused strange behavior for zero or negative vector dimensions on create
       
  • Release 1.5 [May-28, 1997]
     
    • VECTOR is now available for all three versions of Delphi™ and for C++Builder™
    • bug fix: destroy was not declared as "override" --> resulted in memory allocation problems with "Free"