Cloud Constructor (DoubleMatrix, DoubleMatrix, Basis, Boolean) |
Namespace: Novacta.Analytics.Advanced
public Cloud( DoubleMatrix coordinates, DoubleMatrix weights, Basis basis, bool copyData )
Exception | Condition |
---|---|
ArgumentNullException | coordinates is null. -or- weights is null. -or- basis is null. |
ArgumentOutOfRangeException | weights is not a column vector. -or- coordinates and weights have unequal numbers of rows. -or- The Dimension of basis is not equal to the number of columns of coordinates. |
Matrix coordinates has as many rows as the number of points in the cloud. The number of columns is the dimension of the space in which the points lie.
Each row represents the coordinates of a given point in the cloud. Points are thus well ordered, and hence thoroughly identified, by the index of the row in which its coordinates are stored. As a consequence, the same order must be followed when inserting entries in the vector of weights.
The Cloud(DoubleMatrix, DoubleMatrix, Basis, Boolean) constructor prevents the copy of the elements in coordinates and weights before instantiation if copyData evaluates to false: the returned Cloud instance will instead use a direct reference to coordinates and weights.
Caution |
---|
This constructor is intended for advanced users and must always be used carefully. Do not use this constructor if you do not have complete control of the coordinates and weights instances. Once such instances are passed to the constructor as arguments, they must be treated as read-only objects outside the returned Cloud instance: you shouldn't manipulate entries via a direct reference to coordinates or weights; otherwise, the behavior of the returned Cloud instance must be considered as undefined and almost surely prone to errors. |