Exemple #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testNullTransform()
        public virtual void testNullTransform()
        {
            BitArray @fixed = new BitArray();

            @fixed.Set(0, true);
            DoubleArray start = DoubleArray.of(Math.PI / 4, 1);
            UncoupledParameterTransforms transforms = new UncoupledParameterTransforms(start, NULL_TRANSFORMS, @fixed);
            NonLinearTransformFunction   transFunc  = new NonLinearTransformFunction(FUNCTION, JACOBIAN, transforms);

            System.Func <DoubleArray, DoubleArray>  func    = transFunc.FittingFunction;
            System.Func <DoubleArray, DoubleMatrix> jacFunc = transFunc.FittingJacobian;

            DoubleArray x = DoubleArray.of(0.5);
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final double rootHalf = Math.sqrt(0.5);
            double      rootHalf = Math.Sqrt(0.5);
            DoubleArray y        = func(x);

            assertEquals(3, y.size());
            assertEquals(rootHalf * Math.Cos(0.5), y.get(0), 1e-9);
            assertEquals(rootHalf * Math.Sin(0.5), y.get(1), 1e-9);
            assertEquals(rootHalf, y.get(2), 1e-9);

            DoubleMatrix jac = jacFunc(x);

            assertEquals(3, jac.rowCount());
            assertEquals(1, jac.columnCount());
            assertEquals(-rootHalf * Math.Sin(0.5), jac.get(0, 0), 1e-9);
            assertEquals(rootHalf * Math.Cos(0.5), jac.get(1, 0), 1e-9);
            assertEquals(0, jac.get(2, 0), 1e-9);
        }
Exemple #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testNonLinearTransform()
        public virtual void testNonLinearTransform()
        {
            BitArray    @fixed = new BitArray();
            DoubleArray start  = DoubleArray.filled(2);
            UncoupledParameterTransforms transforms = new UncoupledParameterTransforms(start, TRANSFORMS, @fixed);
            NonLinearTransformFunction   transFunc  = new NonLinearTransformFunction(FUNCTION, JACOBIAN, transforms);

            System.Func <DoubleArray, DoubleArray>  func    = transFunc.FittingFunction;
            System.Func <DoubleArray, DoubleMatrix> jacFunc = transFunc.FittingJacobian;

            VectorFieldFirstOrderDifferentiator diff = new VectorFieldFirstOrderDifferentiator();

            System.Func <DoubleArray, DoubleMatrix> jacFuncFD = diff.differentiate(func);

            DoubleArray  testPoint = DoubleArray.of(4.5, -2.1);
            DoubleMatrix jac       = jacFunc(testPoint);
            DoubleMatrix jacFD     = jacFuncFD(testPoint);

            assertEquals(3, jac.rowCount());
            assertEquals(2, jac.columnCount());

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    assertEquals(jacFD.get(i, j), jac.get(i, j), 1e-6);
                }
            }
        }
Exemple #3
0
 public FuncAnonymousInnerClass2(NonLinearTransformFunction outerInstance, System.Func <DoubleArray, DoubleMatrix> jac)
 {
     this.outerInstance = outerInstance;
     this.jac           = jac;
 }
Exemple #4
0
 public FuncAnonymousInnerClass(NonLinearTransformFunction outerInstance, System.Func <DoubleArray, DoubleArray> func)
 {
     this.outerInstance = outerInstance;
     this.func          = func;
 }