Exemplo n.º 1
0
 public Parameter()
 {
     this.metadata   = null;
     this.eigenvalue = null;
     this.transform  = null;
     this.resources  = null;
 }
Exemplo n.º 2
0
 public Parameter(Parameter param)
 {
     this.metadata   = param.metadata;
     this.eigenvalue = param.eigenvalue;
     this.transform  = param.transform;
     this.resources  = param.resources;
 }
Exemplo n.º 3
0
 public Parameter(MetaData metadata, Eigenvalue eigenvalue, Transform transform, Resources resources)
 {
     this.metadata   = metadata;
     this.eigenvalue = eigenvalue;
     this.transform  = transform;
     this.resources  = resources;
 }
Exemplo n.º 4
0
    public static BasicObjectProgram Generator(WorldController controller)
    {
        var id          = ObjectId.NewGuid();
        var metadata    = new MetaData(null, null, 0, 0);
        var resources   = new Resources(100);
        var eigenvalue  = new Eigenvalue();
        var transform   = new Transform();
        var parameter   = new Parameter(metadata, eigenvalue, transform, resources);
        var maskedParam = new MaskedParameter(parameter, MaskedParameter.Mask.EIGENVALUE | MaskedParameter.Mask.TRANSFORM);
        var knowledge   = new Knowledge(id, maskedParam);

        controller.credentialTable.Add(id, Credential.HashPassword(id.ToString(), Credential.HashAlgorithm.NOOP));

        var data = new BasicObjectProgram();

        data.controller = controller;
        data.knowledge  = knowledge;

        controller.objectList.Add(id, parameter);

        var objectIdPair = new ObjectIdPair();

        objectIdPair.Add(id, id);
        controller.maskedObjectList.Add(objectIdPair, maskedParam);

        return(data);
    }
Exemplo n.º 5
0
        public static void TestTridiagonalEigenvalues()
        {
            MatrixR A = new MatrixR(new double[, ] {
                { 5, 1, 2, 2, 4 },
                { 1, 1, 2, 1, 0 },
                { 2, 2, 0, 2, 1 },
                { 2, 1, 2, 1, 2 },
                { 4, 0, 1, 2, 4 }
            });
            int     nn = 5;
            MatrixR xx = new MatrixR(A.GetCols(), nn);
            MatrixR V  = Eigenvalue.Tridiagonalize(A);

            double[] lambda = Eigenvalue.TridiagonalEigenvalues(nn);
            for (int i = 0; i < nn; i++)
            {
                double  s = lambda[i] * 1.001;
                double  lam;
                VectorR x = Eigenvalue.TridiagonalEigenvector(s, 1e-8, out lam);
                for (int j = 0; j < A.GetCols(); j++)
                {
                    xx[j, i] = x[j];
                }
            }
            xx = V * xx;

            Console.WriteLine("\n Results from the tridiagonalization method:");
            Console.WriteLine("\n Eigenvalues: \n ({0,10:n6}  {1,10:n6}  {2,10:n6}  {3,10:n6}  {4,10:n6})", lambda[0], lambda[1], lambda[2], lambda[3], lambda[4]);
            Console.WriteLine("\n Eigenvectors:");
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(" ({0,10:n6}  {1,10:n6}  {2,10:n6}  {3,10:n6}  {4,10:n6})", xx[i, 0], xx[i, 1], xx[i, 2], xx[i, 3], xx[i, 4]);
            }



            A = new MatrixR(new double[, ] {
                { 5, 1, 2, 2, 4 },
                { 1, 1, 2, 1, 0 },
                { 2, 2, 0, 2, 1 },
                { 2, 1, 2, 1, 2 },
                { 4, 0, 1, 2, 4 }
            });

            MatrixR xm;
            VectorR lamb;

            Eigenvalue.Jacobi(A, 1e-8, out xm, out lamb);

            Console.WriteLine("\n\n Results from the Jacobi method:");
            Console.WriteLine("\n Eigenvalues: \n ({0,10:n6}  {1,10:n6}  {2,10:n6}  {3,10:n6}  {4,10:n6})", lamb[4], lamb[3], lamb[2], lamb[1], lamb[0]);
            Console.WriteLine("\n Eigenvectors:");
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(" ({0,10:n6}  {1,10:n6}  {2,10:n6}  {3,10:n6}  {4,10:n6})", xm[i, 4], xm[i, 3], xm[i, 2], xm[i, 1], xm[i, 0]);
            }
        }
Exemplo n.º 6
0
 public Eigenvalue(Eigenvalue value)
 {
     this.value = value.value;
 }