KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > JSci > maths > algebras > HilbertSpace


1 package JSci.maths.algebras;
2
3 import JSci.maths.*;
4 import JSci.maths.vectors.ComplexVector;
5 import JSci.maths.groups.*;
6
7 /**
8 * The HilbertSpace class encapsulates Hilbert spaces.
9 * @jsci.planetmath HilbertSpace
10 * @version 1.0
11 * @author Mark Hale
12 */

13 public class HilbertSpace extends Object JavaDoc implements BanachSpace {
14         private int dim;
15         private ComplexVector ZERO;
16         /**
17         * Constructs a Hilbert space.
18         */

19         public HilbertSpace(int n) {
20                 dim=n;
21                 ZERO=new ComplexVector(dim);
22         }
23         /**
24         * Returns a vector from the Hilbert space.
25         */

26         public VectorSpace.Member getVector(Complex array[]) {
27                 return new ComplexVector(array);
28         }
29         /**
30         * Returns the dimension.
31         */

32         public int dimension() {
33                 return dim;
34         }
35         /**
36         * Returns the zero vector.
37         */

38         public AbelianGroup.Member zero() {
39                 return ZERO;
40         }
41         /**
42         * Returns true if the vector is equal to zero.
43         */

44         public boolean isZero(AbelianGroup.Member v) {
45                 return ZERO.equals(v);
46         }
47         /**
48         * Returns true if one vector is the negative of the other.
49         */

50         public boolean isNegative(AbelianGroup.Member a, AbelianGroup.Member b) {
51                 return ZERO.equals(a.add(b));
52         }
53
54         /**
55         * This interface defines a member of a Hilbert space.
56         */

57         public interface Member extends BanachSpace.Member {
58                 /**
59                 * The scalar product law.
60                 * @param v a Hilbert space vector
61                 */

62                 Complex scalarProduct(Member v);
63         }
64 }
65
66
Popular Tags