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: 670469 $ $Date: 2008-06-23 04:01:38 -0400 (Mon, 23 Jun 2008) $
026 */
027 public interface StatisticalMultivariateSummary {
028 /**
029 * Returns the dimension of the data
030 * @return The dimension of the data
031 */
032 public int getDimension();
033 /**
034 * Returns an array whose i<sup>th</sup> entry is the
035 * mean of the i<sup>th</sup> entries of the arrays
036 * that correspond to each multivariate sample
037 *
038 * @return the array of component means
039 */
040 public abstract double[] getMean();
041 /**
042 * Returns the covariance of the available values.
043 * @return The covariance, null if no multivariate sample
044 * have been added or a zeroed matrix for a single value set.
045 */
046 public abstract RealMatrix getCovariance();
047 /**
048 * Returns an array whose i<sup>th</sup> entry is the
049 * standard deviation of the i<sup>th</sup> entries of the arrays
050 * that correspond to each multivariate sample
051 *
052 * @return the array of component standard deviations
053 */
054 public abstract double[] getStandardDeviation();
055 /**
056 * Returns an array whose i<sup>th</sup> entry is the
057 * maximum of the i<sup>th</sup> entries of the arrays
058 * that correspond to each multivariate sample
059 *
060 * @return the array of component maxima
061 */
062 public abstract double[] getMax();
063 /**
064 * Returns an array whose i<sup>th</sup> entry is the
065 * minimum of the i<sup>th</sup> entries of the arrays
066 * that correspond to each multivariate sample
067 *
068 * @return the array of component minima
069 */
070 public abstract double[] getMin();
071 /**
072 * Returns the number of available values
073 * @return The number of available values
074 */
075 public abstract long getN();
076 /**
077 * Returns an array whose i<sup>th</sup> entry is the
078 * geometric mean of the i<sup>th</sup> entries of the arrays
079 * that correspond to each multivariate sample
080 *
081 * @return the array of component geometric means
082 */
083 public double[] getGeometricMean();
084 /**
085 * Returns an array whose i<sup>th</sup> entry is the
086 * sum of the i<sup>th</sup> entries of the arrays
087 * that correspond to each multivariate sample
088 *
089 * @return the array of component sums
090 */
091 public abstract double[] getSum();
092 /**
093 * Returns an array whose i<sup>th</sup> entry is the
094 * sum of squares of the i<sup>th</sup> entries of the arrays
095 * that correspond to each multivariate sample
096 *
097 * @return the array of component sums of squares
098 */
099 public abstract double[] getSumSq();
100 /**
101 * Returns an array whose i<sup>th</sup> entry is the
102 * sum of logs of the i<sup>th</sup> entries of the arrays
103 * that correspond to each multivariate sample
104 *
105 * @return the array of component log sums
106 */
107 public abstract double[] getSumLog();
108 }