Example usage for org.apache.commons.math3.linear ArrayRealVector getDistance

List of usage examples for org.apache.commons.math3.linear ArrayRealVector getDistance

Introduction

In this page you can find the example usage for org.apache.commons.math3.linear ArrayRealVector getDistance.

Prototype

@Override
public double getDistance(RealVector v) throws DimensionMismatchException 

Source Link

Usage

From source file:Gravitation_package.SystemeDeParticules.java

public ArrayRealVector CalculerChampGravitationSurLieu(ArrayRealVector VecteurLieu) {

    /** Calcule le champ de (force de) gravitation  un endroit donn
    parcourir toutes les particules//  w ww. j a  v a2s . c o m
        dterminer sa distance au lieu de calcul
        calculer sa force d'attraction sur le lieu (vecteur)
    retourner en vecteur la somme des vecteurs force **/

    ArrayRealVector force = new ArrayRealVector(2);

    for (int indice = 0; indice < this.getLesParticulesDuSysteme().size(); indice++) {
        Particule uneParticule = (Particule) this.getLesParticulesDuSysteme().get(indice);
        ArrayRealVector vPos = new ArrayRealVector(2);
        vPos = uneParticule.getVectPosition();
        double laDistanceAbsolue;
        laDistanceAbsolue = VecteurLieu.getDistance(vPos);

        if (laDistanceAbsolue != 0) {
            //                force.setEntry(COORD_X,K*masse/pow(laDistanceAbsolue,2)*distanceX/laDistanceAbsolue);
            //                force.setEntry(COORD_Y,K*masse/pow(laDistanceAbsolue,2)*distanceY/laDistanceAbsolue);
            force = (ArrayRealVector) vPos.mapDivide(laDistanceAbsolue);
            //else
            //    force = new Vecteur2D(0,0);
        }
    }
    return force;
}

From source file:syncleus.gremlann.train.Backprop.java

/**
 * //from w  w w.  j  a  v a  2s .c o m
 * @param input
 * @param expectedOutput
 * @param train
 * @return error rate
 */
public double associate(RealVector input, RealVector expectedOutput, boolean train) {

    brain.input(true, array(input));

    ArrayRealVector o = brain.outputSignals();
    double distance = o.getDistance(expectedOutput);

    if (train) {
        Set<Vertex> outputs = brain.traverseOutputNeurons().toSet();

        int j = 0;
        for (Vertex outputNeuron : outputs) {
            double expected = expectedOutput.getEntry(j);
            double outputSignal = signal(outputNeuron);
            double dt = (expected - outputSignal)
                    * getActivationFunction().activateDerivative(activity(outputNeuron));

            set(outputNeuron, "deltaTrain", dt);
            j++;
        }

        brain.iterateNeuronsBackward(outputs, new Function<Vertex, Boolean>() {
            @Override
            public Boolean apply(Vertex f) {
                //if (isTrue(f,"input")) return false;
                backpropagate(f);
                return true;
            }
        });

    }

    return distance;
}