Package edu.ucla.sspace.vector

Examples of edu.ucla.sspace.vector.SparseHashDoubleVector


            lockColumn(column, r);
        // Ensure that the column data is up to date
        while (lastVectorCacheUpdate.get() != modifications.get())
            updateVectorCache();
        int[] rowArr = colToRowsCache[column];
        SparseDoubleVector colVec = new SparseHashDoubleVector(r);
        for (int row : rowArr)
            colVec.set(row, matrixEntries.get(new Entry(row, column)));
        if (shouldLock)
            unlockColumn(column, r);
        return colVec;
    }
View Full Code Here


            lockRow(row, c);
        // Ensure that the column data is up to date
        while (lastVectorCacheUpdate.get() != modifications.get())
            updateVectorCache();
        int[] colArr = rowToColsCache[row];
        SparseDoubleVector rowVec = new SparseHashDoubleVector(c);
        for (int column : colArr)
            rowVec.set(column, matrixEntries.get(new Entry(row, column)));
        if (shouldLock)
            unlockRow(row, c);
        return rowVec;
    }
View Full Code Here

                // results at least once.  Therefore do the normalization here
                // once to save cost.
                int length = sumVector.length();
                double d = 1d / indices.size();
                if (sumVector instanceof SparseVector) {
                    centroid = new SparseHashDoubleVector(length);
                    SparseVector sv = (SparseVector)sumVector;
                    for (int nz : sv.getNonZeroIndices())
                        centroid.set(nz, sumVector.get(nz) * d);
                }
                else {
View Full Code Here

    public void add(int index, DoubleVector v) {
        boolean added = indices.add(index);
        assert added : "Adding duplicate indices to candidate facility";
        if (sumVector == null) {
            sumVector = (v instanceof SparseVector)
                ? new SparseHashDoubleVector(v)
                : new DenseVector(v);
        }
        else {
            VectorMath.add(sumVector, v);
            centroid = null;
View Full Code Here

                // Get the temprorary semantics for the focus word, create a new
                // vector for them if needed.
                SparseDoubleVector focusSemantics = wordDocSemantics.get(
                        focusWord);
                if (focusSemantics == null) {
                    focusSemantics = new SparseHashDoubleVector(
                            Integer.MAX_VALUE);
                    wordDocSemantics.put(focusWord, focusSemantics);
                }

                // Process the previous words.
View Full Code Here

        int numDims = termToIndex.numDimensions();

        // Iterate through the document's tokens and build the document
        // representation for those terms that have an existing basis in the
        // space
        SparseDoubleVector docVec = new SparseHashDoubleVector(numDims);
        while (docTokens.hasNext()) {
            int dim = termToIndex.getDimension(docTokens.next());
            if (dim >= 0)
                docVec.add(dim, 1d);
        }       
       
        // Transform the vector according to this instance's transform's state,
        // which should normalize the vector as the original vectors were.
        DoubleVector transformed = transform.transform(docVec);

        // Represent the document as a 1-column matrix       
        Matrix queryAsMatrix = new ArrayMatrix(1, numDims);
        for (int nz : docVec.getNonZeroIndices())
            queryAsMatrix.set(0, nz, transformed.get(nz));
       
        // Project the new document vector, d, by using
        //
        //   d * U_k * Sigma_k^-1
 
View Full Code Here

     *
     * @param column {@inheritDoc}
     * @return {@inheritDoc}
     */
    public SparseDoubleVector getColumnVector(int column) {
        SparseDoubleVector values = new SparseHashDoubleVector(rows);
        for (int row = 0; row < rows; ++row) {
            double d = get(row, column);
            if (d != 0)
                values.set(row, d);
        }
        return values;
    }
View Full Code Here

    /**
     * {@inheritDoc}
     */
    public SparseDoubleVector getColumnVector(int column) {
        SparseDoubleVector values = new SparseHashDoubleVector(rows);
        for (int row = 0; row < rows; ++row)
            values.set(row, get(row, column));
        return values;
    }
View Full Code Here

        if (entry >= nzEntriesInMatrix) {
            next = null;
        }
        else {
            // Reads off a new vector from the data file.
            next = new SparseHashDoubleVector(rows);
            int nzInCol = data.getInt();
            for (int i = 0; i < nzInCol; ++i, ++entry) {
                int row = data.getInt();
                double value = data.getFloat();
                next.set(row, value);         
View Full Code Here

    public SparseHashMatrix(int rows, int columns) {
        this.rows = rows;
        this.columns = columns;
        sparseMatrix = new SparseHashDoubleVector[rows];
        for (int r = 0; r < rows; ++r)
            sparseMatrix[r] = new SparseHashDoubleVector(columns);
    }
View Full Code Here

TOP

Related Classes of edu.ucla.sspace.vector.SparseHashDoubleVector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.