1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.commons.math.stat.descriptive;
18
19 import org.apache.commons.math.linear.RealMatrix;
20
21 /**
22 * Reporting interface for basic multivariate statistics.
23 *
24 * @since 1.2
25 * @version $Revision: 480440 $ $Date: 2006-11-29 08:14:12 +0100 (mer., 29 nov. 2006) $
26 */
27 public interface StatisticalMultivariateSummary {
28 /**
29 * Returns the dimension of the data
30 * @return The dimension of the data
31 */
32 public int getDimension();
33 /**
34 * Returns an array whose i<sup>th</sup> entry is the
35 * mean of the i<sup>th</sup> entries of the arrays
36 * that correspond to each multivariate sample
37 *
38 * @return the array of component means
39 */
40 public abstract double[] getMean();
41 /**
42 * Returns the covariance of the available values.
43 * @return The covariance, null if no multivariate sample
44 * have been added or a zeroed matrix for a single value set.
45 */
46 public abstract RealMatrix getCovariance();
47 /**
48 * Returns an array whose i<sup>th</sup> entry is the
49 * standard deviation of the i<sup>th</sup> entries of the arrays
50 * that correspond to each multivariate sample
51 *
52 * @return the array of component standard deviations
53 */
54 public abstract double[] getStandardDeviation();
55 /**
56 * Returns an array whose i<sup>th</sup> entry is the
57 * maximum of the i<sup>th</sup> entries of the arrays
58 * that correspond to each multivariate sample
59 *
60 * @return the array of component maxima
61 */
62 public abstract double[] getMax();
63 /**
64 * Returns an array whose i<sup>th</sup> entry is the
65 * minimum of the i<sup>th</sup> entries of the arrays
66 * that correspond to each multivariate sample
67 *
68 * @return the array of component minima
69 */
70 public abstract double[] getMin();
71 /**
72 * Returns the number of available values
73 * @return The number of available values
74 */
75 public abstract long getN();
76 /**
77 * Returns an array whose i<sup>th</sup> entry is the
78 * geometric mean of the i<sup>th</sup> entries of the arrays
79 * that correspond to each multivariate sample
80 *
81 * @return the array of component geometric means
82 */
83 public double[] getGeometricMean();
84 /**
85 * Returns an array whose i<sup>th</sup> entry is the
86 * sum of the i<sup>th</sup> entries of the arrays
87 * that correspond to each multivariate sample
88 *
89 * @return the array of component sums
90 */
91 public abstract double[] getSum();
92 /**
93 * Returns an array whose i<sup>th</sup> entry is the
94 * sum of squares of the i<sup>th</sup> entries of the arrays
95 * that correspond to each multivariate sample
96 *
97 * @return the array of component sums of squares
98 */
99 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 }