Table of Contents

Class BasisIncompleteOrdered

Namespace
NanoQL.Numerics
Assembly
NanoQL.dll

An orthonormal basis built by Gram-Schmidt from vectors added in order, each kept where it is independent of those before it.

[WorkingType]
public sealed class BasisIncompleteOrdered
Inheritance
BasisIncompleteOrdered
Inherited Members

Remarks

A working type: each added vector changes it, and it isn't thread-safe.

Constructors

BasisIncompleteOrdered(int)

Initializes a new instance of the BasisIncompleteOrdered class.

public BasisIncompleteOrdered(int euclideanDimension)

Parameters

euclideanDimension int

The space's dimension.

Exceptions

ArgumentOutOfRangeException

euclideanDimension is negative.

Properties

BasisSize

Gets the number of vectors in the basis.

public int BasisSize { get; }

Property Value

int

EuclideanDimension

Gets the space's dimension.

public int EuclideanDimension { get; }

Property Value

int

Methods

AddVector(ReadOnlySpan<double>)

Adds a vector: its part orthogonal to the basis, normalized, where its norm is at least 1e-12.

public bool AddVector(ReadOnlySpan<double> newVector1)

Parameters

newVector1 ReadOnlySpan<double>

The vector, of the space's dimension.

Returns

bool

Whether the vector was linearly independent of the basis, and added.

Exceptions

ArgumentException

The vector isn't of the space's dimension.

GetBasisAsRowsInMatrix()

The basis, a vector a row.

public Matrix GetBasisAsRowsInMatrix()

Returns

Matrix

A new matrix of the basis size by the space's dimension.