AUSTRA

Represents a dense complex vector of arbitrary size.

C#

```
public readonly struct CVector : IFormattable,
IEnumerable<Complex>, IEnumerable, IEquatable<CVector>,
IEqualityOperators<CVector, CVector, bool>, IAdditionOperators<CVector, CVector, CVector>,
IAdditionOperators<CVector, Complex, CVector>, IAdditionOperators<CVector, double, CVector>,
ISubtractionOperators<CVector, CVector, CVector>, ISubtractionOperators<CVector, Complex, CVector>,
ISubtractionOperators<CVector, double, CVector>, IMultiplyOperators<CVector, CVector, Complex>,
IMultiplyOperators<CVector, Complex, CVector>, IMultiplyOperators<CVector, double, CVector>,
IUnaryNegationOperators<CVector, CVector>, IPointwiseOperators<CVector>,
ISafeIndexed, IVector, IIndexable
```

- Implements
- IIndexable, IPointwiseOperatorsCVector, ISafeIndexed, IVector, IEnumerableComplex, IEnumerable, IEquatableCVector, IFormattable, IAdditionOperatorsCVector, CVector, CVector, IAdditionOperatorsCVector, Complex, CVector, IAdditionOperatorsCVector, Double, CVector, IEqualityOperatorsCVector, CVector, Boolean, IMultiplyOperatorsCVector, CVector, Complex, IMultiplyOperatorsCVector, Complex, CVector, IMultiplyOperatorsCVector, Double, CVector, ISubtractionOperatorsCVector, CVector, CVector, ISubtractionOperatorsCVector, Complex, CVector, ISubtractionOperatorsCVector, Double, CVector, IUnaryNegationOperatorsCVector, CVector

For the sake of acceleration, the vector's components are stored in two separate arrays.
Most operations are non-destructive.

CVector(Complex) | Creates a complex vector for a complex value. |

CVector(Complex) | Initializes a complex vector from a complex array. |

CVector(Double) | Creates a complex vector for a real value. |

CVector(DVector) | Creates a complex vector from a real vector. |

CVector(Int32) | Creates a complex vector of a given size. |

CVector(Complex, Complex) | Creates a complex vector from two complex values. |

CVector(Double, Double) | Creates a complex vector from two real values. |

CVector(Double, Double) | Creates a complex vector from separate component arrays. |

CVector(DVector, DVector) | Creates a complex vector from two real vectors. |

CVector(Int32, NormalRandom) | Creates a vector filled with a normal distribution generator. |

CVector(Int32, FuncInt32, CVector, Complex) | Creates a vector using a formula to fill its items. |

CVector(Int32, FuncInt32, Complex) | Creates a vector using a formula to fill its items. |

CVector(Int32, Random) | Creates a vector filled with a uniform distribution generator. |

CVector(Int32, Random, Double, Double) | Creates a vector filled with a uniform distribution generator. |

First | Gets the first complex in the vector. |

Imaginary | Gets the imaginary part of the complex numbers in this vector. |

IsInitialized | Has the vector been properly initialized? |

ItemIndex | Gets the component at a given index. |

ItemInt32 | Gets or sets the component at a given index. |

ItemRange | Extracts a slice from the vector. |

Last | Gets the last complex in the vector. |

Length | Gets the dimensions of the vector. |

Real | Gets the real part of the complex numbers in this vector. |

AbsMax | Gets maximum absolute magnitude in the vector. |

AbsMin | Gets minimum absolute magnitude in the vector. |

All | Checks whether the predicate is satisfied by all items. |

Any | Checks whether the predicate is satisfied by at least one item. |

Clone | Creates an identical vector. |

Conjugate | Creates a new complex vector with conjugated values. |

Contains | Checks if the vector contains the given value. |

Deconstruct | Deconstructs the vector into a tuple of real and imaginary vectors. |

Distinct | Returns a new vector with the distinct values in the original one. |

Equals(CVector) | Checks if the provided argument is a vector with the same values. |

