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 }