@stdlib/stats-incr-covmat
Version:
Compute an unbiased sample covariance matrix incrementally.
6 lines (5 loc) • 1.82 kB
JavaScript
;var M=function(a,i){return function(){return i||a((i={exports:{}}).exports,i),i.exports}};var b=M(function(z,V){
var F=require('@stdlib/assert-is-positive-integer/dist').isPrimitive,P=require('@stdlib/assert-is-square-matrix/dist'),w=require('@stdlib/assert-is-vector-like/dist'),x=require('@stdlib/array-float64/dist'),S=require('@stdlib/ndarray-ctor/dist'),j=require('@stdlib/ndarray-base-ctor/dist'),y=require('@stdlib/ndarray-base-numel/dist'),h=require('@stdlib/error-tools-fmtprodmsg/dist');function E(a,i){var r,t,m,u;return i?u=j:u=S,t=new x(a*a),m=[a,a],r=[a,1],u("float64",t,m,r,0,"row-major")}function k(a){var i,r,t;return r=new x(a),t=[a],i=[1],j("float64",r,t,i,0,"row-major")}function C(a,i){var r,t,m,u,l,c;if(c=0,F(a))r=a,t=E(r,!1);else if(P(a))r=a.shape[0],t=a;else throw new TypeError(h('1HBDb',a));if(l=new x(r),u=E(r,!0),arguments.length>1){if(!w(i))throw new TypeError(h('1HBDc',i));if(y(i.shape)!==r)throw new Error(h('1HB9V',r,y(i.shape)));return m=i,A}return m=k(r),T;function T(s){var f,d,g,e,o,p,q,n,v;if(arguments.length===0)return c===0?null:t;if(!w(s))throw new TypeError(h('1HBDd',s));if(s.shape[0]!==r)throw new Error(h('1HB9W',r,s.shape[0]));for(p=c,c+=1,q=p/c,d=p||1,n=0;n<r;n++)for(o=m.get(n),l[n]=s.get(n)-o,o+=l[n]/c,m.set(n,o),g=q*l[n],v=0;v<=n;v++)e=u.get(n,v)+g*l[v],u.set(n,v,e),u.set(v,n,e),f=e/d,t.set(n,v,f),t.set(v,n,f);return t}function A(s){var f,d,g,e,o;if(arguments.length===0)return c===0?null:t;if(!w(s))throw new TypeError(h('1HBDd',s));if(s.shape[0]!==r)throw new Error(h('1HB9W',r,s.shape[0]));for(c+=1,e=0;e<r;e++)for(l[e]=s.get(e)-m.get(e),g=l[e],o=0;o<=e;o++)d=u.get(e,o)+g*l[o],u.set(e,o,d),u.set(o,e,d),f=d/c,t.set(e,o,f),t.set(o,e,f);return t}}V.exports=C
});var I=b();module.exports=I;
/** @license Apache-2.0 */
//# sourceMappingURL=index.js.map