Equals(Object) | Checks if the provided argument is a complex vector with the same values. (Overrides ValueTypeEquals(Object)) |

Fft | Computes the real discrete Fourier transform. |

Filter | Creates a new vector by filtering items with the given predicate. |

FilterMap | Creates a new vector by filtering and mapping at the same time. |

Find(Complex) | Returns all indexes containing ocurrences of a value. |

Find(FuncComplex, Boolean) | Returns all indexes satisfying a condition. |

GetEnumerator | Retrieves an enumerator to iterate over components. |

GetHashCode | Returns the hashcode for this complex vector. (Overrides ValueTypeGetHashCode) |

GetType | Gets the Type of the current instance. (Inherited from Object) |

IndexOf(Complex) | Returns the zero-based index of the first occurrence of a value. |

IndexOf(Complex, Int32) | Returns the zero-based index of the next occurrence of a value. |

InplaceAdd | Inplace addition of two vectors. |

InplaceNegate | Inplace negation of the vector. |

InplaceSub | Inplace substraction of two vectors. |

Magnitudes | Gets a vector containing the magnitudes of the complex numbers in this vector. |

Map | Creates a new vector by transforming each item with the given function. |

MapReal | Creates a real vector by transforming each item with the given function. |

Mean | Computes the mean of the vector's items. |

MultiplyAdd | Optimized vector multiplication and addition. |

MultiplySubtract | Optimized vector scaling and subtraction. |

Norm | Gets the Euclidean norm of this vector. |

Phases | Gets a vector containing the phases of the complex numbers in this vector. |

Plot | Creates a plot for this vector. |

PointwiseDivide | Pointwise division. |

PointwiseMultiply | Pointwise multiplication. |

Product | Calculates the product of the vector's items. |

Reduce | Creates an aggregate value by applying the reducer to each item. |

Reverse | Creates a reversed copy of the vector. |

SafeThis | Safe access to the vector's components. If the index is out of range, a zero is returned. |

Squared | Gets the squared norm of this vector. |

SubtractMultiply | Optimized subtraction of scaled vector. |

Sum | Calculates the sum of the vector's items. |

ToString | Gets a textual representation of this vector. (Overrides ValueTypeToString) |

ToString(String, IFormatProvider) | Gets a textual representation of this vector. |

Zip | Combines the common prefix of two vectors. |

Addition(Complex, CVector) | Adds a complex scalar to a complex vector. |

Addition(CVector, CVector) | Adds two complex vectors. |

Addition(CVector, Double) | Adds a double scalar to a complex vector. |

Addition(CVector, Complex) | Adds a complex scalar to a complex vector. |

Addition(Double, CVector) | Adds a double scalar to a complex vector. |

Division(CVector, Double) | Divides a complex vector by a scalar. |

Division(CVector, Complex) | Divides a complex vector by a complex value. |

Equality(CVector, CVector) | Compares two complex vectors for equality. |

(CVector to Complex) | Explicit conversion from vector to array. |

Inequality(CVector, CVector) | Compares two complex vectors for inequality. |

Multiply(Complex, CVector) | Multiplies a complex scalar value by a vector. |

Multiply(CVector, CVector) | Dot product of two vectors. |

Multiply(CVector, Double) | Multiplies a vector by a scalar value. |

Multiply(CVector, Complex) | Multiplies a vector by a scalar value. |

Multiply(Double, CVector) | Multiplies a real scalar value by a vector. |

Subtraction(Complex, CVector) | Subtracts a vector from a scalar. |

Subtraction(CVector, CVector) | Subtracts two complex vectors. |

Subtraction(CVector, Double) | Subtracts a scalar from a complex vector. |

Subtraction(CVector, Complex) | Subtracts a scalar from a complex vector. |

Subtraction(Double, CVector) | Subtracts a vector from a scalar. |

UnaryNegation(CVector) | Negates a complex vector. |

Copyright © by Intuitive Sight, 2023