UNPKG

27.8 kBJavaScriptView Raw
1// http://g14n.info/algebra
2require=function t(e,i,n){function r(a,s){if(!i[a]){if(!e[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=i[a]={exports:{}};e[a][0].call(l.exports,(function(t){return r(e[a][1][t]||t)}),l,l.exports,t,e,i,n)}return i[a].exports}for(var o="function"==typeof require&&require,a=0;a<n.length;a++)r(n[a]);return r}({1:[function(t,e,i){var n=t("algebra-ring"),r=t("static-props"),o=t("./package.json");function a(t){return o.name+": "+t}var s={};function c(t){if(!function(t){if(1===t)return!1;if(2===t)return!0;for(var e=Math.sqrt(t),i=2;i<=e;i++)if(t%i==0)return!1;return!0}(t.length))throw new TypeError(s.groupCardinalityIsNotPrime);if(!function(t){for(var e=0;e<t.length-1;e++)for(var i=e+1;i<t.length;i++)if(t[e]===t[i])return!1;return!0}(t))throw new TypeError(s.elementsAreNotUnique);var e=t[0],i=t[1];function r(e){return t.indexOf(e)}function o(e,i){var n=r(e)*r(i);return n%=t.length,t[n]}return n([e,i],{equality:function(t,e){return t===e},contains:function(e){return t.indexOf(e)>-1},addition:function(e,i){var n=r(e)+r(i);return n%=t.length,t[n]},negation:function(e){var i=r(e);return 0===i?e:(i=t.length-i,t[i])},multiplication:o,inversion:function(e){for(var i=0;i<t.length;i++)if(t[1]===o(e,t[i]))return t[i]}})}r(s)({groupCardinalityIsNotPrime:a("elements length must be prime"),elementsAreNotUnique:a("elements must be unique")}),r(c)({error:s}),e.exports=c},{"./package.json":2,"algebra-ring":5,"static-props":15}],2:[function(t,e,i){e.exports={_args:[["algebra-cyclic@0.2.4","/Users/io/github.com/fibo/algebra"]],_from:"algebra-cyclic@0.2.4",_id:"algebra-cyclic@0.2.4",_inBundle:!1,_integrity:"sha512-XHcsVP3qp/RtfRgEaeL7G2OrUMFL69j9sIimJhccajQiA+O5z/pQ1ZGb6R70XSr1Ev8Ky36gemdZ6PckZNgCnQ==",_location:"/algebra-cyclic",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"algebra-cyclic@0.2.4",name:"algebra-cyclic",escapedName:"algebra-cyclic",rawSpec:"0.2.4",saveSpec:null,fetchSpec:"0.2.4"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/algebra-cyclic/-/algebra-cyclic-0.2.4.tgz",_spec:"0.2.4",_where:"/Users/io/github.com/fibo/algebra",author:{name:"Gianluca Casati",url:"http://g14n.info"},bugs:{url:"https://github.com/fibo/algebra-cyclic/issues"},dependencies:{"algebra-ring":"^0.6.3","static-props":"^1.1.1"},description:"creates a space isomorphic to Zp: the cyclic ring of order p, where p is prime",devDependencies:{"pre-commit":"^1.1.2",standa:"^2.0.1",tape:"^4.9.0"},homepage:"http://g14n.info/algebra-cyclic",keywords:["math","algebra","prime","cyclic"],license:"MIT",main:"index.js",name:"algebra-cyclic","pre-commit":["lint","test"],repository:{type:"git",url:"git+https://github.com/fibo/algebra-cyclic.git"},scripts:{"check-deps":"npm outdated",lint:"standa --fix",postversion:"git push origin v${npm_package_version}; npm publish; git push origin master",test:"tape test.js"},version:"0.2.4"}},{}],3:[function(t,e,i){const n=t("not-defined"),r=t("static-props"),o=t("./package.json");function a(t){return o.name+": "+t}const s={};function c(t,e){n(t)&&(t={}),n(e)&&(e={});const i={compositionLaw:"addition",contains:"contains",disequality:"disequality",equality:"equality",identity:"zero",inverseCompositionLaw:"subtraction",inversion:"negation",notContains:"notContains"};function o(t){return"string"==typeof e[t]?e[t]:i[t]}function a(t,e,i){return function(){const n=[].slice.call(arguments,0,i);if(p.apply(null,n))return t[e].apply(null,n);throw new TypeError(s.argumentIsNotInGroup)}}const c=a(t,"compositionLaw",2),u=a(t,"inversion",1);function l(){return[].slice.call(arguments).reduce(c)}function p(){const e=[].slice.call(arguments);for(var i in e)if(!t.contains(e[i]))return!1;return!0}function d(t){return!p(t)}function m(e,i){return!t.equality(e,i)}function g(t){const e=[].slice.call(arguments,1);return c(t,e.map(u).reduce(c))}const f=t.identity;if(!0!==t.equality(f,f))throw new TypeError(s.equalityIsNotReflexive);if(!t.contains(f))throw new TypeError(s.identityIsNotInGroup);if(!t.equality(t.compositionLaw(f,f),f))throw new TypeError(s.identityIsNotNeutral);const h={};h[o("identity")]=f,h[o("contains")]=()=>p,h[o("notContains")]=()=>d,h[o("compositionLaw")]=()=>l,h[o("inversion")]=()=>u,h[o("inverseCompositionLaw")]=()=>g,h[o("equality")]=()=>t.equality,h[o("disequality")]=()=>m;const y={};return r(y)(h),y}r(s)({argumentIsNotInGroup:a("argument is not contained in group set"),equalityIsNotReflexive:a('"equality" is not reflexive'),identityIsNotInGroup:a('"identity" must be contained in group set'),identityIsNotNeutral:a('"identity" is not neutral')}),r(c)({error:s}),e.exports=c},{"./package.json":4,"not-defined":14,"static-props":15}],4:[function(t,e,i){e.exports={_args:[["algebra-group@0.6.2","/Users/io/github.com/fibo/algebra"]],_from:"algebra-group@0.6.2",_id:"algebra-group@0.6.2",_inBundle:!1,_integrity:"sha512-//pQGrgIU/Yn9B3UlquJao+GNgKILnD4j5SPpKxQCVe234Mqce6VclldvuDNa8r8HpY67up8UyY8IwIeQeVVAA==",_location:"/algebra-group",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"algebra-group@0.6.2",name:"algebra-group",escapedName:"algebra-group",rawSpec:"0.6.2",saveSpec:null,fetchSpec:"0.6.2"},_requiredBy:["/algebra-ring"],_resolved:"https://registry.npmjs.org/algebra-group/-/algebra-group-0.6.2.tgz",_spec:"0.6.2",_where:"/Users/io/github.com/fibo/algebra",author:{name:"Gianluca Casati",url:"http://g14n.info"},bugs:{url:"https://github.com/fibo/algebra-group/issues"},dependencies:{"not-defined":"^2.0.1","static-props":"^1.1.1"},description:"defines and algebra group structure",devDependencies:{"dot-editorconfig":"^1.1.0","pre-commit":"^1.2.2",standa:"^2.0.1",tape:"^4.9.0"},homepage:"http://g14n.info/algebra-group",keywords:["algebra"],license:"MIT",main:"algebra-group.js",name:"algebra-group","pre-commit":["lint","test","check-deps"],repository:{type:"git",url:"git://github.com/fibo/algebra-group.git"},scripts:{"check-deps":"npm outdated",lint:"standa",postversion:"git push origin v${npm_package_version}; npm publish; git push origin master",test:"NODE_PATH=. tape test.js"},version:"0.6.2"}},{}],5:[function(t,e,i){const n=t("algebra-group"),r=t("static-props"),o=t("./package.json");function a(t){return o.name+": "+t}const s={cannotDivideByZero:a("Cannot divide by zero"),doesNotContainIdentity:a('"identity" must be contained in ring set'),identityIsNotNeutral:a('"identity" is not neutral')};function c(t,e){const i=n({identity:t[0],contains:e.contains,equality:e.equality,compositionLaw:e.addition,inversion:e.negation});function r(t){if(i.equality(t,i.zero))throw new TypeError(s.cannotDivideByZero);return e.inversion(t)}i.multiplication=function(){return[].slice.call(arguments).reduce(e.multiplication)},i.inversion=r,i.division=function(t){const i=[].slice.call(arguments,1);return e.multiplication(t,i.map(r).reduce(e.multiplication))};const o=t[1];if(i.notContains(o))throw new TypeError(s.doesNotContainIdentity);if(i.disequality(e.multiplication(o,o),o))throw new TypeError(s.identityIsNotNeutral);if(i.notContains(t[1]))throw new TypeError(s.doesNotContainIdentity);return i.one=t[1],i}r(c)({error:s}),e.exports=c},{"./package.json":6,"algebra-group":3,"static-props":15}],6:[function(t,e,i){e.exports={_args:[["algebra-ring@0.6.3","/Users/io/github.com/fibo/algebra"]],_from:"algebra-ring@0.6.3",_id:"algebra-ring@0.6.3",_inBundle:!1,_integrity:"sha512-aNALbw7Pal6APNE9EqbsFGmQZ+9ZSBXGIwsLVydypeEZC+YCaymnAkqV0hJYuPGjUqdwTa5XP7JsmNnmqAw4HA==",_location:"/algebra-ring",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"algebra-ring@0.6.3",name:"algebra-ring",escapedName:"algebra-ring",rawSpec:"0.6.3",saveSpec:null,fetchSpec:"0.6.3"},_requiredBy:["/algebra-cyclic","/cayley-dickson"],_resolved:"https://registry.npmjs.org/algebra-ring/-/algebra-ring-0.6.3.tgz",_spec:"0.6.3",_where:"/Users/io/github.com/fibo/algebra",author:{name:"Gianluca Casati",url:"http://g14n.info"},bugs:{url:"https://github.com/fibo/algebra-ring/issues"},dependencies:{"algebra-group":"^0.6.1","static-props":"^1.1.1"},description:"defines an algebra ring structure",devDependencies:{"pre-commit":"^1.1.2",standa:"^2.0.1",tape:"^4.9.0"},homepage:"http://g14n.info/algebra-ring",keywords:["algebra","ring","structure"],license:"MIT",main:"algebra-ring.js",name:"algebra-ring","pre-commit":["lint","test","check-deps"],repository:{type:"git",url:"git+https://github.com/fibo/algebra-ring.git"},scripts:{"check-deps":"npm outdated",lint:"standa --fix",postversion:"git push origin v${npm_package_version}; npm publish; git push origin master",test:"NODE_PATH=. tape test.js"},version:"0.6.3"}},{}],7:[function(t,e,i){var n=t("algebra-ring"),r=Math.pow.bind(null,2);function o(t,e){return 1===e?t:function(i){for(var n=[],r=0;r<e;r++)n.push(t(i[r]));return n}}function a(t,e){return 1===e?t:function(i,n){for(var r=[],o=0;o<e;o++)r.push(t(i[o],n[o]));return r}}e.exports=function(t,e){var i=n([t.zero,t.one],t);if(0===e)return i;var s=i.zero,c=i.one,u=i.addition,l=i.multiplication,p=i.negation,d=i.disequality,m=i.notContains,g=[],f=[],h=r(e);g.push(c),f.push(s);for(var y=1;y<h;y++)g.push(s),f.push(s);function b(t,e){if(0===e)return function(t){return t};var i=r(e);return function(e){for(var n=[e[0]],r=1;r<i;r++)n.push(t(e[r]));return n}}var v=b(p,e),x=function t(e,i,n,s){if(0===s)return function(t,e){return n(t[0],e[0])};var c=r(s),u=r(s-1),l=a(e,u),p=b(i,s-1),d=t(e,i,n,s-1),m=o(i,u);return function(t,e){for(var i=[],n=[],r=[],o=[],a=0;a<u;a++)i.push(t[a]),r.push(e[a]);for(var s=u;s<c;s++)n.push(t[s]),o.push(e[s]);var g=l(d(i,r),m(d(p(o),n))),f=l(d(o,i),d(n,p(r)));if(1===u)return[g,f];for(var h=[],y=0;y<u;y++)h.push(g[y]);for(var b=0;b<u;b++)h.push(f[b]);return h}}(u,p,l,e);function w(t){for(var e=s,i=x(t,v(t)),n=0;n<h;n++)e=u(e,i[n]);return e}var _=a(u,h),q=o(p,h),C=n([f,g],{contains:function(t){for(var e=0;e<h;e++)if(m(t[e]))return!1;return!0},equality:function(t,e){for(var i=0;i<h;i++)if(d(t[i],e[i]))return!1;return!0},addition:_,negation:q,multiplication:x,inversion:function(t){for(var e=w(t),n=v(t),r=0;r<h;r++)n[r]=i.division(n[r],e);return n}});return C.conjugation=v,C.norm=w,C}},{"algebra-ring":5}],8:[function(t,e,i){e.exports=i.default=function t(e,i,n,r){const o=r.length,a=[];if(1===o)for(let t=0;t<i;t++)a.push([t]);else{const e=r.slice(0,o-1).reduce(t,[]);for(let t=0;t<e.length;t++)for(let n=0;n<i;n++)a.push(e[t].concat(n))}return a}},{}],9:[function(t,e,i){var n=t("not-defined");function r(t,e,i){return e+t*i}function o(t,e,i,n,o){for(var a=[],s=0;s<e;s++)for(var c=0;c<i;c++)s!==n&&c!==o&&a.push(t[r(s,c,i)]);return a}e.exports=function t(e,i,a){if(1===e.length)return e[0];if(n(a)&&(a=Math.sqrt(e.length)),a%1!=0)throw new TypeError("data.lenght must be a square");var s;n(i)&&(i={addition:function(t,e){return t+e},multiplication:function(t,e){return t*e},negation:function(t){return-t}});for(var c=0;c<a;c++){var u=t(o(e,a,a,0,c),i,a-1);(0+c)%2==1&&(u=i.negation(u));var l=r(0,c,a);s=n(s)?i.multiplication(e[l],u):i.addition(s,i.multiplication(e[l],u))}return s}},{"not-defined":14}],10:[function(t,e,i){var n=t("not-defined"),r=t("static-props"),o=t("./package.json");function a(t){return o.name+": "+t}var s={};r(s)({leftMatrixNotCompatible:a("Cannot multiply matrix at left side"),rightMatrixNotCompatible:a("Cannot multiply matrix at right side")});var c=(t,e,i)=>e+t*i;function u(t){n(t)&&(t={});var e=t.addition,i=t.multiplication;return n(e)&&(e=(t,e)=>t+e),n(i)&&(i=(t,e)=>t*e),function(t){return function(n,r){var o=r.length/t,a=n.length/t,u=Math.floor(o)!==o,l=Math.floor(a)!==a;if(u)throw new TypeError(s.rightMatrixNotCompatible);if(l)throw new TypeError(s.leftMatrixNotCompatible);for(var p=[],d=0;d<a;d++)for(var m=0;m<o;m++){for(var g=c(d,0,t),f=c(0,m,o),h=r[f],y=n[g],b=i(y,h),v=1;v<t;v++)g=c(d,v,t),h=r[f=c(v,m,o)],y=n[g],b=e(b,i(h,y));p.push(b)}return p}}}r(u)({error:s}),e.exports=u},{"./package.json":11,"not-defined":14,"static-props":15}],11:[function(t,e,i){e.exports={_args:[["matrix-multiplication@0.5.2","/Users/io/github.com/fibo/algebra"]],_from:"matrix-multiplication@0.5.2",_id:"matrix-multiplication@0.5.2",_inBundle:!1,_integrity:"sha512-rr3Adfxn9cktAn8zYAkYiDbFZFkFflwjm9oSm5drBIQJPjFoqUlT9nq7aMwXpr+Nr4uurQKgxy+9pfk5X2YmYA==",_location:"/matrix-multiplication",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"matrix-multiplication@0.5.2",name:"matrix-multiplication",escapedName:"matrix-multiplication",rawSpec:"0.5.2",saveSpec:null,fetchSpec:"0.5.2"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/matrix-multiplication/-/matrix-multiplication-0.5.2.tgz",_spec:"0.5.2",_where:"/Users/io/github.com/fibo/algebra",author:{name:"Gianluca Casati",url:"http://g14n.info"},bugs:{url:"https://github.com/fibo/matrix-multiplication/issues"},dependencies:{"not-defined":"^2.0.1","static-props":"^1.1.1"},description:"implements row by column multiplication",devDependencies:{"pre-commit":"^1.2.2",standa:"^1.0.2",tape:"^4.8.0"},homepage:"http://g14n.info/matrix-multiplication",keywords:["algebra"],license:"MIT",main:"matrix-multiplication.js",name:"matrix-multiplication","pre-commit":["lint","test","check-deps"],repository:{type:"git",url:"git://github.com/fibo/matrix-multiplication.git"},scripts:{"check-deps":"npm outdated",lint:"standa",postversion:"git push origin v${npm_package_version}; npm publish; git push origin master",test:"NODE_PATH=. tape test.js"},version:"0.5.2"}},{}],12:[function(t,e,i){var n=t("static-props"),r=t("./package.json");var o,a={};function s(t,e){for(var i=0;i<t.length;i++)if(e[i]>t[i])throw new TypeError(a.outOfBoundIndex);var n=t.length;if(1===n)return e[0];for(var r=n-1,o=t[r],s=e[r]+o*e[r-1],c=2;c<n;c++)s+=(o*=t[r-c])*e[r-c];return s}n(a)({outOfBoundIndex:(o="Index exceeds its bound",r.name+": "+o)}),n(s)({error:a}),e.exports=s},{"./package.json":13,"static-props":15}],13:[function(t,e,i){e.exports={_args:[["multidim-array-index@0.6.0","/Users/io/github.com/fibo/algebra"]],_from:"multidim-array-index@0.6.0",_id:"multidim-array-index@0.6.0",_inBundle:!1,_integrity:"sha512-ojHXo7TNXU8i/MxkbC6BqLPR0z1Elr77PuX0xCLoQUSdo/53UjlRBcrDiaOyoLscQp1j84+qQTG1WwHPl6Vz/g==",_location:"/multidim-array-index",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"multidim-array-index@0.6.0",name:"multidim-array-index",escapedName:"multidim-array-index",rawSpec:"0.6.0",saveSpec:null,fetchSpec:"0.6.0"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/multidim-array-index/-/multidim-array-index-0.6.0.tgz",_spec:"0.6.0",_where:"/Users/io/github.com/fibo/algebra",author:{name:"Gianluca Casati",url:"http://g14n.info"},bugs:{url:"https://github.com/fibo/multidim-array-index/issues"},dependencies:{"static-props":"^1.0.0"},description:"maps multidimensional array indices to monodimensional array index",devDependencies:{"dot-editorconfig":"^1.1.0","pre-commit":"^1.2.2",standa:"^2.0.1",tape:"^4.9.0"},homepage:"http://g14n.info/multidim-array-index",keywords:["array","multidim","index"],license:"MIT",main:"multidim-array-index.js",name:"multidim-array-index","pre-commit":["check-deps","lint","test"],repository:{type:"git",url:"git://github.com/fibo/multidim-array-index.git"},scripts:{"check-deps":"npm outdated",lint:"standa",postversion:"git push origin v${npm_package_version}; npm publish; git push origin master",test:"NODE_PATH=. tape test.js"},version:"0.6.0"}},{}],14:[function(t,e,i){e.exports=function(t){return null==t||"number"==typeof t&&isNaN(t)||t.length<1&&"function"!=typeof t||"object"==typeof t&&Object.keys(t).length<1}},{}],15:[function(t,e,i){e.exports=i.default=function(t){return function(e,i){var n={};for(var r in e){var o={configurable:!1,enumerable:i},a=e[r];"function"==typeof a?o.get=a:(o.value=a,o.writable=!1),n[r]=o}Object.defineProperties(t,n)}}},{}],16:[function(t,e,i){e.exports=function(t){t()}},{}],17:[function(t,e,i){arguments[4][12][0].apply(i,arguments)},{"./package.json":18,dup:12,"static-props":15}],18:[function(t,e,i){e.exports={_args:[["multidim-array-index@0.6.0","/Users/io/github.com/fibo/algebra"]],_from:"multidim-array-index@0.6.0",_id:"multidim-array-index@0.6.0",_inBundle:!1,_integrity:"sha512-ojHXo7TNXU8i/MxkbC6BqLPR0z1Elr77PuX0xCLoQUSdo/53UjlRBcrDiaOyoLscQp1j84+qQTG1WwHPl6Vz/g==",_location:"/tensor-contraction/multidim-array-index",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"multidim-array-index@0.6.0",name:"multidim-array-index",escapedName:"multidim-array-index",rawSpec:"0.6.0",saveSpec:null,fetchSpec:"0.6.0"},_requiredBy:["/tensor-contraction"],_resolved:"https://registry.npmjs.org/multidim-array-index/-/multidim-array-index-0.6.0.tgz",_spec:"0.6.0",_where:"/Users/io/github.com/fibo/algebra",author:{name:"Gianluca Casati",url:"http://g14n.info"},bugs:{url:"https://github.com/fibo/multidim-array-index/issues"},dependencies:{"static-props":"^1.0.0"},description:"maps multidimensional array indices to monodimensional array index",devDependencies:{"dot-editorconfig":"^1.1.0","pre-commit":"^1.2.2",standa:"^2.0.1",tape:"^4.9.0"},homepage:"http://g14n.info/multidim-array-index",keywords:["array","multidim","index"],license:"MIT",main:"multidim-array-index.js",name:"multidim-array-index","pre-commit":["check-deps","lint","test"],repository:{type:"git",url:"git://github.com/fibo/multidim-array-index.git"},scripts:{"check-deps":"npm outdated",lint:"standa",postversion:"git push origin v${npm_package_version}; npm publish; git push origin master",test:"NODE_PATH=. tape test.js"},version:"0.6.0"}},{}],19:[function(t,e,i){var n=t("indices-permutations"),r=t("multidim-array-index");e.exports=function(t,e,i,o){e.sort();var a=e[0],s=e[1],c=i[a],u=i[s];if(c!==u)throw new TypeError("Contraction indices does not have the same dimension: "+a+"-th index = "+c+" but "+s+"-th index = "+u+".");function l(t,e){return t.push(e),t}if(2===i.length){for(var p=o[0],d=1;d<c;d++){var m=r(i,[d,d]);p=t(p,o[m])}return p}return i.reduce((function(t,e,i){return i!==a&&i!==s&&t.push(e),t}),[]).reduce(n,[]).reduce(function(e){return function(n,o){var u=o.reduce(l,[]);u.splice(a,0,0),u.splice(s,0,0);for(var p=r(i,u),d=e[p],m=1;m<c;m++){var g=o.reduce(l,[]);g.splice(a,0,m),g.splice(s,0,m);var f=r(i,g);d=t(d,e[f])}return n.push(d),n}}(o),[])}},{"indices-permutations":8,"multidim-array-index":17}],20:[function(t,e,i){e.exports={zero:!1,one:!0,contains:t=>"boolean"==typeof t,addition:(t,e)=>t||e,equality:(t,e)=>t===e,negation:t=>t,multiplication:(t,e)=>t&&e,inversion:t=>t}},{}],21:[function(t,e,i){const n=t("cayley-dickson"),r=t("not-defined"),o=t("./createScalar");e.exports=function(t,e){r(e)&&(e=1);const i=[1,2,4,8].indexOf(e);if(-1===i)throw new TypeError("Argument n must be 1, 2, 4 or 8");return o(n(t,i))}},{"./createScalar":27,"cayley-dickson":7,"not-defined":14}],22:[function(t,e,i){const n=t("algebra-cyclic"),r=t("./createScalar");e.exports=function(t){const e=n(t);return r(e)}},{"./createScalar":27,"algebra-cyclic":1}],23:[function(t,e,i){const n=t("laplace-determinant"),r=t("matrix-multiplication"),o=t("multidim-array-index"),a=t("static-props"),s=t("tensor-contraction"),c=t("./itemsPool"),u=t("./toData");function l(t){const{addition:e,equality:i,subtraction:c}=t,p=s.bind(null,e),d=!0;return function(s,m=s){const g=s*m,f=[s,m],h=s===m;function y(e){const i=u(e);return n(i,t,s)}function b(t,i){const n=u(t),r=u(i);let o=[];for(let t=0;t<g;t++)o.push(e(n[t],r[t]));return o}function v(t,e){if(t instanceof C&&e instanceof C){if(t.numCols!==e.numCols)return!1;if(t.numRows!==e.numRows)return!1}const n=u(t),r=u(e);if(n.length!==r.length)return!1;for(let t=0;t<g;t++)if(!i(n[t],r[t]))return!1;return!0}function x(e,i){const n=u(e),o=u(i);return r(t)(m)(n,o)}function w(t,e){const i=u(t),n=u(e);let r=[];for(let t=0;t<g;t++)r.push(c(i[t],n[t]));return r}function _(t){const e=u(t);return p([0,1],f,e)}function q(t){const e=u(t),i=[];for(let t=0;t<s;t++)for(let n=0;n<m;n++){const r=o([s,m],[t,n]);i[o([m,s],[n,t])]=e[r]}return i}class C{constructor(e){a(this)({data:e,numCols:m,numRows:s},d),a(this)({Scalar:t,tr:()=>this.transposed}),h&&a(this)({determinant:()=>{const e=y(this);return new t(e)},trace:()=>{const e=_(this);return new t(e)}})}equality(t){return v(this,t)}get transposed(){const e=q(this);return new(l(t)(m,s))(e)}addition(t){const e=b(this,t);return new C(e)}multiplication(t){const e=x(this,t);return new C(e)}subtraction(t){const e=w(this,t);return new C(e)}}return C.prototype.add=C.prototype.addition,C.prototype.eq=C.prototype.equality,C.prototype.equal=C.prototype.equality,C.prototype.mul=C.prototype.multiplication,C.prototype.sub=C.prototype.subtraction,a(C)({numCols:m,numRows:s}),a(C)({addition:()=>b,equality:()=>v,multiplication:()=>x,subtraction:()=>w,transpose:()=>q}),a(C)({add:C.addition,eq:C.equality,mul:C.multiplication,sub:C.subtraction,tr:C.transpose}),h&&(C.prototype.det=C.prototype.determinant,a(C)({determinant:()=>y,trace:()=>_}),a(C)({det:C.determinant})),C}}c.set("MatrixSpace",l),e.exports=l},{"./itemsPool":28,"./toData":31,"laplace-determinant":9,"matrix-multiplication":10,"multidim-array-index":12,"static-props":15,"tensor-contraction":19}],24:[function(t,e,i){const n=t("algebra-ring"),r=t("./createScalar");e.exports=function(t,e){const i=n(t,e);return r(i)}},{"./createScalar":27,"algebra-ring":5}],25:[function(t,e,i){const n=t("./itemsPool"),r=t("matrix-multiplication"),o=t("static-props"),a=t("./toData");function s(t){const{addition:e,equality:i,multiplication:s,subtraction:c}=t,u=!0;return function(l){function p(t,e){const i=a(t),n=a(e),r=i[0],o=i[1],u=i[2],l=n[0],p=n[1],d=n[2];let m=[];return m.push(c(s(o,d),s(u,p))),m.push(c(s(u,l),s(r,d))),m.push(c(s(r,p),s(o,l))),m}function d(i){const n=a(i);let r=s(n[0],n[0]);for(let t=1;t<l;t++)r=e(r,s(n[t],n[t]));return new t(r)}function m(t,i){const n=a(t),r=a(i);if(n.length!==r.length)throw new TypeError("Vectors have not the same dimension");let o=s(n[0],r[0]);for(let t=1;t<l;t++)o=e(o,s(n[t],r[t]));return o}function g(t,i){const n=a(t),r=a(i);let o=[];for(let t=0;t<l;t++)o.push(e(n[t],r[t]));return o}function f(t,e){const n=a(t),r=a(e);if(n.length!==r.length)return!1;for(let t=0;t<l;t++)if(!i(n[t],r[t]))return!1;return!0}function h(t,e){const i=a(t),n=a(e);let r=[];for(let t=0;t<l;t++)r.push(c(i[t],n[t]));return r}class y{constructor(e){o(this)({data:e},u),o(this)({norm:d(e),dimension:l,Scalar:t}),o(this)({add:()=>this.addition,eq:()=>this.equality,equal:()=>this.equality,mul:()=>this.multiplication,scalar:()=>this.scalarProduct,sub:()=>this.subtraction})}addition(t){const e=g(this,t);return new y(e)}equality(t){return f(this,t)}multiplication(e){const i=n.get("MatrixSpace"),o=function(e,i){const n=a(e),o=a(i);return r(t)(l)(n,o)}(this.data,e),s=l,c=o.length/s;return new(i(t)(s,c))(o)}scalarProduct(e){const i=m(this,e);return new t(i)}subtraction(t){const e=h(this,t);return new y(e)}}function b(t){const e=p(this.data,t);return new y(e)}return o(y)({dimension:l},u),o(y)({addition:()=>g,equality:()=>f,norm:()=>d,scalarProduct:()=>m,subtraction:()=>h}),o(y)({add:()=>y.addition,eq:()=>y.equality,scalar:()=>y.scalarProduct,sub:()=>y.subtraction}),3===l&&(y.prototype.cross=b,y.prototype.crossProduct=b,o(y)({crossProduct:()=>p,cross:()=>p})),y}}n.set("VectorSpace",s),e.exports=s},{"./itemsPool":28,"./toData":31,"matrix-multiplication":10,"static-props":15}],26:[function(t,e,i){const n=t("./toData");e.exports=function(t){return function(){return t.apply(null,[].slice.call(arguments).map(n))}}},{"./toData":31}],27:[function(t,e,i){const n=t("./coerced"),r=t("./operators.json"),o=t("static-props"),a=t("./toData");e.exports=function(t){const e={zero:t.zero,one:t.one};class i{constructor(i){if(t.notContains(i))throw new TypeError("Invalid data = "+i);o(this)({data:i},!0),o(this)(e)}}return o(i)(e),r.filter(({categories:t})=>t.includes("scalar")).forEach(e=>{const r=e.categories.includes("binary"),o=e.isClosed,s=e.isInstanceMethod,c=e.isStaticMethod,u=e.categories.includes("unary"),l=e.name;r&&(s&&(i.prototype[l]=function(){const e=[].slice.call(arguments),r=[this.data].concat(e),a=n(t[l]).apply(null,r);return o?new i(a):a}),c&&(i[l]=function(){const e=[].slice.call(arguments).map(a);return n(t[l]).apply(null,e)})),u&&(s&&(i.prototype[l]=function(){const t=i[l](this.data);return o?new i(t):t}),c&&(i[l]=function(e){return t[l](a(e))})),e.aliases.forEach(t=>{s&&(i.prototype[t]=i.prototype[l]),c&&(i[t]=i[l])})}),i}},{"./coerced":26,"./operators.json":29,"./toData":31,"static-props":15}],28:[function(t,e,i){const n=new Map;e.exports=n},{}],29:[function(t,e,i){e.exports=[{aliases:["eq","equal"],categories:["binary","scalar"],isClosed:!1,isInstanceMethod:!0,isStaticMethod:!0,name:"equality"},{aliases:["ne","notEqual"],categories:["binary","scalar"],isClosed:!1,isInstanceMethod:!0,isStaticMethod:!0,name:"disequality"},{aliases:[],categories:["scalar","unary"],isClosed:!1,isInstanceMethod:!1,isStaticMethod:!0,name:"contains"},{aliases:[],categories:["scalar","unary"],isClosed:!1,isInstanceMethod:!1,isStaticMethod:!0,name:"notContains"},{aliases:[],categories:["scalar","unary"],isClosed:!1,isInstanceMethod:!0,isStaticMethod:!1,name:"belongsTo"},{aliases:["add"],categories:["binary","group","matrix","scalar"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"addition"},{aliases:["neg"],categories:["scalar","unary"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"negation"},{aliases:["sub"],categories:["binary","group","matrix","scalar"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"subtraction"},{aliases:["mul"],categories:["binary","scalar"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"multiplication"},{aliases:["div"],categories:["binary","matrix","scalar"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"division"},{aliases:["inv"],categories:["matrix","scalar","unary"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"inversion"},{aliases:["conj"],categories:["matrix","scalar","vector","unary"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"conjugation"},{aliases:["tr"],categories:["matrix","unary"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"transposition"},{aliases:["dot","dotProduct"],categories:["binary","vector"],isClosed:!1,isInstanceMethod:!0,isStaticMethod:!0,name:"scalarProduct"},{aliases:["det"],categories:["unary","matrix"],isClosed:!1,isInstanceMethod:!0,isStaticMethod:!0,name:"determinant"},{aliases:[],categories:["unary","vector"],isClosed:!1,isInstanceMethod:!0,isStaticMethod:!0,name:"norm"},{aliases:["adj"],categories:["unary","matrix"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"adjoint"},{aliases:["cross"],categories:["binary","vector"],isClosed:!0,isInstanceMethod:!0,isStaticMethod:!0,name:"crossProduct"}]},{}],30:[function(t,e,i){const n={zero:0,one:1,contains:t=>"number"==typeof t&&isFinite(t),equality:(t,e)=>Math.abs(t-e)<Number.EPSILON,addition:(t,e)=>t+e,negation:t=>-t,multiplication:(t,e)=>t*e,inversion:t=>1/t};e.exports=n},{}],31:[function(t,e,i){const n=t("not-defined");e.exports=function(t){let e;if(e=n(t.data)?t:t.data,n(e))throw new TypeError("No data");return e}},{"not-defined":14}],algebra:[function(t,e,i){t("strict-mode")(()=>{const e=t("./src/Boole");i.Boole=e;const n=t("./src/CompositionAlgebra");i.CompositionAlgebra=n;const r=t("./src/Cyclic");i.Cyclic=r;const o=t("./src/Scalar");i.Scalar=o;const a=t("./src/realField"),s=n(a,1),c=n(a,2),u=n(a,4),l=n(a,8);i.Real=s,i.Complex=c,i.Quaternion=u,i.Octonion=l;const p=t("./src/VectorSpace"),d=t("./src/MatrixSpace");i.C=c,i.C2x2=d(c)(2),i.H=u,i.R=s,i.R2=p(s)(2),i.R3=p(s)(3),i.R2x2=d(s)(2),i.VectorSpace=p,i.MatrixSpace=d})},{"./src/Boole":20,"./src/CompositionAlgebra":21,"./src/Cyclic":22,"./src/MatrixSpace":23,"./src/Scalar":24,"./src/VectorSpace":25,"./src/realField":30,"strict-mode":16}]},{},[]);
\No newline at end of file