001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements.  See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache License, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License.  You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the License for the specific language governing permissions and
015     * limitations under the License.
016     */
017    package org.apache.commons.math.stat.descriptive;
018    
019    import org.apache.commons.math.linear.RealMatrix;
020    
021    /**
022     *  Reporting interface for basic multivariate statistics.
023     *
024     * @since 1.2
025     * @version $Revision: 811786 $ $Date: 2009-09-06 05:36:08 -0400 (Sun, 06 Sep 2009) $
026     */
027    public interface StatisticalMultivariateSummary {
028    
029        /**
030         * Returns the dimension of the data
031         * @return The dimension of the data
032         */
033        int getDimension();
034    
035        /**
036         * Returns an array whose i<sup>th</sup> entry is the
037         * mean of the i<sup>th</sup> entries of the arrays
038         * that correspond to each multivariate sample
039         *
040         * @return the array of component means
041         */
042        double[] getMean();
043    
044        /**
045         * Returns the covariance of the available values.
046         * @return The covariance, null if no multivariate sample
047         * have been added or a zeroed matrix for a single value set.
048         */
049        RealMatrix getCovariance();
050    
051        /**
052         * Returns an array whose i<sup>th</sup> entry is the
053         * standard deviation of the i<sup>th</sup> entries of the arrays
054         * that correspond to each multivariate sample
055         *
056         * @return the array of component standard deviations
057         */
058        double[] getStandardDeviation();
059    
060        /**
061         * Returns an array whose i<sup>th</sup> entry is the
062         * maximum of the i<sup>th</sup> entries of the arrays
063         * that correspond to each multivariate sample
064         *
065         * @return the array of component maxima
066         */
067        double[] getMax();
068    
069        /**
070         * Returns an array whose i<sup>th</sup> entry is the
071         * minimum of the i<sup>th</sup> entries of the arrays
072         * that correspond to each multivariate sample
073         *
074         * @return the array of component minima
075         */
076        double[] getMin();
077    
078        /**
079         * Returns the number of available values
080         * @return The number of available values
081         */
082        long getN();
083    
084        /**
085         * Returns an array whose i<sup>th</sup> entry is the
086         * geometric mean of the i<sup>th</sup> entries of the arrays
087         * that correspond to each multivariate sample
088         *
089         * @return the array of component geometric means
090         */
091        double[] getGeometricMean();
092    
093        /**
094         * Returns an array whose i<sup>th</sup> entry is the
095         * sum of the i<sup>th</sup> entries of the arrays
096         * that correspond to each multivariate sample
097         *
098         * @return the array of component sums
099         */
100        double[] getSum();
101    
102        /**
103         * Returns an array whose i<sup>th</sup> entry is the
104         * sum of squares of the i<sup>th</sup> entries of the arrays
105         * that correspond to each multivariate sample
106         *
107         * @return the array of component sums of squares
108         */
109        double[] getSumSq();
110    
111        /**
112         * Returns an array whose i<sup>th</sup> entry is the
113         * sum of logs of the i<sup>th</sup> entries of the arrays
114         * that correspond to each multivariate sample
115         *
116         * @return the array of component log sums
117         */
118        double[] getSumLog();
119    
120    }