{"_id":"kalman-filter","_rev":"31-09c8822b0e0b8fc0c3a31e74d0ad234f","name":"kalman-filter","dist-tags":{"latest":"2.3.0"},"versions":{"1.0.0":{"name":"kalman-filter","version":"1.0.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.0.8","xo":"^0.32.0"},"gitHead":"8547fd188a370961af569748b9f0d953ce63361b","_id":"kalman-filter@1.0.0","_nodeVersion":"12.6.0","_npmVersion":"6.9.0","_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"dist":{"integrity":"sha512-FqcwgIvulqy2+i9XiLX6P/pXX5ugkRj5sMZSXzfZeqVMoKClic0ScYzKxX6yvYWp53Wy39eoGD99plkg5Rg/HQ==","shasum":"2fac0bdbe78ae88be8bf25f81019092c6abb6872","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.0.0.tgz","fileCount":17,"unpackedSize":19046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3my3CRA9TVsSAnZWagAAk0YP/1lZvfxD+itF4lvi51rR\ne00EKuMs1plvTNU1SLJEAZn2/fMIYKx7VqBI5HwCuUN/Bwa+p9o4L0uLyZnO\nRWfLqZKd4APGqwfBy1J2avJt3D/7QSPJfWGdVk6/F8ehC/5Ypb74j0ThnSKr\nyTUYWxkGO5gxhD4FkaoQ2MakQpH3iaeTWisne5doOaVfbxpq80k4wpGOMWoT\n+BtWqWdp1KorGZZfjyN5vi+UHF92V8K1qd4QadH3qwrmdVCyBXmAUlDQ4xQ3\nnZOvvMgyhybWRsG687Ikq5CjdxVw3KXUyvDtn7LNKC2zjbt3E5R2fwjnK2fv\npzA7/YAIVbYmMCOQYQDCnMYNtXl3lS5ujG2ogtiJMAe4omjMqrIfmbHO8vd4\ngzDJWBXmiVZFEAhKvkPG+HMkcWaM3ra2SDWeOjMeaXqhdJo8fEqACFDj4dkd\nppOZgwr8JihZR4G0tOUrh6mfX3tOb7eXH9MD55z0G/KmZ/00jNEQXBWoLO+O\nxZLaubTHG+2ytx7guq4z2E4sjLGBj9gE8oHjX1vwZYP6FILBY+9aVaaeGEQ9\nnioXKSeTykaWeAdOLFBihuc9LJJvJ7MZ0+KibbznqDAVJOGe1yOD2k0qq1R3\n3eWnDV/XbPza0KWzOp+/TKRg445a+PxrOjBzPeWe103cSql6mFGaI5Qb/YN+\nfgGb\r\n=llX8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhDH27i1qxsfR1/FrsBPmIHI/nb8s9fZ2kC0n+QbmvDAiBEehTvEjO/Ns3dakfTLNy5QH93SIl6kdVFrCWfSVBELA=="}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.0.0_1591635127260_0.6458356870680257"},"_hasShrinkwrap":false},"1.1.0":{"name":"kalman-filter","version":"1.1.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > demo/dist/demo.js"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./demo/dist/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"062726c0dfe6179bc96d2b2155878082e820bd51","_id":"kalman-filter@1.1.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kVqsDGmU/Jw6pVkUFLcQLvKioKz6uqrzqXql09SdQB4q4ALgwZSUKTL+3JMiR/zI8k6Hp8bbm4cI85aV8nlmnA==","shasum":"4b02ff5f0961062975c65657ad2b8f62c3a0637b","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.1.0.tgz","fileCount":70,"unpackedSize":34998212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYxOcCRA9TVsSAnZWagAAJ2QQAJD0m+A/xMQYfyfOSjxg\nm+APrtZ17WhfvWTw4fJ4mRJ4PszQNJuQ2XgSVgSksMgpOzC7ZKrkgNbi8j3X\n9xkKoWPbOPoxZWDs8wd1H/KPkJGN6L0GYP+uZMBOIiT+a4BGIL12ti7RXlHr\nH5BAQMIMj12D1pafA9EySLDoazmYLEqLzbwmuxppKUJ+PGvp8XMFhF+QIsWK\nrnqACDzt/iknn4HHNW/KuZhCy3GBv3VOzT3LE6qZlWJt2GR4XDKTV0PeyDKP\nq8jE/TUM2H/I5Rxt17DO2qlE3L+acVb01bYWq2RBVgRB7aUKdyyGUzZqZQKI\ncE+dV2heKdgni/ujZ40+Sk3+36yWTORhSOavSiiLAYwooNtIZQQIjCy2DWHt\nIwX4NF3xSQZU9O/P+Dz5bQg9TLmOhhBGE53n0e67DL2SAcRBB5NSVKKhbRGO\nt99/6PUS/s0ceFDVXswMu1vNcrOEz6JJF3PHjpw83F38BLWXx2roP3UWtcPA\ntex//FT8Gy2hSzW68G632XtwodDWSGzPyq303W41NypEhorZGL/42HzuuE34\nuvvvARWihyujiEvHFapqjLHtzavkWj2E6zaVjc0Ui2BkTwTiOp6oDP4rFjyT\n/3kCOiZ5YISS3NArDVdTVJUrpoXFab6mnfDWGgMeC/YjHX33cKqa2v84KLl6\nmpHR\r\n=Abfw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvx1WTlXB/BIfhSmX59mo4wpmPCMlIuKNzW8bvGIhP7wIhAKFvy7fUdbyytg9DUF0XNcoL3k4msqZLuCWzvhsvCV7C"}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.1.0_1600328603685_0.908401314459006"},"_hasShrinkwrap":false},"1.1.1":{"name":"kalman-filter","version":"1.1.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > demo/dist/demo.js"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./demo/dist/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"cc04bf2515e2930b0ec04881c0d94a5d68ccb648","_id":"kalman-filter@1.1.1","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-BR4D8asm5oxKoBOTy3mM48tFY+3zJA553kWwsUaxGSn8G+dBzd4+nrO7kiffrTin5BTOs4+HMs76eZ7f4gc1eA==","shasum":"8ca09eb18e455b9b4e61e7e201f3fcb767111248","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.1.1.tgz","fileCount":70,"unpackedSize":34998290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYxX8CRA9TVsSAnZWagAA49sP/R8gQN77kOazhnvxCPiY\nh7n0CTCQdROFOuoxH9McQrA7oCoCI/3TEvcxLn8Mt4/qZ5y1r6CVoxTQkluS\nzxHbATuxcJ5OZdkJ1mZ1Cc1kLwXxINMgx1kcgT3Co6UmbelU9JczTMOaor0E\nh+A0SAZhMhnh9+3TBJcBTUP0BQ7JyySGNRIwVtSwmEtxwwsmgw2Gz4cJ4i5/\nQtoFek4gZhgsWOsf9NYbFOnZyGOyctabPFLTMrtFpRxj9+PI2xjg3stldrMw\npNaiiRQZT3KBDSs9Sz7na4nS/Jj9nn70QrGHRfP6oBSWEpTakIUEJrdXRIcH\n3emus+n4ybpxidBURvHLXYj7lWDmj36qQKEP5g/A7Da3mAcXwf09I7LRAhml\n9VCko1V6TGySwFtXTY+igo6RgpvUPnnHg5hyBAPZNSR7GBAdGJ2uuD5WdnyJ\nsHU4Q15KAHkHuWKX0siSm2VCxxFe96hYDLKTqELqpO96Ksz8FSKgbbyRHkry\nBA/W2sY1RoR9lUn9gk8ja8Y5PiTSOMX0ELnwNnzRcJifJq67RnlYSRq078yD\n+rsbGyYLOfV7uS5lQ3LGbb77tzWH/rwK2pCkypJY1iZYpdsgHu/1WAYgVrs5\nBGUioypSpfPk7a0ScDmw4q+pGbEnOrewRlRuJPOA+jK7qVFPg7wIPo9rq4fV\ngSS2\r\n=iPf/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGrlWgAHqwdtFD8qETOwOroHWTimGcSAGpVS/T8YjensAiBkhQMhBtEVRWecy9QuZwsLDWsbKvXylboVYXnVrHMHcA=="}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.1.1_1600329211826_0.31350943338583037"},"_hasShrinkwrap":false},"1.1.2":{"name":"kalman-filter","version":"1.1.2","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"b5a14c2f0ab026b957cc2f79c358d865a635f701","_id":"kalman-filter@1.1.2","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-r7oLqIhWhN3d42Tqgp4n73/NZqSd+BKFT259SKtPNCA505Tl0mpAoP7kSwSiELEpLLLnTRIlpoo0pRP7WEtgWA==","shasum":"238a62ea7dc07138566ef8cf418abc6c5bdd960a","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.1.2.tgz","fileCount":74,"unpackedSize":36943006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYxnpCRA9TVsSAnZWagAAqVcP/01dufzOYWwyWEoXJT1d\nvCOIpfxMbRX9aLHle/X6RYWu50dTRjhK78fC5pO03qrDph3N2RLRw6xzFxVz\ntT3ylSNqQzdmj8GYa4eM8irG76T0re/nWLrHH94E+zE+/ux48ijeUHj1jLyw\nR8p3YL5x1bKNRh7lebvhb3Yf3V6wGKPq2jcLMOM0oG2Gvw5JSu2YznYdHGr5\n6A/qf32cNbkC8OZUsbJuU/moot7t/ULIqDhvCOCm/BDbLB7aAJmgSa3SOKfB\nAzPpsS8zhShVANyxvC7NV8oYWtbazPyQNMoS2MABpKF9+zDH6T5BedJTGCN5\ns0fiYsw2/pfBlaicQnQQC4jwSL4BH/yTyfARdWBZxN/wmKoi0DmgQmhNjzXC\nFGuZIlkREPl7PuGs5xLzx9boR1Q/rKQeNKbpqY2gxoEABJxn7/TdUQCnrJoC\nR3mZWPqcoHasFD84rH2MqcmZFPd31s8/vgLxfG9KT7yIOezz6tUYBryar/YF\nCn+BdaP+OPzX+hKgodPU8BQx+rMaMA7/AsE1GwKpoSURIdbV1EtdTbgua3Qw\nYVoOasaxuDroUKrHP2JiKJj29rzqQKtMgYAbHaa9PGeLYQmgxu3E3QP63/nl\nRpMov6pZXnfIKHR7Zr0ifdqPjNIm3LESbYmKkI6qKaGRlko6aIKE3ouTkrKq\nPJ43\r\n=qHSN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQYyu1uBFZ/UKj0r/muPNm/nyqpG39re9gY+L0F2DCxAIhAJuLU1gI6riwsU4sJjcJH/Gd14kUFT20Qk7iJjaHRicW"}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.1.2_1600330216462_0.3329551641158326"},"_hasShrinkwrap":false},"1.1.3":{"name":"kalman-filter","version":"1.1.3","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"d9e6e66f94bb037a90ae3341ac5c37a328a9ab7d","_id":"kalman-filter@1.1.3","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-A4n+TCPZH6i9fjjFJ0IWtXSJ9P/WeysfAJTcXlFxYHFLsxcs9iyWuYHuVllNrUmGGKVqXlj2s2B8SlqLyvMyGg==","shasum":"4c3cc206023cf1a16ac8baa911afbcd0d68f8e82","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.1.3.tgz","fileCount":74,"unpackedSize":36943005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYyFbCRA9TVsSAnZWagAALZMQAJcZQAspYbmUGv0odsDV\n4qsYiPs9IKZBXQ1iaQkr+aEIrl5/EeBb5EBP5jO7S63Xk9KXZca8bzGgdx6w\nP+50gWOjPDzkJVorsv+Wq+vb6li79CcW3ZcS5ZhTN+fL2G4Wn0mdiRmHxJvS\nVcVEJ/d5YvYRQXAx7SrVlQix/wmw6IqSAxqJbbtVYU8+OhWR99UGJqPMSPc8\nOPqYR5WVMtsLlIOrhU74dkwYUum98tsmMRIW8eFo0/u2Kx4od//X1JPtG/XG\nHb0sad+CoeFEReP65um80Q5F605UXkXU5HD14HaR6354RmMNh3ICyQbukZpJ\n7IltqWktgje1gpc+/voWs9t1SmXCPeYm+1jKPCiG9s2ahuzrIY8cvhzWxklZ\nHR7TiyDVNzFGXa/0jLyWcbW8af6XzLbgFQRtgTkx+ECkB0WSW6G3j3EIOQ38\ngk95Lrmv9NHosO3YCE3qE6EqUySNrCIrQ7a433zGiQBECyEJMyHxIBViArwg\n/l0awu1MaFKcBgIk7X8mt6ySwoRaaWWZiNOz+Gb/j+J2fKIhIO1U+X1OJjIM\nRH9ETxvTzc7Ji5NzWg4fBfCHsps9dn2z7r494jyXn2F5LVezcQLtqZqNm9XT\nJi0n2C/dSTRD5QRtoe+BOtTVTNtjJBoC9GX7R5w6Wbo5DnHP1d38o98PjrI4\n5aWh\r\n=nNtg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDowtLH+1IiGsivhy0n1sUS52I6AgyjSUlaDaml4jCTdwIhAM2ZnXMKZWHXJV1ik4L36iDV9aWUVsgWQHbaGYt2P454"}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.1.3_1600332122555_0.6510371358279599"},"_hasShrinkwrap":false},"1.1.4":{"name":"kalman-filter","version":"1.1.4","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"edd51c6f977190a754137bf2e7c50223651f0e75","_id":"kalman-filter@1.1.4","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bZF6vIFgWbZzMNc9Difi09W1ndrac5LjOKG81rkFqouHFBicvtWugOW899dWUuW7JK1YuO9NwpxTFwS5a1Ip+A==","shasum":"853337b4c0589d1b1f7042a5d6bafc82e5de7b37","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.1.4.tgz","fileCount":74,"unpackedSize":36943117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaN4ICRA9TVsSAnZWagAARgwP/AwkQZYbx6UmssFs4kC8\nBQRD7RsA/siv19lzqTrW2YUEDE6prrwzTTraGQbqPAy5hLK/e+wj7p57YfWW\nXt1qm9zTEbhiFNSjFEjMdsG2M2JDMVG4o88DIZKfSJaMRDjqt0v07GJ1qMEL\no6vkezt+I5Q7NdpK6PqB0/wxJTt+9NQdII1JTvQhv6tuIAqpYQEeuZeyzvof\nGa2m+Q2Y+CKB7P4hPbGXPA/WJPgAARcJ1jsYi2LKeH4ioJ8l4s2Igbl25HN8\nu/BmaGbIXADhB3j5ojLYLPHWmGpwtmT2rpQIDqzRRS9sd9HdSBEfcHy5gcoV\neZ0XXLchVzJcINrNgQdQ+JGUtk7ER6treD8Ua5s8D5xOeQvrrarJpKXmuZR/\nmdZ1CSghD5VLeS1mWeSQJ1FqW9BQsPp/4cbe+9XUoChKnIN8XKv6EKIBO8EP\nQl0UjqYCtHBJY97ar8mwXmbRhuVDNX68hQaM8AhGlxZdNqrq1roomjpVR707\nOkW4VJidMivUODA6WJMMFV00xw6bDCe7rBA9nCRt2O+U/q4SdpLU0lqOAHYy\naESYHxHPZkYV+k6ly7Cs9GmyaPZ3BQx0MnHkq/WifiuQxuv1q0n635+AtnEl\nNpiWObKuRtkcXgwoR2+oMRiG7YdskOD8iK8elhoePl88p4PYO7K7lOeBWh4o\nCubN\r\n=R6Hj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpszzgdjBNjXX5IpC1ZBechMI71qLRoVPHUibjLqxuMgIhAJHvG+vdmcGuaVhuNemitEDTbGpW/lmtCEU7x7jTM6j0"}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.1.4_1600708102977_0.7296099492977763"},"_hasShrinkwrap":false},"1.2.0":{"name":"kalman-filter","version":"1.2.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"fe176f6bb86b2b6139ccff62a300f6789ca3209e","_id":"kalman-filter@1.2.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-hUVuaZPdbs4sYdnm5BJoW4vnj5CaxMOW6uyXAE4BoAtEvieghPgzcl+CzR95YQYM78GcAGUHu0ZjUFH4LjRCQA==","shasum":"4aa7bb30847a83fc24091273878f2d3dcce50129","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.2.0.tgz","fileCount":77,"unpackedSize":36946119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfa91JCRA9TVsSAnZWagAA+y4P/ijjU9D3w0m9LUz9pgDO\ne1Z9LooogNtGvPPvaU05oOL7PR/5g6ZwBRhIVkXsV/BJ1N5Tjf57WivcMUxv\nzmj4C6FiB5aANzitgtb5qoTXnvyJ2iBN2QeHJWEU1XHAwVJtWrNDAjKJSwPf\nlvzOKm/gQHjKliLDNKPTpvDJ9SHGdmgWvg0Vyguk8MA4PJSXMlWY57ZSxRMw\n4sGeTfqGgEkETpFmaH7byzoxUFG9TkTxIvR4h7CmOLpludWeslQ3V/Dhjam5\nOzuNNumv14nSLFB9It+8znXj2JEkkwo3Irl4ui6AZvmPHGDVyaBQcH7wIByO\nm388owaYacAU06BfW7eyAaoiGKqYr1jqtg8jzB5CRxSxREU3YoqUdZ8gPUdK\nLv/A+1VK3J6lon1C0RQuyr5b7A26SdRav81piXrdm1GAIDfXD+elyRdCOF3n\nKglPYYqheBLbu+fsCwrTt/aD2Y/ZL/t3qDsHwhBT9OtY1MUrguY/iyQmNZdZ\nyfaye0qE4aHX1xkXDUuNuSarmx01b+AcFudibTDbEye8N28G1qBTqlsQ1QOV\ne/FJlI2pk1bVCmEOmj8ekEsPmZ+LyYzrwai3yXTaeMIS9x910q8ZSndA9AN6\nbUnJSu1xwf9qbRrMKZ9hxdGXOyagzYhscqXdg9iX3Gj0S39oZnQ/sMvXFioo\nRjMB\r\n=HYY4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/BxNoqY+tyl+OTh7R9Yyf2F6ssUNzijI4JE4C7gWpTAiAsH13npAh33t7JOgo/He33KK14cen3jdIX6TqPkf3i3g=="}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.2.0_1600904519862_0.18353104770406792"},"_hasShrinkwrap":false},"1.3.0":{"name":"kalman-filter","version":"1.3.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"ef93c3d7cd34df47fd87cc0f8c62810d249a4482","_id":"kalman-filter@1.3.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1hG8UVtsfclBIiK1puN+byW4OGO3v7Jb9/P8eNwERIGfCX4iodptaN/IFUfuDLsJjOvCoRD6mGoxHk4FuEB8cg==","shasum":"290653575c3309d5c1aee032a4be7fa1ff472601","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.3.0.tgz","fileCount":78,"unpackedSize":36947365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbaWICRA9TVsSAnZWagAAnDYP/RC+VQcc3LHGtIjO9plr\nY+0EKxmS2GxBzNzcvGTVGs7MTDpWKcdr1BkRykyObl3l0WMjKvuXKYwAA1G4\nRpsy8s2KovTm1ELAEKPdo9io/G0Lm0i4yoCoa62/3rLRCVv76sOe632BUb2/\nwKtoau3+aj5CIg0v7l7XUHnKFi0DCFQTDDq3ul3duoyQGMc2XYBKxYRzQz4D\nEqKjWSUZejgL1doCtEtMxkpJzy+XJv7zUcC+XbJDz0Bsp9kOB4OxM6jCFH4c\nNcmm/Sb8ov+UimempDR59PzbWP/q52I1KIOjp/X3f9JaNw4e/FfcPi15EBpR\nZrblIwp6IVD+6+VHdp3HvYRh0zFGZs9d1vVb9lgodouWr45W4AZo4ID2sOZ5\n1JCILoasMDILe8oJ20pGay/NIrf9bcH8hI+XP8NzR3yzRYrk3shmcLygHoKX\npOJeyctjwC7NdRF/JfvbSdxKZswMkTJ1oFowTelSmXvbxQvBbDZFNhIBGfBr\nVCxOnpE+2Y0t8EjQqKAqh/updrx6MPdZCjTl/BBeYYhAMsNTuyG8U7SFrqMq\nJc1nTTaoImRG0EAO/qyhCSMFE34pJd//s3BioRL9K6ZM/32TrlUReLFb63SM\nU9R4+c2VBR6bToyCgQPB2084bH3VWx9J8iytgWo2RJs/N5kY0BAJqUmHWK0+\nFfMS\r\n=TCu1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRJ/AQkZMfOfl78BfwGnW7FhPJTMfcB7ltlEXHZBwn2wIhALGMKwk2sf22rPn4JZULt8OUtsNsAJuwCX1wgVS1T0PB"}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.3.0_1601021319789_0.5536793986952215"},"_hasShrinkwrap":false},"1.3.1":{"name":"kalman-filter","version":"1.3.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"10493aa18a2798c2a0b96b2c721253d2a43aa3e3","_id":"kalman-filter@1.3.1","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-xpWaqBZ5ITf/4wWht2FgD3WyRmYdR2J6snD2L+KE1Mnru3ieKdwdPK+csfTONaHQxkrZENZtfRk3gDk0almELQ==","shasum":"18b3a04511fdc927cab29592658bf510e449088a","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.3.1.tgz","fileCount":78,"unpackedSize":36947617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbaezCRA9TVsSAnZWagAAW5oP/3WmZT8iejccBRIQpQa0\n+kKp4pCD+Ri3aGvuDpPF3a3lIl5tVV+rKy/UtXklXi/r34AorbjZsdqWL7W3\nP9XhzdU4iRhTL+nw0kryRLKpr6yey1eUNMPw32s8Ka0zakFgOHasIz3DL+oI\nruq2PgBWwub3lYhxVkz/j2iFnNt7nIuRptIWQk08DxK9rQEghBX/8WOfUTBm\ngecaKSoUt7yPd6OHslRnQPt+aROObLYgf86REw2zQ2z4EEh7I829E3rOlPil\n1LqYfxY0bHvq1dtRGDYdrCl39MWWNEllI801nP3IbICuWCQECzdmnTQGlaTE\nSXXaE35PT/d5BN3hgcdVCrJTg7kFdvNH6TkO8flTNFabv9eBI+tjWJDlChFW\nfiIhZ3YT8qxBC1YnBMy/mwxb343Mh7nUzm0c0EK/3r585gN/Ty4YnzUeAsAg\nrr6QBJZaqQPGt8Hid4oVJzWo+iwV8mMEDeL1mgXr5qAmRFSZS9lUOiCXbZKk\neE6UJmRHqlbI4qp0jO9fm0sRBOxqMcLiGodyLe+K9n8nX/z0irPZUGxk7IIH\naytXnk4w4XIsaO+Z9t52OYu5rNGxz+RQIcXw4o3d6YlzqbdHXXrdeqTjPsII\nPN1LuS+GXvi30qPrTnJYkY5+haOTKOSX5cLRdD2fVia3ktrtqLIsjKjtGsLf\nsjwe\r\n=mcoY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjjL6wpAABRAC/S3I7nfu/B2nkn9obTnIEeHfsO4kNKAIhAKSI4ppVG+Xl8qwRN4woK7NmfQMcB4Y2oy3V97rHNDUH"}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.3.1_1601021874433_0.13679504693994837"},"_hasShrinkwrap":false},"1.4.0":{"name":"kalman-filter","version":"1.4.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"2b6d8d1179a16c0779e852b4bcdc8b5c5f9fe923","_id":"kalman-filter@1.4.0","_nodeVersion":"12.18.4","_npmVersion":"6.14.8","dist":{"integrity":"sha512-j31ydeCR2MMWUrsE2BCsUkdHjZ1bhesxg2T1fW4B0FRAQjfXBn4Glntqki4AvmHH4buPVpjs3nAD2NKqP5ov1w==","shasum":"1e1ab9503478697ae7f37cc839e26088f1e23f42","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.4.0.tgz","fileCount":78,"unpackedSize":36947557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfduofCRA9TVsSAnZWagAA3N0P/2/8lYadIz4ONdvWIF0j\nRdxOuGPoOhp6bmkdRUyXt2F0o9asASqw2IAFYt1E5BtxN0bJCeXnwRxguHDB\nhouJzT23Dl9IdzdvQHS2TaYeNp74l05T4WU22OO2m0QS7k1bsTwJUILe5B11\nGGBR7rUiHnkERrZp1d3RdMwsl0SInaRyUKc+4k1v9qF6SRnbpECOCkWXuyDl\ndW9ycZtWwaSqWRj3Fj34qnk7nKUrZ5vN6aznDU+f3BVzWvrQ381vDDgCS6PC\ng3hhIVuUH+Rbwez/eDI5h7Tp2+JJ8LbpzSZb9N1zR5CsUfGs1oasaqdyYzmv\ntMvT7uQx16DwCyBud/8Rz3QlUs3Ac+IohKyz4aGiHEPDwmmRyoKIAkSd2wUy\nGTVfgnOgY/Tjq2H9SqNxSNZkQ4cnQGd0JQHvNOn12+7h+1V9Gf0GUyfu0uIh\nCe4YTpbY2Ft8YuWWuWVTyOamt0CgmjOwL2+tDtgqcJdGuhsTYLGz+/rgyBiJ\npfWyWi0LYuIwpJ7oHZfF5ChNKE0dgo3/nEoZaB+lP3pjqZjdcHzy+dUptqzp\nrrKcMbqL2UupK2uYCe95czZVs9dcE1yBdueG/0JwScMBZqgxPUwuI4UAaUfa\nCI6Tohyab1CubAsLvI5vrwfLn1BDjv+5cBhfvYmsIOQFewAiuTlqDnQi4JTx\noQTL\r\n=Zr8Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDxK3Ti8CMDmqcIXYJDZ/F+fH9kPnXthI6q96f3H7ak+AiEAy1q0u94shbWniWhKxFsE0SQmgwrZJXCdOPcyTQ8uS1I="}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.4.0_1601628702701_0.528075610412404"},"_hasShrinkwrap":false},"1.5.0":{"name":"kalman-filter","version":"1.5.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"80677550e7d4e49ca1f4331d49ff2b3bfe9cbd7c","_id":"kalman-filter@1.5.0","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6jxn0yC8L5YIdGhkH9glcb2sR1LHCLN1SP4RRuD7BO92o4CusXUc/rSIBjUeR9uGw1MvbSOXB9l51sD9FJW82g==","shasum":"2c47e5b37d07d57c0da814c74e7a0f709849f406","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.5.0.tgz","fileCount":78,"unpackedSize":36948083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgA3RCRA9TVsSAnZWagAAbpAP/jnDSsMeZorjwIvF2UB4\norh0unILurcVdx3n0JYJZNnFF6tt+nOe9c0Z+ILsiEHSzWf2WkHCOonqnZW3\nuxdXSa8j7h96F/K0CUOW56BtBiswpFJ5Sgvbv3Bm7RFDBRxLbK+ldHMSLuid\n8B4FvqG4FhZVY9/CiVu6iU5qA4BSE0GVJ+h1P052LHnRgaiOhavXBcP7XOox\nLxBMQ/erGmPejC7z/RRpQiA0JLIv7Ati6brX4hm2mmuscIzoNbr01m2/BOVw\nma/BmIu8cbX5DWR4aWTDSNEy8OTHaQqlv8336uZamIqn+cPNwx4FP5dOABmN\nkPqWTFEYm+CLw6QDklwgw5+kM8dtLKZznvAjxbRNN/RBdhChnQIpXqaM7jJp\nMA3fLuiELTEyI3EVrAjS+VneYyH/3riqCVmfJIMCFSpMqGjzqszd925qOJ0+\nQlaaeMU+uTQAm80IGNq4mEaXR+RxofM+xCPJ6YLdZioUqlXWpQrgD3TLVoZB\nWBYwK/8JCUolJyXtcejDDWBzJcCJxvPYTodNPwiat4Qq5EBK3TyPcApa8r6B\ncs5clL3uwy5QjW7IKmZGqnaHuRyU4QluHMfXecr9lX8bxDmKG3MBWfQwiUO3\nz8O23Ewdipi+lL6FBURaDnU4Egy1kgoQQLgxmw7S0l25g6qk3he21wiG6S5b\ncEB8\r\n=ysSQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBFvNDdSRmenPOdWGDiQrHod4IfvEsHIL3epPRv6f7wQIgbniYxuhf9Q++QoYrhbkLb58UaigJULRhC1W42SMaoY0="}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.5.0_1602227663775_0.15306926182813974"},"_hasShrinkwrap":false},"1.6.0":{"name":"kalman-filter","version":"1.6.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"7df8d24591ba78e9aed55f1faa7a3b119482cc88","_id":"kalman-filter@1.6.0","_nodeVersion":"12.19.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-2KtmU7vu1foGd/g6I7UV67T12bKWUBGafYVkmBYuFneEdvEZj0Uo78bVyIU8U2ALRQ1mWDOK2FtQweEVjJvgyw==","shasum":"dae53e421f361204b3eee014617c7eee92873745","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.6.0.tgz","fileCount":78,"unpackedSize":36949567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhaFlCRA9TVsSAnZWagAA+qUP/Rz2Kl8D07d9eodDssjq\npL+tZFYx7YcqumITDPOGrHeql0ylEPirYSEwushmgNvzBZ+bnID4boGaZePc\n5RLcs62BpnR/IA5jBUYiaKI0ed2iOjdT4DnvgRf7yXker5h8T5oKQ03ZZ9DH\n25TQBAzzQLUOQN4Ajj8kkc3CFX0yiB3gqZ1ScZyc2qnJZONHazmPEUQswpEd\nt9QMkdRVE63tviD1GeEwWtsuKaaUcst8t0gcJn+i1GlJrcanIcPmabWz/QtR\nFjbm1znumx+aptH55f+jLwEbo6x1KNUi5D9aiXypXgD7ITX97mF4Zls3x1G2\nr93XTSY7fOESVY/lFL6/D8HLAUusnavEH3jnZCrYcGFQ5y1bhS8Qma/OnZb5\n/h+k/XRgNVYlwpnTR2sQon0hpBPmgjZfQv3TfJ+RfhmHRn2uKQqFeFwkPsBM\nCEKaMQoVCGu8B68RL+O7nF/Cit4BAC4HFbrVMD/9wQAuEahIXM0bjOY8p0yT\nVkVHfR18xVs+a4D6b0oazx6GoMQNFYgIsVPw+p/VXSvzMoqokvj0sV7yvMwm\nLhBL+2uwlFo1moXnqCc6PVt/vDVWS5H19UXhNUXEV+dxreGtM9r/ZpztjHnX\nMxhgurGDHk6SFTayJWYnZ4CrLIQomR2YdUl+lWphjN3m0Lvs0ZRKPPHlWpkT\n8t5R\r\n=1H2T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJ/rbzLYTPwz9u74swtKrn8/6E0kL5nYgJuANbwrzGcAiEA52e7V3VeYpZHcIqB1HaJY3vcG3sKMsEiaMbkcvngAyE="}]},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.6.0_1602593123866_0.5244682447098246"},"_hasShrinkwrap":false},"1.7.0":{"name":"kalman-filter","version":"1.7.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"a32b12c2139d7072f7ed0f631f3aacbbe055acab","_id":"kalman-filter@1.7.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ivp/lk476MYvCZ6hG22thv7fYaY+qHZH0U3y1fYeNkbHRq0xN5mKidanAMEz4eD6Cuq1OHDBqskQcJFOJKeB7g==","shasum":"ecd0866666d0327a9389dd9036e9e1638253d1ab","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.7.0.tgz","fileCount":79,"unpackedSize":36951268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf15CWCRA9TVsSAnZWagAA2fkP/jnJqJzlC3pqCxnA0o1e\nUURNnXCpZkpmGO4iwvHPang5U6ZnqkqIhMaX8kpM4mYyzQJbud9i7/4CG9K6\n9zHLjW3vjQceVnHjAY6PM5e2WhA3ZJHSXisWCbXuFZQPgRLMpT9QraNp9sd3\nTT8sldGoypQfteQhvFwMBmE+wbroPW1+dB56EPvJkMalymkunvTrLB6mNAix\nO++M5ynT7p5eeul+z0/pTIHhJ0eCvx+LoFeZV9QPHX3UIAL3jtd4VHdPFSec\nHxLO5/oDhR9P5gnX3aSU/n/50aKA1Gxr5tgy8wF1imxN+b/C0zFFbOwNZY6W\noYl4ck+wz0GJevxodPayQ7Pm0QqbSAveHJ1OXdo4Vg7W//iIpfDd6OGCmae5\nsuT9rGLmsVQxjwq4jEooIbeSakxtZr+HPzFyXNbbvKYUoyFv4+mvOPfT/gpZ\nB94mykXfPhaE3VovxWTkAm5BfA4ubUmkeldCjuNeU/C+ag23t2iivI97/ZQk\nbV3CDaY62InbVYLl9b+j23JvUe8HtUEkBoIOXLHgkduDENSQFpRI5o7iHXWY\nTC+WzLeGwjXrhPJWEIWjADf7rrDFLpXMJjmk+KSoZSKNN0rl9FVSUx4wJjAx\njHmoLQVoTDiwrl2L3mXfrcrUq3dFfLe64qU94B7hmDmt+I3d2wot/zeKYgvr\njDrI\r\n=CEf1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSq7l3fsw3Y5US6I4EFK1KRihJGpeqwbKwJMfgThc8jgIgGoprMUU3qhVfnzfa6oCabzRyn7N40pp2nVmcESi7dEE="}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.7.0_1607962773599_0.29848175919100717"},"_hasShrinkwrap":false},"1.8.0":{"name":"kalman-filter","version":"1.8.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^1.0.1"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"9ea3ff175bc933720049a6cb3595d6d3fe2dcd5c","_id":"kalman-filter@1.8.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-0OvEEMDTaEMu9TDRhtoleSBbcbO9VfEDrVSu6NfFHgZ9HN4jPCSak2+xYzygFsmHlxaLRhbS2PT8PTDa6v2sQQ==","shasum":"c559f2438b88b27e0fd1f32617412b393723f558","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.8.0.tgz","fileCount":81,"unpackedSize":36951914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf15SYCRA9TVsSAnZWagAAgkUQAI8iUYNkVzzqF6A9aIJ8\nI8nYseqiSqV57fsGAJ06Y52lgY5a7Mhyfti6F4mo+6FApB3qkdaW7n1C+8mO\nZpCcJV5R4du74DwmWbIOhmTA5O1y/fre6CJkv502Zy6/rMz3pnJTE7XS8xTm\ncTX3sVrF1DruQywHY8N0qTJyRCda3qZoaLXMSn2GwyD4Q5bYCY5oRxUwIruC\n4j0UWnkx/2Gm+60GdCWwsdQql732tzrvI28IKLjZ18ilEpdRp0l3+2N2Z5aO\nUAOEuTuLoBKUZJZVNXswTH1Ucg0yFqTgxMN4mWMaSC+1UStTZ+A369BMB5xL\nLXCcLNE3soFy6skQFTt/zHIJW70g0zvggKmwn37b96HymSHbVyomno3TnFU8\nOtkLlbAvw6yAgwYOlU9FYswHz/JNWy5PdqbA2ZeNvnDXvAVoX77UP3yc/g4j\nwRsbOukBb/QLnxY/6ea166FFIcqeoaCqMdb5U0O/VyPL2YXVypvGX5Z5QeG7\n6FKNksph9+odSGuEZVJHfWIzIJH1EPrU2Pxcb/MBYanTT4cedhftePdWiwbB\njIay0AIUuPyA4iXO/J8b/5GvjBzaQEuyjV21GZ7AzDvMUrS+ytB9xPYpKfQl\nlTN+ZfzKyQH7/VJkyU4Hq2qwDxzUIT1kWOwuyxLo1w041iMuthRj6JJkkZ62\nRFQy\r\n=V2Ug\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGorbvBvV0EhdcME3VNwvIFXKI8pVcX7NOTygTeWksKNAiBqYZ5/cp9r1HhBjbM9KpkuzkV/JsK8tPaVPRZbBOa3BA=="}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.8.0_1607963799023_0.3818909415675422"},"_hasShrinkwrap":false},"1.8.1":{"name":"kalman-filter","version":"1.8.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"browserify -d -r ./demo/src/main.js:main > docs/demo.js","serve-demo":"http-server docs/"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github","@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","xo":"^0.32.0"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**"],"rules":{"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"7e015ff4bc0832d549400bebcd9a19b2e4e08500","_id":"kalman-filter@1.8.1","_nodeVersion":"12.20.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zujMQBuvaQ3D3T/wvxVoavDFbAnl8PDKcmvESl06fJqmY4yIdd6cMerxT2GFUoAH0SDWpbsTjs1fYH5JOv1QWw==","shasum":"506f128ad83a52bf9b5d262d6b2b338bd301ecaa","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.8.1.tgz","fileCount":81,"unpackedSize":36952922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCuS3CRA9TVsSAnZWagAAp4IP/2ke4RvJ9J6w51H2JTVk\n4gI9G2KmbAfNZj94E3sTdhrpA/Jz7PDZC+fmtsspVuj0kqSijFhPzWvFSzqr\nKu2zA00H9rZMr7F0NJoQFDoleHxmMAfaFhuOXN9hzvV7TwE8XvM/XJWExIH+\nEdXet9Fr4R1gNIegpT+lA6utIsvS7rFbZyRHvjR6JhoaD3g33hUT0WYxbztJ\nRotjhxjWYUx2q+t9GQKrTor3IaACaudu0G5KZdeE7LFjET9sWgAcp3tC1gcQ\nLTGnMpWdd1iGiGU6KRUu5X8mnwxDZ2KdTQD5F5lF0R+oDgyoXfjIMmKqQlPX\nUw4nc6fg6slYMVSlXmDrkt0WzzheIKJ4HXnmPgKcRpwsxg4imzmRaV71HZC6\n31dBUFaj6RyLYUWdWQvnQvctEq5z/xc+e8etBqlXr7lNDEoRz65OYkwAT2KX\nwtSapjdM7AaygLOpsSlPi4ZCImOwPuvjX14ZBlSqmA9aR2vY9PElpwCq6cY1\nCEvcWKoFBdV0qtb2dmo6OvuipWr8qu9FDr91iLfrPDx7FooFDOYnPt9h57qF\nednJjzVTM1Lxt5PWD8gXTU/rEOqsimeBmbPYhWEPg8IGkp6KVWWhCmTVrdXb\nb+sh0UHxkUG5ahG+uBWPNbbZaIGYa4CWQbM4HbnIYya/KgVFyHq2tIImwZy3\nRs4m\r\n=X51C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKFOJugrhau+vxpi5pJCyWDUN3bd4oXuMhAtRKNO+GhAiAq+3Z6J7inxSenzaPkGoa2RIv1KJ3Qrr2OEYcd7DhCPA=="}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.8.1_1611326646462_0.8601384841145141"},"_hasShrinkwrap":false},"1.9.0":{"name":"kalman-filter","version":"1.9.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"Raw JS distribution"},{"path":"dist/kalman-filter.min.js","label":"Minified JS distribution"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"3e413a0ed0220b8471adb9af5303c2e0a415e2f2","_id":"kalman-filter@1.9.0","_nodeVersion":"12.20.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RPj8KbatEqBsj5dLS7NMkKDnn1cDNPqcUvy4FEbbNTH5B+6pxSdQCQMHsAI0DQeUia6qTqvFRblufjRl5qQGDQ==","shasum":"52e34815e6b186655a600a460a306bb0ef1d542c","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.9.0.tgz","fileCount":83,"unpackedSize":37055809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHp1NCRA9TVsSAnZWagAA1CwP/2RLottpGHQGJsGC6EjI\nkW7xCEkYdT9pZIsa+SKpt6HjA/3To8/GtKkwe+nyuswWRArpnw0wZqY3Bqg1\nDX/hgujPNFC3MzlGFpb6lanXljP3EG5zwR6/Eya5kfKPJi5Qp33ZmXHSaKYe\nAfdGKqd8q5dA7NWFMeGPS5WqcONk0RGoJwNqgDVOYjq5mQ7XGm6BwFXmw5hK\nCcMwPI4EZj8vlrYIFkB2VTOkgXIYKNJFBvSFsFPW+wac8w7uM7J9aQhIuWiw\n3nRMHbK+HgTRx7OPn9Hp+2d6eS1OSMdOuSyzQknY/tmirApdN160LlNYTy9X\nBL4FAiEJFOxqDEKEIlq1tzcsuCrnBAxxn1sBRALZUM9cWfoP59KeverVuHHN\n5g8l/0dTT/uRCiiQ3n8GAhxo1dYQVE3M1sPYcgWRn+3M3iQyQkGKUwMs13pM\n3EJJvL4If603uqdWC4nj7h8GQlFHMp4x1UiieSGD5t6k1KkkiP4nvBf+ryoa\nVOmQ2xB6krlQVOy+I1HfVAFxEeNcHYNrA9gZuvkGcvFQr7bdYgWYaaNGjApS\nnE77yQaDYcFj11DykqMjpV41p5Xn7bFYbAaU6D5OjudsGU76sWC73f6WeVe8\niWldL8NtthAx2R/Fgdyc6JiusCVQgEeHjt0e4s/WEICs53EFvgub+d2j+a9e\nPh+5\r\n=GYZH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLGZqhpooBvhLjd7ajhPnUcxBLg20eILhe/eCy0Z8DpwIhAKiIjnAtJoV7ZnX4xtu3zFtWRdIrgGyrdp2Hqk+n+pSW"}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.9.0_1612619084411_0.35657318564721785"},"_hasShrinkwrap":false},"1.9.1":{"name":"kalman-filter","version":"1.9.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"bb2f12c30da4ae192a7371e011ac0cf7a3c63f74","_id":"kalman-filter@1.9.1","_nodeVersion":"12.20.1","_npmVersion":"6.14.11","dist":{"integrity":"sha512-pTR4tvscCr3nFcHro9LCUHd8oHl/e/PGEFyakK+BNWPCcLRzuSYe3otFaarBP9TrFuSojZDPu9bcy/OPAim9Og==","shasum":"cb46c688cc8563bd1f7cd594c030f5b824de9f2f","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.9.1.tgz","fileCount":83,"unpackedSize":37055851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHqBkCRA9TVsSAnZWagAAvXYP/RBsxqdaTMlcyFNx5S6T\nDRw3XkJtVaLT1j8C0UU0MBvVdWVu01wGyf1gPT5ps7yO5cUGYNGyt/Yd5eF9\nYDsH7a3BqMbsxNVyShEhsOQ72cVjbWThLwOzeptwuWhv3WNE9EnR2RZeRNNx\naPZn/D3f5J9PyBIE5PQMM9kKx7lVG+DpUX0KzYDLEC7hMF3I7x/DfgeoDv1A\n9NjxJR094WRxQhCJEI78poW8UH8nWRQC9CrWBNBglIwwOABnkw0ENyClaAwG\nQIaDiAx5G9oRsmrHV5vDKHdu4q6DrMtRtv1QIECNBa2YTS3kxwnrYExSxzks\nEkoDyGyME0Y7D3OJ4OYUUmbQSvF3+5TmNYTTEUT763/r642WJa5K1pWx7gux\nV8LyFedoXxhYaXkjTk5T4OpVSOeGTxc0fMnd4S3UOjR6J3lyV0SLa4+CRkKS\nx57npzgP92quIos9wf2mA35AyMvn7vH2BwIyraI/uM+WHzY7ZGw4cx47R1uV\nmTP+5k4Rp3opAC6eLfo3Ynh6G99hs/hyah43sMzHUyE566K/NYPs0fP1GKP+\nLpy3teNUlEkU5YkLF36DvyXa4GYuiM9SdLB//D0FRY2FflY//nE6s0bJaG6q\nyEIPC6mPPsz1tvp+T8IehP6K5qJF3aS2FrQw+WkdSpfGU9FSEEY3Ec8/pp1r\n+cw8\r\n=BkqW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZ78skKD31S9uRJFS+emk7tVO/BLrzwLIu05b7zgViIAiEA9k+TUX9bI7nP71Fpxgtj7mfRdDgldMuoQXVqrWkwQyc="}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.9.1_1612619875819_0.4799422435592844"},"_hasShrinkwrap":false},"1.9.2":{"name":"kalman-filter","version":"1.9.2","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"7aaffccf579fd109b7d17be987696ab98894a225","_id":"kalman-filter@1.9.2","_nodeVersion":"12.20.2","_npmVersion":"6.14.11","dist":{"integrity":"sha512-/e9ybLw8tP2xhUE9Ck10wRseZngOu1XZVaj7PXOWJkW3DU+zShniviT3dsMdLFItm/MM7bINCEyPMffDVcuCPA==","shasum":"a1e6f312c1e67f06257868fbd83fe41ca858e029","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.9.2.tgz","fileCount":84,"unpackedSize":37334702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM9CYCRA9TVsSAnZWagAA0M4P/2JlP/J6O4+pn5duQyb8\nCxU0F6bzb0QcBR0Ba3lhy372QftxYEnW0OJNuSD7H7ZFc7pmhjwnd7isFBGk\nDvKnz0b7xIW6O8+MWqRHHAHfbEq4yR1Yf1p7hSYK9wDUB/Uu5jPJUZpapW4n\nVOA8mhhc7aDg6hbohUDDj5pGZtmy4ryRpBszCZMgj8nAkWxGZXqQdai0RzCu\nGAdFzFzFjbk29Q4S2rsSlZNyXOQ9qoB+O+9UKG3iEMIhFVdP7Nr5YNFpZ8ai\nyx/mVydRUaP2UiOy04wvvYDB+WCqgFD7qZb6hWsBFJh3rZYZjcbs2NP7FI4x\nZCuEorPwjz2DMXJC7ErYxQhYAFiRPiaP05vgNQnYudpPTWD/ULmfNpfSGAVq\nhvfEiaN9IR/1+q0M0kXspz65/NJ8uMKkvTvoF8snOAGr2Q59gKX0ubIG75Ka\nfsOkHdZukqYlkAnxXjIedewChHsZwjbBmTUBorpA9gFnW+7+ZpSC08EaU+9u\nAUWSRJsyUId4DC4+uKXg4W1Xx7LEGHpjZveqUjwuo6ndkx8NzbkjaeD4XFQl\nxXzBbAUmbjWB3Z6Cow2VZCaX9cPgB06kMhdS92zSFj8572YzfOEJqZ2/SzpZ\n9SZLgvude+8SUce9Lux3Kub44lCohg0D8pywFzYAAGrjO2HnUclFGK1zoo8K\nFngi\r\n=9aJy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIQDDTYPEBe8ca6qvPNXXOl9UdTVZKsdwjV9N7WvPxHLtoAIfM7I2s/feQIg0RMM5JJXMIICihXvCsDkL2Fsf3exhjg=="}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.9.2_1614008471690_0.97157064993156"},"_hasShrinkwrap":false},"1.9.3":{"name":"kalman-filter","version":"1.9.3","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"28204af24ae1a8cdbd1bba0d60f5e52f8c599ecf","_id":"kalman-filter@1.9.3","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-O8Pp7yk4JlClZp81oauSw4XeByssVlAHkRWwcn7p1Gx+cCICmBNtYynLxG5MvSISrHS6jHjOaWu7Sa4lwH/Aaw==","shasum":"48e47fa5fc7151c544e895e9096eaebd43678223","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.9.3.tgz","fileCount":87,"unpackedSize":37337609,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA8U0KXfG05+Mq2HeJ904Xacwhihz5mtnKAhv4tK8A5nAiBYJhkWsb7XD1U3DQu+rJnFcCQY/cYYsNJJsp2cCqnmuA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimnrpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrr4Q//dsHMOQ+2Vt7UkW6eqvbHS/NjZiNS3RVh3mBZ+L7Fn7ssCBLl\r\n8mRh9Odivr2yk9Rr5W2qW/fdrLrMi+Sxl0oYINbPuwudQsUXkonFi9GzB01z\r\noZxb3BWancBVt8L1rmLRZrW8EQD0JvgPWmhHxzkQklO5lIyTSDZDSOnfZ1ga\r\n9j7NybazIt1+SytAvERhqXY0VdLUySs9GX8CbKsSVg30oC7yTR9eC7/VNdTq\r\na2PfMq/rhn0O0osPx5d0gCFMru6E0DbyUkopiwGlGZc2n0b85S+zkkl8tplT\r\n14NlXaWK7B+5R26KxQgkVMIaFtcKE56Y669MGQj0gShw8cIygrQP0a1gjHxN\r\npfKzTfCWZGOP5SDc+Zi7+o9xGR7qLeRcGRZagOBHZL7op8H9J8ywJOXdYnOU\r\nTWBuUCvfzEsvr6D8OBgcmXPna6REbotdpcVyQ8VK7Irg2qmczCn+xXwOL0UI\r\nxA+I8oOy/xd35qgaacfJFjMmVqcqcIfvqVpqW5qy1spcLUcjocGm9TkJRaY7\r\n2wWphgTJwQhLfFgQQ3QQghFn/bUEvGzWRnxzLiXM7ub6Y4zXkyg9IUxhxWd8\r\nKMPOzeveHPE5fabEfbAORuUFXDv2LmMaCpPmRnZd51FeMAeqsRMt8zRX1E72\r\nkm2yIJNp2ZKU7IoWql1aRPZHdhuyIz9vwRI=\r\n=2w0c\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.9.3_1654291177071_0.09113841903223685"},"_hasShrinkwrap":false},"1.9.4":{"name":"kalman-filter","version":"1.9.4","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"6a8d3e65c8f8ad9175a13bb0897125ca99d020b0","_id":"kalman-filter@1.9.4","_nodeVersion":"16.13.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-jlrS0lQtGMia1nYVBHx1j0XgbqS1Gk1w/I/ekXz7p3PuGfRv3G/mEuU07Koj/9zTVlFlMRkmh/lMx3QVdzuWIg==","shasum":"54f44fc85acbcc9d15b7be82267643951eceec58","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.9.4.tgz","fileCount":87,"unpackedSize":37337764,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlsU2bTYtFHy9Lzxh966cgrIz2G5vXZ7o7IrASQxHasAiB/g1AmpMsWu1qXVYjoZvp7KjA0V7N8CvoVLpQlsU6Cxw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimnxBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/BA//W/40KBsA7kMMAuMTkf/CAsObl9k+a8jQ0yC1TmlmF8okI+TU\r\nxGS83zyyKzSn9/yR9KItRvTo1U506No6pEX/j944ATLaemE3cqG94GRyA5D6\r\n2RGfKG5ZgD3Kng32RDAKAuUWodGP/8NEk75hibZcZ/EHX2Tar+dTjQv5R/IC\r\nVYCH83+83m5u2RwAFMn0wROV+ZVD3Gpq4X3LacsrxdPrLhVEYirAkD84zLqy\r\nE5LwyN1wMy+hhdZr/mtdrJdIyPJcXw+cSwh/pIkigKcLDn4lrOj5YlCgw1hq\r\ncZthPSYwkILXYFxqx9PfMEUkF9hBgEfNlcs1BJs5w2BkBv09mpYg2yQvduIp\r\nTM1pDKZxaBpC8PsnG6cm6wzgcY6A0Ngugxvzx//LYC2A//m8boQDSzVQglVq\r\nIcbdgyOLXn+qyfoJMZ0kRWoFS/r/g0hfodgedasWGnY+aaro5eWc7JUeVTel\r\n0qix74BfmS3ChMXAF1msA8u50lIa8v/2V8860/CXetgkj3g8WebF4zOeevVS\r\nRZ4+hwE49vgrOb4ubKUJ0WdCaK8wqPzBIeyChwBMdMFnxIQy86jsMS2CvqPe\r\nXTuknOFEO0MFGZtUte+z2tPgglufq5TVquVidRaLFD6DE+JTjaV6xFLv3lUe\r\nBc/RsxjfjHxDKMrj/csQ9IN7V/Dp+u3zf/8=\r\n=8Ult\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.9.4_1654291520402_0.06507646017183522"},"_hasShrinkwrap":false},"1.10.0":{"name":"kalman-filter","version":"1.10.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^17.1.1","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"import/no-unresolved":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"1d031d05def723656601b938b8bf109d6af40c11","_id":"kalman-filter@1.10.0","_nodeVersion":"16.13.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-SIvISDa9oRgPcaBrCiMn89zKuqfyRqO3omLnONC1PwDiKhJBsP/7t/02OCWzGJLuLfSzYNg0k5CgYhc+RWudfw==","shasum":"07869ca7cee10e4ab0d9a9471e15308b2aac5c0a","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.10.0.tgz","fileCount":89,"unpackedSize":37339213,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSkKNze+UYPb5cKwZobRjs5K/ZImomVJPBfTcBip4LnAIhAI8N1/QgD/yuu5g5oW9Vvf858990GL95KDEnSOM6YQ6x"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipwn1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiOxAAj/xsfa3Lyq0IrW1ZIOsJpY+0IlBBpSYCV5yEiLhb6p2HiIea\r\nxApwIk6crsxn+pvQbWBxa9bbYQ6/VVvJxIJUpKgEeK6S4SBJ/cbMh9cHFlAX\r\ng0oMmOOIURuSD9qB3HgqzdkQgXeeIp4gkC7XXewiqoGSYl4nQl2sWn8rAn8H\r\nfX18rbKe64RjzITU9QYPqxKJMBdZpNww5iaq0KY3cinC2PhqzuVqvPotdG/l\r\nGlSQgK9FD6NjpdMS2vaVtWa44MM2noSoOaOyLt5Aolvi465oWUmLlWoe6GMo\r\nT7bDVbfiUI0iuT2EwQ8C4fT6JraZn1sX1GdRjR3xwinv9r1ebof0q9xmKwof\r\nY7mmcMyzpAFwt+bjVjxaYLfhznhdIjt+J0TxajM2TSD/K+h3ues6KyvFkCXg\r\nXEl5Jq04CjaXckYGGD7oV9XD4lGwjG7BQ/w6BwGOYfNsA7IWhYFooAmjuy45\r\n3njeILWy4OJb+iDtl8oWgaGvE3p3ZT+9yCIwYGxGnntjdGsmlntGDtIdmXlJ\r\nO38nUgriyDy4Ms10lP1RY/scPp1EgBn1lBijNEvdO8978slwa9k+XVoJgo5C\r\nPb5nQbAKP1Tg6hRKfaF4qx7TZDzSHapS8otsioWwVC/UcFkfvlm8ZB7/iYJm\r\nLCci0Nf6e/rzz2YzxFihjxmqTbest9OfVgk=\r\n=bAib\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.10.0_1655114229083_0.9075346004135079"},"_hasShrinkwrap":false},"1.10.1":{"name":"kalman-filter","version":"1.10.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"c6345c96af96a28124752360bb68ed7277880072","_id":"kalman-filter@1.10.1","_nodeVersion":"16.13.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-UxzHwcgkyPlUDIYsTla+vBI7laapY1e+Ph5N1WTdb6V6L8jfxUY3MGwf5TFw1KlDbfUwBLFQm2GnDageHoiCzA==","shasum":"273c592a6f43d5399023e06be8460f4656685b07","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.10.1.tgz","fileCount":89,"unpackedSize":37339419,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCD3k8SEXFfS3Aln+YxihN87fei9OW2dcHQ63N3eVQZgwIhAM8K9KqJTZr/KfJf5Wl80Ds1WyupApmuzx6ek4Nvob3Y"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisYcNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJkQ/+NGChaOnT+Z2Y1L2MkAnzlUBJs0X5eMQFDPf68Roq630ZIcfy\r\nzmZYbApRadMhgAVXNYw6+K5S41TfJ9GcQv5cCs24CwSx5L7+1/XsGxR3bOE2\r\ns55R58wPreNG68brAdccOvQnAAMDNMVZ7i/F3YOthHHcJZUEaF/LMMovJZ10\r\nIaKALF4pesRw7YSxDS5kwaOcGoSPfe3+KgM+wWW84eCTQeRjjeHyjIjxU0ha\r\nKT1JNJh+lq0l3Ep650Rtk7KDUuHFSYrJREke8WJaMSfKhRAjSQQJfuCD/wAe\r\nXdqqHvuepPvTa1pNfXp1hPOCuPqo4VGlvpZm4TJvim3eb28dekJTEGzzDYZ/\r\nglTBY86eImBmxHcn59mfdmTRmPRLceCJaxZH889gSV1U28tbB9WX0khO6Ndp\r\n2tdYuZu7kAsgIU8vkSXbH1/yJDzGHyq7Ov1ni4jjXrVHuSoI7Pr73fvs+6g+\r\nViZ32olOfbT4bvMeTVJ/O0PASY0xcHOoh7tnxlhnSOaDNS425kOntFgIGG7X\r\nZCvcW82D9MBmQlhCVrgs2EXXs4DMfcc1XSunUPCut3gZGehZD7R7mSZkb78u\r\n2PBkFmgZPOB1WhfVixEuoKuT79BgnqAEEyToRhYAjSc19mqHxSS3RxwoLLhd\r\nT+IMPW/evAHatjwSRQUEEub7qwS+KTaYK9Y=\r\n=ifgo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.10.1_1655801612870_0.6112399575811474"},"_hasShrinkwrap":false},"1.11.0":{"name":"kalman-filter","version":"1.11.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"c4c42a266f0cb07eabd876891620870db813edbc","_id":"kalman-filter@1.11.0","_nodeVersion":"16.13.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-ZdJYoOK4a/EdUrPMzOHE+jKPQp4CQqSn+jIegB9NR/+jZS2cXuikGiLbPCeABaecQUXR6xjzYSCbfQbsFMvjdg==","shasum":"209ac6ff0b2ba8971205e62dff228cdbd63a8d08","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.11.0.tgz","fileCount":45,"unpackedSize":66754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFwnXMOxdkDRgqVe7tPO2m3e5r5SE3TM9J6SuAXTvlHRAiAVeHTHfPR/RI+v+zcEcshE1EEmBOq9VU7bbmCtpRHfgQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9ohAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkFQ//WBkkszdHKbT4H07dH77bBEcXDuTEyQTOdIF/n7zPq2RZ0/dp\r\nXXYWk8gSKyqdBKaEnPenjR3sPWWb0vatyYGYaBIqLvoFM3slBYXUsbUhWPrq\r\ndwSgiJXpUsTT+ljwojiAYiBNs+XyY1Vk5tPVRE9qOpQCQF4MKQGK0hLj9Cg8\r\n45x8mKelnyPZK70WCqqS76GbO3HbI3wVTZQXtLVyQ8LFwL9BhTfLmBPM+M1q\r\nfULNwOGIV1R/KIGvOr/Th5g/qF4ynwV1xr0fSI7ouB2Zw4FgpqGRSMKw0Mq1\r\nW5QWNCA7cl2TghU9xcxFv+CH9v+TfF3ZgiOcPWN4O4CGNqe+nQ5/S1HVawK1\r\nMcx99o6tKV42/x1ZKijLAw60L6IN8jZpPY1V87F8wPd3BBvqH6jIoNt9bkpy\r\nckCB3H4G0KCkepfAXjV2vNOnBHy9so4uYU2b2ky8TFezgpHRCO1If7dawV55\r\nvAuyuu5G6cyR23Ab2QEPPvrgdujQGIICRXLtRXhOIQ0suO2iZzZv1LdCxi3j\r\nUQzMe2Fw9QsK4oQUN3nEN91bNVDhyZLW5K68MjoEUcgiZNzdgEjYANyzaTcA\r\nGB1+4Mb4LK98zoEGkTtt0mJXgJojkVuZeFTXEvhcbP/IF2ZDeCpF748Nz6UR\r\nhJOB+0W+S6d5ZdD+/v5tdI68MCcEaiFgFMU=\r\n=zB9E\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.11.0_1660323904676_0.8199895439287692"},"_hasShrinkwrap":false},"1.11.1":{"name":"kalman-filter","version":"1.11.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"dc89363e0100f02a7f03278c2af972aae2dbbe05","_id":"kalman-filter@1.11.1","_nodeVersion":"16.13.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-0r+YMQ+xsSxX9BYsDFnaBVYNaYGgx2chcp3xpIugSa+/IyauCwZq8sdQHt+UhR3Wyi5HQlv7RTpoAzd3TP6vpg==","shasum":"3080bfa9709d191d37f83aa8915f4b54eb41abd9","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.11.1.tgz","fileCount":45,"unpackedSize":66935,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4BGBYjnoH4HF16FLoctcIl4QI5O48l3XDkVzkfxkdzAIgM3a3Oid/clwDgKJs9UZ4KeS7ICcyaGpCW5Xk3Cty7TM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja7PuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr98Q//Y+hfUXeQwOtehW0nM+Npjyneo2Sl8bUm+XiLfU2roxl2KcP3\r\nl7aE/Y/T1grGebZcYJgMISnelIpcpB5phVOY5f5lH5L6IiND0219NFCQRCsJ\r\nuFsC9yOHer2QNHcojgYx/UZzvk7ZO0+lCjZXQW6xV1nYdCXMpliLKHzUdeoI\r\nMKaDSFR6v1YMjZG3aOrgKB81eIJ0FQXB/CmEqpyWFRcy8VkEOybgu5hWW9oV\r\n89htbyfSazcGNXdJO+Ji2USpQ6zfFhA5j+aqFAIgy16Zi3ipxzSJng++WlY6\r\n5hSr4hXtBS5Wwvnfn6GCoyFPhjvNzzjkVZV9NiEzUaKfvpTaWYj7EliFsbBs\r\n4wcpQxKtMumjqMH0QhIF9syB8JedP5Fq1sM6oIIDmthxKwx8MjDGGu0LoV1I\r\nHsK94hvxcdzbg8iC83tadsJnYhgoMIYcdG2OJ2CCrgJgZ2foDXOCHpEP68KE\r\n1J16Ge7Zs0Ltq8ckH7UhA8edQne9nPSdov9tuPJZQUoBHDMrs/DVT+vt6Raf\r\nr19mkfUsIBNvdJ4MZgscBFY0B82l3+9kILyBcaGSlvZovpbg/lyyA2cusuWj\r\n/wcDNJj+2cYnemi7bEd0ZgO1YaZ9cOW6KVCg33xH1Q2AHUHMCu4IrRQCyGZt\r\nna8zUEtffKy75L2M7r9ebMx217W9J6AYAaw=\r\n=ceJQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.11.1_1668002798625_0.4297291837999042"},"_hasShrinkwrap":false},"1.12.0":{"name":"kalman-filter","version":"1.12.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"build && browserify -d -r ./demo/src/main.js:main > docs/demo.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"@semantic-release/git":"^9.0.0","ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"f6633f3f7dd780062c9e35c5ed984554b3c770d3","_id":"kalman-filter@1.12.0","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-mWDX7vG3S/xiuYQVCVkJ+TyErour0rUsy62FkEwlQzkbjgmxFT+u3Y6oJAWxC20esvOuOGF53JDP+A7i/fznAw==","shasum":"c6d98a9f21291f13e8e6796e72f3760235a0b64f","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.12.0.tgz","fileCount":45,"unpackedSize":70103,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7xHp0l04QTpAEiOydeWKXPnq5f1SXpc5pl6Vc8PX4FAiEAvXnIRWzYQMaJNtDyovHHCbhoqE58kibfvVKUrM816Lw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHdomACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8Sw/+Lgr0XBYrKnEcRqdoxYtsLV7+a2F1YNs92G2+J/vd3D0As0Hl\r\neMWAfsI9bBIdOeKQp+5xMUxT2yWiS5yBQ5ZwKGF+UO/nJWwxlX390ouY4V2m\r\ndB6RcDASqYkExNtNqVZSDQ6nJo+L+YhffzyHAtAi/zApGHm8ISTmvzr6CzYW\r\na1XLq5dyZ986zliT1IQKD6DiAstX5ZesTnpzi4rjXMbxJ/3air/tMCS0c+iv\r\nE7FMJ9CNiLQzbYfRWzsl2xdYkppApddpcUTSHhhDr9bpiXdE5MdYXGdi8cDN\r\nca8EELHHDqu/FxhNXbtcnJomFCcG8epy0+BgkfMOCotgB90leDtPSLzwned+\r\n7EZlwptuVFlOHEZbt2uUb+T3EQPnYzdyTPvTVsm1JHV33iysd+o8AIANU1Sq\r\nq8P7NZl6S2Th7slrIfh/BGto2eQNM1yV6QSbrraibXnUwn+15LdBirb0djir\r\nu6/Jcg/9sojpY7v8p5FWVtl1aws5HiNr+SiA+vBccz8jEbBA9jk4thd6JTzm\r\nNZeGrp/r88OiQ83lAxD8Z+Kr0HRd+djIPY8dPVzfVVsq6bwQmxz5mTeDmv7B\r\ncEjxbO9b609/ZFCFwqmcyfvkV2Gea/rtWJDJCkOgOiTTz90TTyqenCYInUuF\r\nO5CujaMCd4Am9dVGqX2qd3RWTukOrpLoLAU=\r\n=DtQZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.12.0_1679677990675_0.1211630955034082"},"_hasShrinkwrap":false},"1.13.0":{"name":"kalman-filter","version":"1.13.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"npm run build && browserify -d -r ./demo/bike/main.js:bike > docs/dist/bike.js && browserify -d -r ./demo/bouncing-ball/main.js:bouncing-ball > docs/dist/bouncing-ball.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","http-server":"^14.1.1","matrix-inverse":"^2.0.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"c7126a3318a67129ecda6b1d672dca15c0b4a430","_id":"kalman-filter@1.13.0","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-3EBRk3ZCfbcYky6vpwDCVstlbSYM5xumiAbaRlW/lbY5fN5EW/kEeBV5xhjbimtac//bIh4DUe0hGG54aEuinA==","shasum":"5bb65195693ac8666d13657d399e71af84756ea5","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-1.13.0.tgz","fileCount":45,"unpackedSize":71350,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBPcEbuIgZoiDVznrSGk+ffoN/5Z28ENcPS1JLelo9XWAiBWYhnmHtKWqvu+erKcDwCw35N5sSlmH8dReGGAmUu5uQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkItcjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHwhAAmUME82QNZSXxnMoLwf9WscLdnJHxRBUKXwvnDdlo92LsbSFh\r\nsElGeP9WUK51w0SYWF0YRdxQjJvztbaA2pa5H7ZY4U9jEQgCwdUVGr1pKDG2\r\n75pRVVqq9LFlVnPySGdnLFr4eo2P56SNabVwMGtdmPSVcTlXBRRTrfbyXACG\r\nGT+lZHOh50aCG6ny8ExcMw0jEtTgcxWaU42LhpV/C+xc1YIBxyfhOAOqrfhx\r\ndlQPEKdgtt8Zd0QbcV3BIvziEbWC7/3OlEHTXYGw33ddQLhzae9MDTeMCwzi\r\nWi5PrmVrQvNsEV+F+FOS0/7dXgZ9QZDp9VfOtQiy2aTlnP1GI8M/T77BXnVZ\r\nYXRb0zhYfQ8aE93ecN8E+276kQvrFXvwN7M69e3LU6bf5QFHJpPBtsfxJv18\r\nBMBV5aINprpFguNmPYzP82H/k3qyzZPfx1rDRQcpB4k96g4bXKBwi+FPNL+p\r\nHBhu1QOB8IvWz28Nlx6VPESKd2jakamp13RxmcL2gxeJnF4yotTtrk/3UfVe\r\nS3Rv8UAbAWijCTp4fgK55ZLjVtNgxfKc61/ubNjwhXbxvpwHZNG2CNglVELC\r\nB9xf8C/Raervja0fHDdMkY2feuqDIrtgd11fLLLKrMyz8qI+Qx1bgg8PtCdX\r\nWAVt5juDv+hu5w6pldy/e8CaBEfQkLhIobc=\r\n=OUBB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_1.13.0_1680004899574_0.6211351284238693"},"_hasShrinkwrap":false},"2.0.0":{"name":"kalman-filter","version":"2.0.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"npm run build && browserify -d -r ./demo/bike/main.js:bike > docs/dist/bike.js && browserify -d -r ./demo/bouncing-ball/main.js:bouncing-ball > docs/dist/bouncing-ball.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^3.8.2","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","http-server":"^14.1.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.37.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0","simple-linalg":"^1.0.1"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"aef1d8af5781fb0223bc14b93cd8398cb029eb8b","_id":"kalman-filter@2.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-byJ4ahK1mQOdhtRkThpZOQMFewM96Qxnyv4+XrW8g3byGJ1v+Je/wa5ivkUBEVanSgAxWyL3HeJM4Y6icqNc5A==","shasum":"79e808137c48bc2154dd3995b0f90f5e8f84cbc7","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-2.0.0.tgz","fileCount":30,"unpackedSize":66335,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5TBl2Raq9mLJo6HBjXukOcb9OBS55J/gytgll5xJXmAiBzEGQPkv0s5G6mbd8v81yJ6kEcJpb8L+eJXkYp1uVfaQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQVBMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUkg//Xj80gffX7qBPYVPUADtp7gHPEOCe9fx0CojiLwb628XyWLeK\r\nG6+0GTAJd6Ie9EfASsee14pN0ZfRdPcDOVdVD5lVgMnkSDQmy1tLawUlbopo\r\nx46TVuzHDZfCqZ8QiUlLulnTFFw4Nb2ck8PSInH8lwpIolrTnQx85ayl/XDl\r\nn/aUVHu1L1T6ZKFxD7xeFNYrH3VVEyOEE/7/m8KwAM70Z/CLmkqxo+tHWnK+\r\nR7PSXD1+zroGef8yXN1pc6NkgChxKdKAXyHPpWgt6cKObY/MmsO4iLJ8Hqjm\r\nM4f5+Yym9GFE78wn0BvP7Nea90BGS6ClwjqOeE3J6PdeRA/oTMEHTwOIjJdv\r\nGbsQU4j4mARGEz1MlWgeYDBziLhYg8ApNOu5VQBnRIPiOPhISW0c6sVgJXd6\r\nbuLqFxOYxyznFSS+v5cMG1LyaHSqAQNTtyfy/EkcgkXsEaFxPhmCWKk1riKo\r\nzXhXGDsk3hPkT08COY/HyeK3HZOMiEpB3/3CHrFeUB9czRYbzM83spoJU1Zv\r\nw3zyBwAtL1Ffia6xeKZ84PT6vNL6UCJsj62CUYSXh47E3Lo64htrPwjXyRTk\r\nU1uZl6c76Xq+5v+hS4eMRpZliArQ3gs2BMDDzvzFvfN71Cid8UN4V9zuuPv7\r\noWjMfM+cG1Ip/QArNjJAq8o2r7sA/djJFGI=\r\n=h0tP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_2.0.0_1682001996494_0.36771321708030613"},"_hasShrinkwrap":false},"2.0.1":{"name":"kalman-filter","version":"2.0.1","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"npm run build && browserify -d -r ./demo/bike/main.js:bike > docs/dist/bike.js && browserify -d -r ./demo/bouncing-ball/main.js:bouncing-ball > docs/dist/bouncing-ball.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^5.2.0","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","http-server":"^14.1.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.54.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0","simple-linalg":"^1.0.1"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"import/extensions":0,"unicorn/no-new-array":0,"unicorn/no-array-for-each":0,"unicorn/prefer-module":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"90dc27f94ed34637f34f9b997230aefa53162cba","_id":"kalman-filter@2.0.1","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-YWxb2igY3O2RDwekAaVwu7g8mgHEVcV7Ju7yrgSq7/pq7a32GxY7BUVxkMKNu5v6+mFKwX5//75kmnT+izMzvA==","shasum":"b6c4b5fa64c492700804a56e4bb0ecdf37af17ad","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-2.0.1.tgz","fileCount":29,"unpackedSize":66549,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWFaABEV8GpjBsbyC6REY5L6qoS+3ALqi1ldMFXBQi0AiAJOcZ3fyYWCLe8A9TWSXAfWjg8QuJlJExdXrHTsbWuHQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQVLCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUWw//Vx+CFH1UmqTyxQOa4aJmjuYetiq6ikcKUua8aXk5IDvDxCXC\r\n61g6NkrNvQW8VMnVeRw7jCbwL4u7rjJAVwMgs9C+sqkzj9kYIiH/7ZO+PQcs\r\nVK86C2G3hkzMhw/gqpSgyRAMlXe5HXEZXvaUjSJltoBr8EGjw9Xp2GE8ExOr\r\n4WkpDr9FHjf8tTaQWrHfmGG0wmvJ17uIfma0hZMDf6I/k8UfwoCdSt4VjbpC\r\nVIRv4wT7gv473n5XpuD/KrlEmChXVvz9QJVG19iNB9Grorh1UqMfV3lOMzch\r\n4bjTYJsqPAjFLsf2YuYEdZqwNhwzj7ywSbGxxOqWa4OzKubKESbEG9pwYtIg\r\nVh89QvnwhKNfR8QytRJ4nCu9ra0KIr0qhAZ8vYqfW7z5mouWwITuGSLYHZZm\r\nM81OIVF1A6k1KZHoISegrOIWkqJPHFXoiSku9g+7+pRgSH+GlmLpgQADH5+c\r\nIfYpIRURQzjfApjxRBKiSWRz7dtp8xUob5XluniBQvV36OAd0+vs7fPz8vzy\r\n6KJWtS/s02+gtk+1gbALl6kphlAxx5UK5kBNX1jWBngSgagFH2ZbKW2y9MX2\r\n04qn/qele9/gcv/PFz3ObxT6IeGbB28D1hjhzTYxWMOexvCk3o5VUsP767XG\r\nhuZMTj6D3TrPJHZWtTpw9urv3gCxqDIUctc=\r\n=VP2U\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_2.0.1_1682002626580_0.5294339686155831"},"_hasShrinkwrap":false},"2.1.0":{"name":"kalman-filter","version":"2.1.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"npm run build && browserify -d -r ./demo/bike/main.js:bike > docs/dist/bike.js && browserify -d -r ./demo/bouncing-ball/main.js:bouncing-ball > docs/dist/bouncing-ball.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^5.2.0","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","http-server":"^14.1.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.54.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0","simple-linalg":"^1.2.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"import/extensions":0,"unicorn/no-new-array":0,"unicorn/no-array-for-each":0,"unicorn/prefer-module":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"304b9178cce7f4a8daf187ddb9e2ba26a4ce6ed5","_id":"kalman-filter@2.1.0","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-iCe1k5tmgaMKSG3jI1jjUzWy/qsp7EF1LBiejTQmpZ77yfsUqUTKRAlWJpwZA8S5xuzqgj9hBr90sSbjc9rSoA==","shasum":"06266f849fbd9f414bfde7b5a4cf18d425096997","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-2.1.0.tgz","fileCount":39,"unpackedSize":83037,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBrNKIcSNHrkD6VE+SpPUHpNEgMD2RjyknXMmOHXIZnQIgSfVYhSmifT4R+98Zj4o416SPap7SUwOSUQdLBYMu08k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQa8VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/WA/+NTrcbiZvyF3qAhHUZjOmpNgoSfGXKBvZpn0alHYlVwR+2wQL\r\n8pMTw/omdg5wPanWWKs827/1Os6NlpWDd0eGey8a+shi/NqaKbestg5APl8D\r\nnV8NU/GpEkV6JPcQIVTlqD3Wgd2FvR1cTgNNm5gdrK/IpP1Jk+ODM+m2qaMv\r\nF66VUo5x4coXf7AeWn3sZE5PK0ce40BXEHfxy3lZxoLfMYGg0JmBzanjpb5I\r\n8/cBFtSJ7bsQogbXNjWZHg3E8WJMdhqiN5gnsPRvH7gPyurWA9h++xuv1sHM\r\n1IpgJia09RhFf224SKCbUW5NIqoH1eaepHyzPBSFbRnWlSUSDOBGNAkSgTvX\r\ng7C5zMdKd3jpC+P75g3gkQgLtUGt0TxPpbe7d89xSQGBmWK8ctBQWRAZR1fh\r\nU7eqvmUB5znAWtwCHucoj0XtmJ70gDYUpq4ggntq/vTjY2YxGQbxpobQS2oT\r\nu/W2TIT7tpVN4c0bwTSGhI9QFSFFhaIi1/X+OjtcH4TQjKbIf7+sIq0cSHxk\r\nzmJ5Wmut98uqycd832w5Gx6vdprrzB3/Cz0bUARv+mkecv53s6W7MjwuVw8h\r\ny5xdpl83hM53xikXa0UqieqBIs/2rqMlZmY8ZnCeAA2Bwxm0dp2bZkaIlACb\r\nHb9i5Uubfwa3/nCGiIR0hkOykwfruLbgZgY=\r\n=9wX3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_2.1.0_1682026261280_0.5035330332993482"},"_hasShrinkwrap":false},"2.2.0":{"name":"kalman-filter","version":"2.2.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"npm run build && browserify -d -r ./demo/bike/main.js:bike > docs/dist/bike.js && browserify -d -r ./demo/bouncing-ball/main.js:bouncing-ball > docs/dist/bouncing-ball.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^5.2.0","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","http-server":"^14.1.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.54.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0","simple-linalg":"^1.2.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"import/extensions":0,"unicorn/no-new-array":0,"unicorn/no-array-for-each":0,"unicorn/prefer-module":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"b383f5c5f9b9206a8cf98e95cb1192f202a03805","_id":"kalman-filter@2.2.0","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-ULd1bgDUoWa7Wa6023/xiu+QQVna7FCASm+MpnhBivup53AAOTNHeN4zLg/RTr3aMeuX6dSLRDVKSLz3ffISCA==","shasum":"87c2a7b10f7766c1f7f10dfb66a60dbe94ac88e9","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-2.2.0.tgz","fileCount":40,"unpackedSize":84049,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQWg+ECmRZwTkQqt2GU3aoXaiRL+Z5YRVDWYwOn8hPWAiEA1A90sDY8QzwbJtAEJtwQKrGr+aIxv2TqkvBs0o60nbE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQcCcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrk5w//TIGebR6ROofu5MUoDeWXHZtyoKWkRLJme+Zx1iB0H4wZAbOk\r\nrAWjZX2B3AO/yeZZr6G1EvoAYL3/YKNsMagU0g6brORBKJ/h+0IAB/dhMh4a\r\nYkmXbOXdhsZFhLK29IWiz76xEjIzLeGFedRPUGSDH6qik/WEuZzeaUPDutsz\r\nlFw5dizyuZ3Tjtj/vMTc2nIPEAf6/ZH5lGGSAxMKf+f36Cza8gdyat6Aowos\r\nAoYszYpP3pH1PABKhDdJrubXfWGv82R3zvP5t2XEWKXhvrjY0CPVn/Iebzgb\r\nUdlzE+2gs380iVn21WvzaU4lOlYJ81r/zUH6hnVSn29N+WHTvzpBfQu7S3DP\r\nA/KnbFHIkR9uKCzKcO9nZymjqkNR2XhE2AJ7eR59qL7h3/5CFDaY7zpINZz2\r\nWzoEIUDIlTiyPAQK37UBufQy4kun7LkY4Zi9FkT6G2+h65NC5tEy5cYkP2OP\r\nmBILvUk7S6RoMvk5QLnofdXk6ME6kYYn2rW2PP93vzNv2HjwPxaZ8wkUH9rQ\r\nW1fxvvvX3nBpF2BbHzfHG1NWee+AO7jo7fP5zdGLuJugGc7G8dIl4D27T0tO\r\nteJFlKgAnwDAoCSMJcUU6aT0OPfVDdFUzh7tPWQIJNuBbaZKSMm/PPeTqg8S\r\nE91nOt2xLDeXS+oh/uO0Ip/5rPFBaHx8gD8=\r\n=0Uu0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_2.2.0_1682030748166_0.1417447965566705"},"_hasShrinkwrap":false},"2.3.0":{"name":"kalman-filter","version":"2.3.0","description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","main":"index.js","scripts":{"test":"xo && ava","semantic-release":"semantic-release","build-demo":"npm run build && browserify -d -r ./demo/bike/main.js:bike > docs/dist/bike.js && browserify -d -r ./demo/bouncing-ball/main.js:bouncing-ball > docs/dist/bouncing-ball.js && cp dist/kalman-filter.js docs/dist/kalman-filter.js","serve-demo":"http-server docs/","build":"NODE_OPTIONS=--openssl-legacy-provider webpack"},"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"release":{"branches":["master"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm",["@semantic-release/github",{"assets":[{"path":"dist/kalman-filter.js","label":"kalman-filter.js (Raw JS distribution)"},{"path":"dist/kalman-filter.min.js","label":"kalman-filter.min.js (Minified JS distribution)"}]}],"@semantic-release/git"]},"keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"homepage":"https://github.com/piercus/kalman-filter#readme","devDependencies":{"ava":"^5.2.0","browserify":"^16.5.2","cholesky":"^1.2.0","hasard":"^1.6.1","http-server":"^14.1.1","semantic-release":"^19.0.3","webpack":"^5.21.1","webpack-cli":"^4.5.0","xo":"^0.54.1"},"dependencies":{"@rayyamhk/matrix":"^1.0.5","matrix-inverse":"^2.0.0","simple-linalg":"^1.2.0"},"xo":{"ignores":["./docs/**","./dist/**"],"rules":{"unicorn/no-array-reduce":0,"no-multi-assign":0,"import/extensions":0,"unicorn/no-new-array":0,"unicorn/no-array-for-each":0,"unicorn/prefer-module":0,"unicorn/no-reduce":0,"ava/prefer-async-await":0,"ava/no-skip-test":1,"camelcase":[0,{"ignoreDestructuring":true}],"valid-jsdoc":[1,{"requireParamDescription":false,"requireReturnDescription":false}]}},"gitHead":"cbc9b5f665f8a6d0662e22124f6d0cfbd5a280c0","_id":"kalman-filter@2.3.0","_nodeVersion":"16.16.0","_npmVersion":"8.12.2","dist":{"integrity":"sha512-DcH0LcuJdU8uo9w8VaJvoDTQ5HtgpPAIpt81/3fP/zYBrfQVgQOa566ZVOeM6x93t5s95kByeEY26my4SrpH7w==","shasum":"e20b7e32c93aaae5b1ac94a48c8b91e11657bb16","tarball":"https://registry.npmjs.org/kalman-filter/-/kalman-filter-2.3.0.tgz","fileCount":40,"unpackedSize":84266,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlsGhG7eqQP7f9t6a9m0Yiyh6642c8ua+LqFGC5pr0jgIhAIcfoBV74cY/6av5+H+GxlDiOXL45EFi6TDHIL6oJaKk"}]},"_npmUser":{"name":"piercus","email":"piercus@gmail.com"},"directories":{},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kalman-filter_2.3.0_1685017824563_0.503114272979857"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-08T16:52:07.260Z","1.0.0":"2020-06-08T16:52:07.433Z","modified":"2023-05-25T12:30:24.849Z","1.1.0":"2020-09-17T07:43:24.346Z","1.1.1":"2020-09-17T07:53:32.566Z","1.1.2":"2020-09-17T08:10:17.246Z","1.1.3":"2020-09-17T08:42:03.412Z","1.1.4":"2020-09-21T17:08:23.708Z","1.2.0":"2020-09-23T23:42:00.738Z","1.3.0":"2020-09-25T08:08:40.549Z","1.3.1":"2020-09-25T08:17:55.295Z","1.4.0":"2020-10-02T08:51:43.417Z","1.5.0":"2020-10-09T07:14:25.063Z","1.6.0":"2020-10-13T12:45:24.700Z","1.7.0":"2020-12-14T16:19:34.429Z","1.8.0":"2020-12-14T16:36:40.139Z","1.8.1":"2021-01-22T14:44:07.636Z","1.9.0":"2021-02-06T13:44:45.244Z","1.9.1":"2021-02-06T13:57:56.580Z","1.9.2":"2021-02-22T15:41:12.426Z","1.9.3":"2022-06-03T21:19:37.819Z","1.9.4":"2022-06-03T21:25:21.148Z","1.10.0":"2022-06-13T09:57:09.709Z","1.10.1":"2022-06-21T08:53:33.549Z","1.11.0":"2022-08-12T17:05:04.926Z","1.11.1":"2022-11-09T14:06:38.818Z","1.12.0":"2023-03-24T17:13:10.880Z","1.13.0":"2023-03-28T12:01:39.739Z","2.0.0":"2023-04-20T14:46:36.681Z","2.0.1":"2023-04-20T14:57:06.750Z","2.1.0":"2023-04-20T21:31:01.508Z","2.2.0":"2023-04-20T22:45:48.349Z","2.3.0":"2023-05-25T12:30:24.751Z"},"maintainers":[{"name":"piercus","email":"piercus@gmail.com"}],"description":"Kalman filter (and Extended Kalman Filter) Multi-dimensional implementation in Javascript","homepage":"https://github.com/piercus/kalman-filter#readme","keywords":["kalman","filter","kalmanfilter","kalman-filter","extended","extended-kalman-filter","extended-kalmanfilter","extended-kalman","extended-filter","constant","speed","acceleration","dynamic","model","tracking","math","smoothing","multi-dimension","noise","linear","dynamic","models","forward","smoothing","online","forward-backward","smoothing","autocovariance","correlation","covariance"],"repository":{"type":"git","url":"git+https://github.com/piercus/kalman-filter.git"},"author":{"name":"Pierre Colle","email":"piercus@gmail.com"},"bugs":{"url":"https://github.com/piercus/kalman-filter/issues"},"license":"MIT","readme":"![Kalman Filter Bike Gif](./demo/demo_light.gif)\n\n# kalman-filter\n\n[Kalman Filter](https://en.wikipedia.org/wiki/Kalman_filter) in JavaScript (for both node.js and the browser)\n\nThis library implements following features:\n* N-dimensional Kalman Filter (for [multivariate Gaussian](https://en.wikipedia.org/wiki/Multivariate_normal_distribution))\n* Forward Kalman Filter (Online)\n* Forward-Backward Smoothing Kalman Filter\n* Split Prediction/Correction steps\n* Extended Kalman Filter\n* Correlation Matrix\n\n## Demos/Examples\n\n|Link | Description | Image |\n|---|---|---|\n| [Bikes](http://piercus.github.io/kalman-filter) | 4D Constant Acceleration boxes | ![Kalman Filter Bike Gif](./demo/demo_light.gif) |\n| [Bouncing Ball](http://piercus.github.io/kalman-filter/bouncing-ball.html) | 2D constant acceleration with bounces | ![3x3 rotation matrix](./demo/bouncing-ball.gif) |\n| [Sinusoidale Extended Kalman-Filter](https://observablehq.com/d/a033acc0859cc0de) | 1D Extended KF Sinus | ![Kalman Filter Sin Extended](./demo/Sinus-EKF.png) |\n| [Code pen GPS Data smoothing with constant speed](https://codepen.io/piercus/pen/wvoqPww) | 2D constant speed | ![Kalman Filter GPS](./demo/gps.png) |\n| [Partial Observation](https://github.com/piercus/kalman-filter/issues/34) | 1D / 2 sensor with missing values | ![partial](./demo/partial.png) |\n| [Smooth 3x3 rotation matrix](https://github.com/piercus/kalman-filter/issues/37) | 4d smoothing | ![3x3 rotation matrix](./demo/quaternion.png) |\n\n[Open an issue](https://github.com/piercus/kalman-filter/issues/new) to add more examples in this section explaining how you use this library !\n\n## Installation\n\n### Npm\n\n\n```sh\nnpm install kalman-filter\n```\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n```\n\n### Browser usage\n\nDownload the file `kalman-filter.min.js` from [Releases page](https://github.com/piercus/kalman-filter/releases)\n\nAdd it to your project like :\n\n```html\n<script src=\"dist/kalman-filter.min.js\"></script>\n<script>\nvar {KalmanFilter} = kalmanFilter;\n\n// ... do whatever you want with KalmanFilter\n\n</script>\n```\n\n\n## Simple Example\n\n### 1D Smoothing Usage\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst observations = [0, 0.1, 0.5, 0.2, 3, 4, 2, 1, 2, 3, 5, 6];\n// this is creating a smoothing\nconst kFilter = new KalmanFilter();\nconst res = kFilter.filterAll(observations)\n// res is a list of list (for multidimensional filters)\n// [\n//   [ 0 ],\n//   [ 0.06666665555510715 ],\n//   [ 0.3374999890620582 ],\n//   [ 0.25238094852592136 ],\n//   [ 1.9509090885288296 ],\n//   [ 3.2173611101031616 ],\n//   [ 2.4649867370240965 ],\n//   [ 1.5595744679428254 ],\n//   [ 1.831772445766021 ],\n//   [ 2.5537767922925685 ],\n//   [ 4.065625882212133 ],\n//   [ 5.26113483436549 ]\n// ]\n```\nResult is :\n\n![Kalman Filter 1d example](./demo/example-1D.png)\n\n### 2D Smoothing Usage\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst observations = [[0, 1], [0.1, 0.5], [0.2, 3], [4, 2], [1, 2]];\nconst kFilter = new KalmanFilter({observation: 2});\n// equivalent to\n// new KalmanFilter({\n// \tobservation: {\n// \t\tname: 'sensor',\n// \t\tsensorDimension: 2\n// \t}\n// });\nconst res = kFilter.filterAll(observations)\n```\n\n### 2D Smoothing with constant-speed model\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst observations = [[0, 1], [0.1, 0.5], [0.2, 3], [4, 2], [1, 2]];\nconst kFilter = new KalmanFilter({\n\tobservation: 2,\n\tdynamic: 'constant-speed'\n});\n// equivalent to\n// new KalmanFilter({\n// \tobservation: {\n// \t\tname: 'sensor',\n// \t\tsensorDimension: 2\n// \t},\n// \tdynamic: {\n// \t\tname: 'constant-speed'\n// \t},\n// });\nconst res = kFilter.filterAll(observations)\n```\n\n## How to instantiate your kalman filter\n\n### Advanced usage\n\nThis library gives you the ability to fully configure your kalman-filter.\n\nFor advanced usage, here is the correspondance table with the matrix name of the [wikipedia article](https://en.wikipedia.org/wiki/Kalman_filter#Underlying_dynamical_system_model)\n\n| Wikipedia article | kalman-filter js lib |\n|--|--|\n| $F_k$, the state-transition model | `dynamic.transition` |\n| $H_k$, the observation model | `observation.stateProjection` |\n| $Q_k$, the covariance of the process noise | `dynamic.covariance` |\n| $R_k$, the covariance of the observation noise | `observation.covariance` |\n| $B_k u_k$, the control-input model multiplied by the control vector | `dynamic.constant` |\n|$\\mathbf{P}_{0\\mid 0}$| `dynamic.init.covariance` |\n|$\\mathbf{x}_{0\\mid 0}$| `dynamic.init.mean` |\n\n### Configure the dynamic with `dynamic.name`\n\n\n`dynamic.name` is a shortcut to give you access to preconfigured dynamic models, you can also register your own shortcust see [Register models shortcuts](#register-models-shortcuts)\n\nAvailable default models as :\n* constant-position\n* constant-speed\n* constant-acceleration\n\nThis will automatically configure the `dynamic.transition` matrix.\n\n##### constant-position\n\n```math\n\\begin{align}\nState :& \\begin{bmatrix} x_t \\end{bmatrix}\\\\ \nTransition Equation :& x_t \\sim x_{t-1} \\\\ \ndynamic.transition :& \\begin{bmatrix} 1 \\end{bmatrix}\n\\end{align}\n```\n\n##### constant-speed\n\n```math\n\\begin{align}\nState :& \\begin{bmatrix} x_t \\\\ speed_t \\end{bmatrix} \\\\ \nTransition Equation :& \n\\begin{split}\nx_t &\\sim x_{t-1} + speed_{t-1},\\\\ \nspeed_t &\\sim speed_{t-1}\n\\end{split} \\\\ \ndynamic.transition :& \\begin{bmatrix} 1 & 1 \\\\ 0 & 1 \\end{bmatrix}\n\\end{align}\n```\n\n##### constant-acceleration\n\n```math\n\\begin{align}\nState :& \\begin{bmatrix} x_t \\\\ speed_t \\\\ acc_t \\end{bmatrix} \\\\ \n\nTransition Equation :& \n\\begin{split}\nx_t &\\sim x_{t-1} + speed_{t-1} \\\\ \nspeed_t &\\sim speed_{t-1} + acc_{t-1} \\\\ \nacc_t &\\sim acc_{t-1}\n\\end{split} \\\\ \ndynamic.transition :& \\begin{bmatrix} 1 & 1 & 0 \\\\ 0 & 1 & 1 \\\\ 0 & 0 & 1\\end{bmatrix}\n\\end{align}\n```\n\n#### 'constant-position' on 2D data\n\nThis is the default behavior\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tsensorDimension: 2,\n\t\tname: 'sensor'\n\t},\n\tdynamic: {\n\t\tname: 'constant-position',// observation.sensorDimension == dynamic.dimension\n\t\tcovariance: [3, 4]// equivalent to diag([3, 4])\n\t}\n});\n\n```\n\n#### 'constant-speed' on 3D data\n\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tsensorDimension: 3,\n\t\tname: 'sensor'\n\t},\n\tdynamic: {\n\t\tname: 'constant-speed',// observation.sensorDimension * 2 == state.dimension\n\t\ttimeStep: 0.1,\n\t\tcovariance: [3, 3, 3, 4, 4, 4]// equivalent to diag([3, 3, 3, 4, 4, 4])\n\t}\n});\n\n```\n\n#### 'constant-acceleration' on 2D data\n\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tsensorDimension: 2,\n\t\tname: 'sensor'\n\t},\n\tdynamic: {\n\t\tname: 'constant-acceleration',// observation.sensorDimension * 3 == state.dimension\n\t\ttimeStep: 0.1,\n\t\tcovariance: [3, 3, 4, 4, 5, 5]// equivalent to diag([3, 3, 4, 4, 5, 5])\n\t}\n});\n\n```\n\n### Instanciation of a generic linear model\n\nThis is an example of how to build a constant speed model, in 3D without `dynamic.name`, using detailed api.\n\n* `dynamic.dimension` is the size of the state\n* `dynamic.transition` is the state transition model that defines the dynamic of the system\n* `dynamic.covariance` is the covariance matrix of the transition model\n* `dynamic.init` is used for initial state (we generally set a big covariance on it)\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst timeStep = 0.1;\n\nconst huge = 1e8;\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tdimension: 3\n\t},\n\tdynamic: {\n\t\tinit: {\n\t\t\t// We just use random-guessed values here that seems reasonable\n\t\t\tmean: [[500], [500], [500], [0], [0], [0]],\n\t\t\t// We init the dynamic model with a huge covariance cause we don't\n\t\t\t// have any idea where my modeled object before the first observation is located\n\t\t\tcovariance: [\n\t\t\t\t[huge, 0, 0, 0, 0, 0],\n\t\t\t\t[0, huge, 0, 0, 0, 0],\n\t\t\t\t[0, 0, huge, 0, 0, 0],\n\t\t\t\t[0, 0, 0, huge, 0, 0],\n\t\t\t\t[0, 0, 0, 0, huge, 0],\n\t\t\t\t[0, 0, 0, 0, 0, huge],\n\t\t\t],\n\t\t},\n\t\t// Corresponds to (x, y, z, vx, vy, vz)\n\t\tdimension: 6,\n\t\t// This is a constant-speed model on 3D : [ [Id , timeStep*Id], [0, Id]]\n\t\ttransition: [\n\t\t\t[1, 0, 0, timeStep, 0, 0],\n\t\t\t[0, 1, 0, 0, timeStep, 0],\n\t\t\t[0, 0, 1, 0, 0, timeStep],\n\t\t\t[0, 0, 0, 1, 0, 0],\n\t\t\t[0, 0, 0, 0, 1, 0],\n\t\t\t[0, 0, 0, 0, 0, 1]\n\t\t],\n\t\t// Diagonal covariance for independant variables\n\t\t// since timeStep = 0.1,\n\t\t// it makes sense to consider speed variance to be ~ timeStep^2 * positionVariance\n\t\tcovariance: [1, 1, 1, 0.01, 0.01, 0.01]// equivalent to diag([1, 1, 1, 0.01, 0.01, 0.01])\n\t}\n});\n\n```\n\n### Configure the observation\n\n#### Using `sensor` observation\n\nThe observation is made from 2 different sensors with identical properties (i.e. same covariances) , the input measure will be `[<sensor0-dim0>, <sensor0-dim1>, <sensor1-dim0>, <sensor1-dim1>]`.\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst timeStep = 0.1;\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tsensorDimension: 2,// observation.dimension == observation.sensorDimension * observation.nSensors\n\t\tnSensors: 2,\n\t\tsensorCovariance: [3, 4], // equivalent to diag([3, 4])\n\t\tname: 'sensor'\n\t},\n\tdynamic: {\n\t\tname: 'constant-speed',// observation.sensorDimension * 2 == state.dimension\n\t\tcovariance: [3, 3, 4, 4]// equivalent to diag([3, 3, 4, 4])\n\t}\n});\n\n```\n\n#### Custom Observation matrix\n\nThe observation is made from 2 different sensors with different properties (i.e. different covariances), the input measure will be `[<sensor0-dim0>, <sensor0-dim1>, <sensor1-dim0>, <sensor1-dim1>]`.\n\nThis can be achived manually by using the detailed API :\n* `observation.dimension` is the size of the observation\n* `observation.stateProjection` is the matrix that transforms state into observation, also called *observation model*\n* `observation.covariance` is the covariance matrix of the *observation model*\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst timeStep = 0.1;\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tdimension: 4,\n\t\tstateProjection: [\n\t\t\t[1, 0, 0, 0],\n\t\t\t[0, 1, 0, 0],\n\t\t\t[1, 0, 0, 0],\n\t\t\t[0, 1, 0, 0]\n\t\t],\n\t\tcovariance: [3, 4, 0.3, 0.4]\n\t},\n\tdynamic: {\n\t\tname: 'constant-speed',// observation.sensorDimension * 2 == state.dimension\n\t\tcovariance: [3, 3, 4, 4]// equivalent to diag([3, 3, 4, 4])\n\t}\n});\n```\n\n## Play with Kalman Filter\n\nIn order to use the Kalman-Filter with a dynamic or observation model which is not strictly a [General linear model](https://en.wikipedia.org/wiki/General_linear_model), it is possible to use `function` in following parameters :\n* `observation.stateProjection`\n* `observation.covariance`\n* `dynamic.transition`\n* `dynamic.covariance`\n* `dynamic.constant`\n\nIn this situation this `function` will return the value of the matrix at each step of the kalman-filter.\n\nIn this example, we create a constant-speed filter with non-uniform intervals;\n\n```js\nconst {KalmanFilter} = require('kalman-filter');\n\nconst intervals = [1,1,1,1,2,1,1,1];\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tdimension: 2,\n\t\t/**\n\t\t* @param {State} opts.predicted\n\t\t* @param {Array.<Number>} opts.observation\n\t\t* @param {Number} opts.index\n\t\t*/\n\t\tstateProjection: function(opts){\n\t\t\treturn [\n\t\t\t\t[1, 0, 0, 0],\n\t\t\t\t[0, 1, 0, 0]\n\t\t\t]\n\t\t},\n\t\t/**\n\t\t* @param {State} opts.predicted\n\t\t* @param {Array.<Number>} opts.observation\n\t\t* @param {Number} opts.index\n\t\t*/\t\t\n\t\tcovariance: function(opts){\n\t\t\treturn [\n\t\t\t\t[1, 0, 0, 0],\n\t\t\t\t[0, 1, 0, 0],\n\t\t\t\t[0, 0, 1, 0],\n\t\t\t\t[0, 0, 0, 1]\n\t\t\t]\n\t\t}\n\t},\n\tdynamic: {\n\t\tdimension: 4, //(x, y, vx, vy)\n\t\t/**\n\t\t* @param {State} opts.previousCorrected\n\t\t* @param {Number} opts.index\n\t\t*/\n\t\ttransition: function(opts){\n\t\t\tconst dT = intervals[opts.index];\n\t\t\tif(typeof(dT) !== 'number' || isNaN(dT) || dT <= 0){\n\t\t\t\tthrow(new Error('dT should be positive number'))\n\t\t\t}\n\t\t\treturn [\n\t\t\t\t[1, 0, dT, 0],\n\t\t\t\t[0, 1, 0, dT]\n\t\t\t\t[0, 0, 1, 0]\n\t\t\t\t[0, 0, 0, 1]\n\t\t\t]\n\t\t},\n\t\t/**\n\t\t* @param {State} opts.previousCorrected\n\t\t* @param {Number} opts.index\n\t\t*/\t\t\n\t\tcovariance: function(opts){\n\t\t\tconst dT = intervals[opts.index];\n\t\t\tif(typeof(dT) !== 'number' || isNaN(dT) || dT <= 0){\n\t\t\t\tthrow(new Error('dT should be positive number'))\n\t\t\t}\t\t\t\n\t\t\treturn [\n\t\t\t\t[1, 0, 0, 0],\n\t\t\t\t[0, 1, 0, 0],\n\t\t\t\t[0, 0, 1*dT, 0],\n\t\t\t\t[0, 0, 0, 1*dT]\n\t\t\t]\n\t\t}\n\t}\n});\n```\n### Extended\n\nIf you want to implement an [extended kalman filter](https://en.wikipedia.org/wiki/Extended_Kalman_filter)\n\nYou will need to put your non-linear functions in the following parameters\n\n* `observation.fn`\n* `dynamic.fn`\n\nSee an example in [Sinusoidale Extended Kalman-Filter](https://observablehq.com/d/a033acc0859cc0de)\n\n### Using Control model\n\nIf you want to add a constant parameter in the dynamic model (also called `control input`), you can use `dynamic.constant` function\n\nSee an example code in `demo/bouncing-ball` or the result in [Bouncing Ball example](https://observablehq.com/d/a033acc0859cc0de)\n\n\n## Use your kalman filter\n\n### Simple Batch usage (run it once for the whole dataset)\n\n```js\nconst observations = [[0, 2], [0.1, 4], [0.5, 9], [0.2, 12]];\n\n// batch kalman filter\nconst results = kFilter.filterAll(observations);\n```\n### Online filter\n\nWhen using online usage (only the forward step), the output of the `filter` method is an instance of the [\"State\"](/lib/state.js) class.\n\n```js\n// online kalman filter\nlet previousCorrected = null;\nconst results = [];\nobservations.forEach(observation => {\n\tpreviousCorrected = kFilter.filter({previousCorrected, observation});\n\tresults.push(previousCorrected.mean);\n});\n```\n\n### Predict/Correct detailed usage (run it online)\n\nIf you want to use KalmanFilter in more advanced usage, you might want to dissociate the `predict` and the `correct` functions\n\n```js\n// online kalman filter\nlet previousCorrected = null;\nconst results = [];\nobservations.forEach(observation => {\n\tconst predicted = kFilter.predict({\n\t\tpreviousCorrected\n\t});\n\n\t const correctedState = kFilter.correct({\n\t\tpredicted,\n\t\tobservation\n\t});\n\n\tresults.push(correctedState.mean);\n\n\t// update the previousCorrected for next loop iteration\n\tpreviousCorrected = correctedState\n});\n\nconsole.log(results);\n```\n\n### Batch Forward - Backward smoothing usage\n\nThe Forward - Backward process\n\n```js\n// batch kalman filter\nconst results = kFilter.filterAll({observations, passMode: 'forward-backward'});\n```\n\n## Register models shortcuts\n\nTo get more information on how to build a dynamic model, check in the code `lib/dynamic/` (or `lib/observation` for observation models).\n\nIf you feel your model can be used by other, do not hesitate to create a Pull Request.\n\n```js\nconst {registerDynamic, KalmanFilter, registerObservation} = require('kalman-filter');\n\nregisterObservation('custom-sensor', function(opts1){\n\t// do your stuff\n\treturn {\n\t\tdimension,\n\t\tstateProjection,\n\t\tcovariance\n\t}\n})\n\nregisterDynamic('custom-dynamic', function(opts2, observation){\n\t// do your stuff\n\t// here you can use the parameter of observation (like observation.dimension)\n\t// to build the parameters for dynamic\n\treturn {\n\t\tdimension,\n\t\ttransition,\n\t\tcovariance\n\t}\n})\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tname: 'custom-sensor',\n\t\t// ... fields of opts1\n\t},\n\tdynamic: {\n\t\tname: 'custom-dynamic',\n\t\t// ... fields of opts2\n\t}\n});\n\n```\n\n## Set your model parameters from the ground truths state values\n\nIn order to find the proper values for covariance matrix, we use following approach :\n\n```js\n\nconst {getCovariance, KalmanFilter} = require('kalman-filter');\n\n// Ground truth values in the dynamic model hidden state\nconst groundTruthStates = [ // here this is (x, vx)\n\t[[0, 1.1], [1.1, 1], [2.1, 0.9], [3, 1], [4, 1.2]], // example 1\n\t[[8, 1.1], [9.1, 1], [10.1, 0.9], [11, 1], [12, 1.2]] // example 2\n]\n\n// Observations of this values\nconst measures = [ // here this is x only\n\t[[0.1], [1.3], [2.4], [2.6], [3.8]], // example 1\n\t[[8.1], [9.3], [10.4], [10.6], [11.8]] // example 2\n];\n\nconst kFilter = new KalmanFilter({\n\tobservation: {\n\t\tname: 'sensor',\n\t\tsensorDimension: 1\n\t},\n\tdynamic: {\n\t\tname: 'constant-speed'\n\t}\n})\n\nconst dynamicCovariance = getCovariance({\n\tmeasures: groundTruthStates.map(ex =>\n\t\treturn ex.slice(1)\n\t).reduce((a,b) => a.concat(b)),\n\taverages: groundTruthStates.map(ex =>\n\t\treturn ex.slice(1).map((_, index) => {\n\t\t\treturn kFilter.predict({previousCorrected: ex[index - 1]}).mean;\n\t\t})\n\t).reduce((a,b) => a.concat(b))\n});\n\nconst observationCovariance = getCovariance({\n\tmeasures: measures.reduce((a,b) => a.concat(b)),\n\taverages: groundTruthStates.map((a) => a[0]).reduce((a,b) => a.concat(b))\n});\n\n```\n\n## How to measure how good does a specific model fits with data\n\nThere are different ways to measure the performance of a model against some measures :\n\n### Model fits with a specific measurements\n\nWe use [Mahalanobis distance](https://en.wikipedia.org/wiki/Mahalanobis_distance)\n\n```js\nconst observations = [[0, 2], [0.1, 4], [0.5, 9], [0.2, 12]];\n\n// online kalman filter\nlet previousCorrected = null;\nconst results = [];\n\nobservations.forEach(observation => {\n\tconst predicted = kFilter.predict({\n\t\tpreviousCorrected\n\t});\n\n\tconst dist = predicted.mahalanobis(observation)\n\n\tpreviousCorrected = kFilter.correct({\n\t\tpredicted,\n\t\tobservation\n\t});\n\n\tdistances.push(dist);\n});\n\nconst distance = distances.reduce((d1, d2) => d1 + d2, 0);\n```\n### How precise is this Model\n\nWe compare the model with random generated numbers sequence.\n\n```js\nconst h = require('hasard')\nconst observationHasard = h.array({value: h.number({type: 'normal'}), size: 2})\n\nconst observations = observationHasard.run(200);\n\n// online kalman filter\nlet previousCorrected = null;\nconst results = [];\n\nobservations.forEach(observation => {\n\tconst predicted = kFilter.predict({\n\t\tpreviousCorrected\n\t});\n\n\tconst dist = predicted.mahalanobis(measure)\n\n\tpreviousCorrected = kFilter.correct({\n\t\tpredicted,\n\t\tobservation\n\t});\n\n\tdistances.push(dist);\n});\n\nconst distance = distances.reduce((d1, d2) => d1 + d2, 0);\n\n```\n\n### Credits\n\nThanks to _Adrien Pellissier_ for his hard work on this library.\n\n### Similar Project\n\nFor a simple 1D Kalman filter in javascript see https://github.com/wouterbulten/kalmanjs\n","readmeFilename":"README.md"}