# Interface HilbertSpace<H,F extends Field<F> & Comparable<F>>

Type Parameters:
H - a Hilbert space
All Superinterfaces:
AbelianGroup<H>, BanachSpace<H,F>, VectorSpace<H,F>
All Known Subinterfaces:
Vector
All Known Implementing Classes:
Basis, CombinedVectorByRef, DenseVector, Gradient, ImmutableVector, SparseVector, SubVectorRef, SVEC

public interface HilbertSpace<H,F extends Field<F> & Comparable<F>> extends BanachSpace<H,F>
A Hilbert space is an inner product space, an abstract vector space in which distances and angles can be measured. It is also "complete", meaning that if a sequence of vectors is Cauchy, then it converges to some limit in the space.
• ## Method Summary

Modifier and Type
Method
Description
double
angle(H that)
∠ : H × H → F
double
innerProduct(H that)
<⋅,⋅> : H × H → F

### Methods inherited from interface dev.nm.algebra.structure.AbelianGroup

add, minus, opposite, ZERO

### Methods inherited from interface dev.nm.algebra.structure.BanachSpace

norm

### Methods inherited from interface dev.nm.algebra.structure.VectorSpace

scaled
• ## Method Details

• ### innerProduct

double innerProduct(H that)
<⋅,⋅> : H × H → F

Inner product formalizes the geometrical notions such as the length of a vector and the angle between two vectors. It defines orthogonality between two vectors, where their inner product is 0.

Parameters:
that - the object to form an angle with this
Returns:
<this,that>
• ### angle

double angle(H that)
∠ : H × H → F

Inner product formalizes the geometrical notions such as the length of a vector and the angle between two vectors. It defines orthogonality between two vectors, where their inner product is 0.

Parameters:
that - the object to form an angle with this
Returns:
the angle between this and that