covariance method
T
covariance()
Calculates covariance of x and y.
Throws ArgumentError when:
- The arguments have non-equal lengths.
- The arguments are empty.
Example
import 'package:calc/calc.dart';
void main() {
final x = [1,2,3];
final y = [4,3,2];
final result = SamplesXY<int>(x,y).covariance();
print('covariance: $result');
}
Implementation
T covariance() {
final n = x.length;
if (n != y.length) {
throw ArgumentError(
'Arguments have different lengths: ${x.length} != ${y.length}');
}
if (n == 0) {
throw ArgumentError('Arguments are empty');
}
final meanX = x.mean();
final meanY = y.mean();
late Tensor sum;
for (var i = 0; i < n; i++) {
final term = (x[i] - meanX) * (y[i] - meanY);
if (i == 0) {
sum = term;
} else {
sum += term;
}
}
return sum.scale(1 / n) as T;
}