Documentation of 'cern.colt.matrix.tdouble.algo.SmpDoubleBlas' Java class
SmpDoubleBlas
cern.colt.matrix.tdouble.algo

Class SmpDoubleBlas

  • All Implemented Interfaces:
    DoubleBlas


    public class SmpDoubleBlas
    extends java.lang.Object
    implements DoubleBlas
    Parallel implementation of the Basic Linear Algebra System for symmetric multi processing boxes. In all cases, no or only marginal speedup is seen for small problem sizes; they are detected and the sequential algorithm is used.
    • Constructor Detail

      • SmpDoubleBlas

        public SmpDoubleBlas()
    • Method Detail

      • assign

        public void assign(DoubleMatrix2D A,
                           DoubleFunction function)
        Description copied from interface: DoubleBlas
        Assigns the result of a function to each cell; x[row,col] = function(x[row,col]).
        Specified by:
        assign in interface DoubleBlas
        Parameters:
        A - the matrix to modify.
        function - a function object taking as argument the current cell's value.
        See Also:
        DoubleFunctions
      • assign

        public void assign(DoubleMatrix2D A,
                           DoubleMatrix2D B,
                           DoubleDoubleFunction function)
        Description copied from interface: DoubleBlas
        Assigns the result of a function to each cell; x[row,col] = function(x[row,col],y[row,col]).
        Specified by:
        assign in interface DoubleBlas
        Parameters:
        A - the matrix to modify.
        B - the secondary matrix to operate on.
        function - a function object taking as first argument the current cell's value of this, and as second argument the current cell's value of y,
        See Also:
        DoubleFunctions
      • dasum

        public double dasum(DoubleMatrix1D x)
        Description copied from interface: DoubleBlas
        Returns the sum of absolute values; |x[0]| + |x[1]| + ... . In fact equivalent to x.aggregate(cern.jet.math.Functions.plus, cern.jet.math.Functions.abs) .
        Specified by:
        dasum in interface DoubleBlas
        Parameters:
        x - the first vector.
      • daxpy

        public void daxpy(double alpha,
                          DoubleMatrix1D x,
                          DoubleMatrix1D y)
        Description copied from interface: DoubleBlas
        Combined vector scaling; y = y + alpha*x. In fact equivalent to y.assign(x,cern.jet.math.Functions.plusMult(alpha)).
        Specified by:
        daxpy in interface DoubleBlas
        Parameters:
        alpha - a scale factor.
        x - the first source vector.
        y - the second source vector, this is also the vector where results are stored.
      • daxpy

        public void daxpy(double alpha,
                          DoubleMatrix2D A,
                          DoubleMatrix2D B)
        Description copied from interface: DoubleBlas
        Combined matrix scaling; B = B + alpha*A. In fact equivalent to B.assign(A,cern.jet.math.Functions.plusMult(alpha)).
        Specified by:
        daxpy in interface DoubleBlas
        Parameters:
        alpha - a scale factor.
        A - the first source matrix.
        B - the second source matrix, this is also the matrix where results are stored.
      • dcopy

        public void dcopy(DoubleMatrix1D x,
                          DoubleMatrix1D y)
        Description copied from interface: DoubleBlas
        Vector assignment (copying); y = x. In fact equivalent to y.assign(x).
        Specified by:
        dcopy in interface DoubleBlas
        Parameters:
        x - the source vector.
        y - the destination vector.
      • dcopy

        public void dcopy(DoubleMatrix2D A,
                          DoubleMatrix2D B)
        Description copied from interface: DoubleBlas
        Matrix assignment (copying); B = A. In fact equivalent to B.assign(A).
        Specified by:
        dcopy in interface DoubleBlas
        Parameters:
        A - the source matrix.
        B - the destination matrix.
      • ddot

        public double ddot(DoubleMatrix1D x,
                           DoubleMatrix1D y)
        Description copied from interface: DoubleBlas
        Returns the dot product of two vectors x and y, which is Sum(x[i]*y[i]). In fact equivalent to x.zDotProduct(y).
        Specified by:
        ddot in interface DoubleBlas
        Parameters:
        x - the first vector.
        y - the second vector.
        Returns:
        the sum of products.
      • dgemm

        public void dgemm(boolean transposeA,
                          boolean transposeB,
                          double alpha,
                          DoubleMatrix2D A,
                          DoubleMatrix2D B,
                          double beta,
                          DoubleMatrix2D C)
        Description copied from interface: DoubleBlas
        Generalized linear algebraic matrix-matrix multiply; C = alpha*A*B + beta*C. In fact equivalent to A.zMult(B,C,alpha,beta,transposeA,transposeB). Note: Matrix shape conformance is checked after potential transpositions.
        Specified by:
        dgemm in interface DoubleBlas
        Parameters:
        transposeA - set this flag to indicate that the multiplication shall be performed on A'.
        transposeB - set this flag to indicate that the multiplication shall be performed on B'.
        alpha - a scale factor.
        A - the first source matrix.
        B - the second source matrix.
        beta - a scale factor.
        C - the third source matrix, this is also the matrix where results are stored.
      • dgemv

        public void dgemv(boolean transposeA,
                          double alpha,
                          DoubleMatrix2D A,
                          DoubleMatrix1D x,
                          double beta,
                          DoubleMatrix1D y)
        Description copied from interface: DoubleBlas
        Generalized linear algebraic matrix-vector multiply; y = alpha*A*x + beta*y. In fact equivalent to A.zMult(x,y,alpha,beta,transposeA). Note: Matrix shape conformance is checked after potential transpositions.
        Specified by:
        dgemv in interface DoubleBlas
        Parameters:
        transposeA - set this flag to indicate that the multiplication shall be performed on A'.
        alpha - a scale factor.
        A - the source matrix.
        x - the first source vector.
        beta - a scale factor.
        y - the second source vector, this is also the vector where results are stored.
      • dger

        public void dger(double alpha,
                         DoubleMatrix1D x,
                         DoubleMatrix1D y,
                         DoubleMatrix2D A)
        Description copied from interface: DoubleBlas
        Performs a rank 1 update; A = A + alpha*x*y'. Example:
                 A = { {6,5}, {7,6} }, x = {1,2}, y = {3,4}, alpha = 1 -->
                 A = { {9,9}, {13,14} }
         
         
        Specified by:
        dger in interface DoubleBlas
        Parameters:
        alpha - a scalar.
        x - an m element vector.
        y - an n element vector.
        A - an m by n matrix.
      • dnrm2

        public double dnrm2(DoubleMatrix1D x)
        Description copied from interface: DoubleBlas
        Return the 2-norm; sqrt(x[0]^2 + x[1]^2 + ...). In fact equivalent to Math.sqrt(Algebra.DEFAULT.norm2(x)).
        Specified by:
        dnrm2 in interface DoubleBlas
        Parameters:
        x - the vector.
      • drot

        public void drot(DoubleMatrix1D x,
                         DoubleMatrix1D y,
                         double c,
                         double s)
        Description copied from interface: DoubleBlas
        Applies a givens plane rotation to (x,y); x = c*x + s*y; y = c*y - s*x.
        Specified by:
        drot in interface DoubleBlas
        Parameters:
        x - the first vector.
        y - the second vector.
        c - the cosine of the angle of rotation.
        s - the sine of the angle of rotation.
      • drotg

        public void drotg(double a,
                          double b,
                          double[] rotvec)
        Description copied from interface: DoubleBlas
        Constructs a Givens plane rotation for (a,b). Taken from the LINPACK translation from FORTRAN to Java, interface slightly modified. In the LINPACK listing DROTG is attributed to Jack Dongarra
        Specified by:
        drotg in interface DoubleBlas
        Parameters:
        a - rotational elimination parameter a.
        b - rotational elimination parameter b.
        rotvec - Must be at least of length 4. On output contains the values {a,b,c,s}.
      • dscal

        public void dscal(double alpha,
                          DoubleMatrix1D x)
        Description copied from interface: DoubleBlas
        Vector scaling; x = alpha*x. In fact equivalent to x.assign(cern.jet.math.Functions.mult(alpha)).
        Specified by:
        dscal in interface DoubleBlas
        Parameters:
        alpha - a scale factor.
        x - the first vector.
      • dscal

        public void dscal(double alpha,
                          DoubleMatrix2D A)
        Description copied from interface: DoubleBlas
        Matrix scaling; A = alpha*A. In fact equivalent to A.assign(cern.jet.math.Functions.mult(alpha)).
        Specified by:
        dscal in interface DoubleBlas
        Parameters:
        alpha - a scale factor.
        A - the matrix.
      • dswap

        public void dswap(DoubleMatrix1D x,
                          DoubleMatrix1D y)
        Description copied from interface: DoubleBlas
        Swaps the elements of two vectors; y <==> x. In fact equivalent to y.swap(x).
        Specified by:
        dswap in interface DoubleBlas
        Parameters:
        x - the first vector.
        y - the second vector.
      • dsymv

        public void dsymv(boolean isUpperTriangular,
                          double alpha,
                          DoubleMatrix2D A,
                          DoubleMatrix1D x,
                          double beta,
                          DoubleMatrix1D y)
        Description copied from interface: DoubleBlas
        Symmetric matrix-vector multiplication; y = alpha*A*x + beta*y. Where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix. A can be in upper or lower triangular format.
        Specified by:
        dsymv in interface DoubleBlas
        Parameters:
        isUpperTriangular - is A upper triangular or lower triangular part to be used?
        alpha - scaling factor.
        A - the source matrix.
        x - the first source vector.
        beta - scaling factor.
        y - the second vector holding source and destination.
      • dtrmv

        public void dtrmv(boolean isUpperTriangular,
                          boolean transposeA,
                          boolean isUnitTriangular,
                          DoubleMatrix2D A,
                          DoubleMatrix1D x)
        Description copied from interface: DoubleBlas
        Triangular matrix-vector multiplication; x = A*x or x = A'*x. Where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.
        Specified by:
        dtrmv in interface DoubleBlas
        Parameters:
        isUpperTriangular - is A upper triangular or lower triangular?
        transposeA - set this flag to indicate that the multiplication shall be performed on A'.
        isUnitTriangular - true --> A is assumed to be unit triangular; false --> A is not assumed to be unit triangular
        A - the source matrix.
        x - the vector holding source and destination.
      • idamax

        public int idamax(DoubleMatrix1D x)
        Description copied from interface: DoubleBlas
        Returns the index of largest absolute value; i such that |x[i]| == max(|x[0]|,|x[1]|,...)..
        Specified by:
        idamax in interface DoubleBlas
        Parameters:
        x - the vector to search through.
        Returns:
        the index of largest absolute value (-1 if x is empty).

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.