All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.carrot2.matrix.factorization.MatrixFactorizationBase Maven / Gradle / Ivy


/*
 * Carrot2 project.
 *
 * Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński.
 * All rights reserved.
 *
 * Refer to the full license file "carrot2.LICENSE"
 * in the root folder of the repository checkout or at:
 * http://www.carrot2.org/carrot2.LICENSE
 */

package org.carrot2.matrix.factorization;

import org.carrot2.mahout.math.matrix.DoubleMatrix2D;

/**
 * Abstract implementation of the {@link IMatrixFactorization} interface.
 */
abstract class MatrixFactorizationBase implements IMatrixFactorization
{
    /** Input matrix */
    protected DoubleMatrix2D A;

    /** Base vector result matrix */
    protected DoubleMatrix2D U;

    /** Coefficient result matrix */
    protected DoubleMatrix2D V;

    /**
     * Creates the MatrixFactorizationBase object for matrix A. All computations will be
     * performed during the invocation of the constructor. By default
     * RandomMatrixFactorizationSeeding will be used.
     * 
     * @param A matrix to be factorized
     */
    public MatrixFactorizationBase(DoubleMatrix2D A)
    {
        this.A = A;
    }

    public DoubleMatrix2D getU()
    {
        return U;
    }

    public DoubleMatrix2D getV()
    {
        return V;
    }

    /**
     * Computes the factorization.
     */
    protected abstract void compute();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy