{var{typed:t,DenseMatrix:r}=e;return function(e,n,i,a){var o=e._values,s=e._index,u=e._ptr,l=e._size,c=e._datatype;if(!o)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var f,m=l[0],p=l[1],d=i;"string"==typeof c&&(f=c,n=t.convert(n,f),d=t.find(i,[f,f]));for(var h=[],g=[],y=[],v=0;v
{var{typed:t}=e;return function(e,n,i,a){var o,s=e._data,u=e._size,l=e._datatype,c=i;"string"==typeof l&&(o=l,n=t.convert(n,o),c=t.find(i,[o,o]));var f=u.length>0?r(c,0,u,u[0],s,n,a):[];return e.createDenseMatrix({data:f,size:V(u),datatype:o})};function r(e,t,n,i,a,o,s){var u=[];if(t===n.length-1)for(var l=0;l{var{typed:t,config:r,round:n}=e;return t(ho,{number:function(e){return Ne(e,n(e),r.epsilon)?n(e):Math.ceil(e)},"number, number":function(e,t){if(Ne(e,n(e,t),r.epsilon))return n(e,t);var[i,a]="".concat(e,"e").split("e"),o=Math.ceil(Number("".concat(i,"e").concat(Number(a)+t)));return[i,a]="".concat(o,"e").split("e"),Number("".concat(i,"e").concat(Number(a)-t))}})})),vo=vt(ho,go,(e=>{var{typed:t,config:r,round:n,matrix:i,equalScalar:a,zeros:o,DenseMatrix:s}=e,u=fo({typed:t,equalScalar:a}),l=mo({typed:t,DenseMatrix:s}),c=po({typed:t}),f=yo({typed:t,config:r,round:n});return t("ceil",{number:f.signatures.number,"number,number":f.signatures["number,number"],Complex:function(e){return e.ceil()},"Complex, number":function(e,t){return e.ceil(t)},"Complex, BigNumber":function(e,t){return e.ceil(t.toNumber())},BigNumber:function(e){return Sa(e,n(e),r.epsilon)?n(e):e.ceil()},"BigNumber, BigNumber":function(e,t){return Sa(e,n(e,t),r.epsilon)?n(e,t):e.toDecimalPlaces(t.toNumber(),wn.ROUND_CEIL)},Fraction:function(e){return e.ceil()},"Fraction, number":function(e,t){return e.ceil(t)},"Fraction, BigNumber":function(e,t){return e.ceil(t.toNumber())},"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e))),"Array, number | BigNumber":t.referToSelf((e=>(t,r)=>Wn(t,(t=>e(t,r))))),"SparseMatrix, number | BigNumber":t.referToSelf((e=>(t,r)=>u(t,r,e,!1))),"DenseMatrix, number | BigNumber":t.referToSelf((e=>(t,r)=>c(t,r,e,!1))),"number | Complex | Fraction | BigNumber, Array":t.referToSelf((e=>(t,r)=>c(i(r),t,e,!0).valueOf())),"number | Complex | Fraction | BigNumber, Matrix":t.referToSelf((e=>(t,r)=>a(t,0)?o(r.size(),r.storage()):"dense"===r.storage()?c(r,t,e,!0):l(r,t,e,!0)))})})),xo="cube",bo=vt(xo,["typed"],(e=>{var{typed:t}=e;return t(xo,{number:ci,Complex:function(e){return e.mul(e).mul(e)},BigNumber:function(e){return e.times(e).times(e)},Fraction:function(e){return e.pow(3)},Unit:function(e){return e.pow(3)}})})),wo=vt("exp",["typed"],(e=>{var{typed:t}=e;return t("exp",{number:fi,Complex:function(e){return e.exp()},BigNumber:function(e){return e.exp()}})})),Do="expm1",Eo=vt(Do,["typed","Complex"],(e=>{var{typed:t,Complex:r}=e;return t(Do,{number:mi,Complex:function(e){var t=Math.exp(e.re);return new r(t*Math.cos(e.im)-1,t*Math.sin(e.im))},BigNumber:function(e){return e.exp().minus(1)}})})),No="fix",Ao=["typed","Complex","matrix","ceil","floor","equalScalar","zeros","DenseMatrix"],Co=vt(No,["typed","ceil","floor"],(e=>{var{typed:t,ceil:r,floor:n}=e;return t(No,{number:function(e){return e>0?n(e):r(e)},"number, number":function(e,t){return e>0?n(e,t):r(e,t)}})})),Mo=vt(No,Ao,(e=>{var{typed:t,Complex:r,matrix:n,ceil:i,floor:a,equalScalar:o,zeros:s,DenseMatrix:u}=e,l=mo({typed:t,DenseMatrix:u}),c=po({typed:t}),f=Co({typed:t,ceil:i,floor:a});return t("fix",{number:f.signatures.number,"number, number | BigNumber":f.signatures["number,number"],Complex:function(e){return new r(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im))},"Complex, number":function(e,t){return new r(e.re>0?a(e.re,t):i(e.re,t),e.im>0?a(e.im,t):i(e.im,t))},"Complex, BigNumber":function(e,t){var n=t.toNumber();return new r(e.re>0?a(e.re,n):i(e.re,n),e.im>0?a(e.im,n):i(e.im,n))},BigNumber:function(e){return e.isNegative()?i(e):a(e)},"BigNumber, number | BigNumber":function(e,t){return e.isNegative()?i(e,t):a(e,t)},Fraction:function(e){return e.s<0?e.ceil():e.floor()},"Fraction, number | BigNumber":function(e,t){return e.s<0?i(e,t):a(e,t)},"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e))),"Array | Matrix, number | BigNumber":t.referToSelf((e=>(t,r)=>Wn(t,(t=>e(t,r))))),"number | Complex | Fraction | BigNumber, Array":t.referToSelf((e=>(t,r)=>c(n(r),t,e,!0).valueOf())),"number | Complex | Fraction | BigNumber, Matrix":t.referToSelf((e=>(t,r)=>o(t,0)?s(r.size(),r.storage()):"dense"===r.storage()?c(r,t,e,!0):l(r,t,e,!0)))})})),So="floor",Fo=["typed","config","round","matrix","equalScalar","zeros","DenseMatrix"],Oo=vt(So,["typed","config","round"],(e=>{var{typed:t,config:r,round:n}=e;return t(So,{number:function(e){return Ne(e,n(e),r.epsilon)?n(e):Math.floor(e)},"number, number":function(e,t){if(Ne(e,n(e,t),r.epsilon))return n(e,t);var[i,a]="".concat(e,"e").split("e"),o=Math.floor(Number("".concat(i,"e").concat(Number(a)+t)));return[i,a]="".concat(o,"e").split("e"),Number("".concat(i,"e").concat(Number(a)-t))}})})),To=vt(So,Fo,(e=>{var{typed:t,config:r,round:n,matrix:i,equalScalar:a,zeros:o,DenseMatrix:s}=e,u=fo({typed:t,equalScalar:a}),l=mo({typed:t,DenseMatrix:s}),c=po({typed:t}),f=Oo({typed:t,config:r,round:n});return t("floor",{number:f.signatures.number,"number,number":f.signatures["number,number"],Complex:function(e){return e.floor()},"Complex, number":function(e,t){return e.floor(t)},"Complex, BigNumber":function(e,t){return e.floor(t.toNumber())},BigNumber:function(e){return Sa(e,n(e),r.epsilon)?n(e):e.floor()},"BigNumber, BigNumber":function(e,t){return Sa(e,n(e,t),r.epsilon)?n(e,t):e.toDecimalPlaces(t.toNumber(),wn.ROUND_FLOOR)},Fraction:function(e){return e.floor()},"Fraction, number":function(e,t){return e.floor(t)},"Fraction, BigNumber":function(e,t){return e.floor(t.toNumber())},"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e))),"Array, number | BigNumber":t.referToSelf((e=>(t,r)=>Wn(t,(t=>e(t,r))))),"SparseMatrix, number | BigNumber":t.referToSelf((e=>(t,r)=>u(t,r,e,!1))),"DenseMatrix, number | BigNumber":t.referToSelf((e=>(t,r)=>c(t,r,e,!1))),"number | Complex | Fraction | BigNumber, Array":t.referToSelf((e=>(t,r)=>c(i(r),t,e,!0).valueOf())),"number | Complex | Fraction | BigNumber, Matrix":t.referToSelf((e=>(t,r)=>a(t,0)?o(r.size(),r.storage()):"dense"===r.storage()?c(r,t,e,!0):l(r,t,e,!0)))})})),Bo=vt("matAlgo02xDS0",["typed","equalScalar"],(e=>{var{typed:t,equalScalar:r}=e;return function(e,n,i,a){var o=e._data,s=e._size,u=e._datatype,l=n._values,c=n._index,f=n._ptr,m=n._size,p=n._datatype;if(s.length!==m.length)throw new Ue(s.length,m.length);if(s[0]!==m[0]||s[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+m+")");if(!l)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var d,h=s[0],g=s[1],y=r,v=0,x=i;"string"==typeof u&&u===p&&(d=u,y=t.find(r,[d,d]),v=t.convert(0,d),x=t.find(i,[d,d]));for(var b=[],w=[],D=[],E=0;E Array.isArray(e)))}var Xo=vt("gcd",Vo,(e=>{var{typed:t,matrix:r,config:n,round:i,equalScalar:a,zeros:o,BigNumber:s,DenseMatrix:u,concat:l}=e,c=Ro({typed:t,config:n,round:i,matrix:r,equalScalar:a,zeros:o,DenseMatrix:u,concat:l}),f=Po({typed:t}),m=jo({typed:t,equalScalar:a}),p=Uo({typed:t,DenseMatrix:u});return t("gcd",{"number, number":function(e,t){if(!le(e)||!le(t))throw new Error("Parameters in function gcd must be integer numbers");var r;for(;0!==t;)r=c(e,t),e=t,t=r;return e<0?-e:e},"BigNumber, BigNumber":function(e,t){if(!e.isInt()||!t.isInt())throw new Error("Parameters in function gcd must be integer numbers");var r=new s(0);for(;!t.isZero();){var n=c(e,t);e=t,t=n}return e.lt(r)?e.neg():e},"Fraction, Fraction":(e,t)=>e.gcd(t)},Io({typed:t,matrix:r,concat:l})({SS:m,DS:f,Ss:p}),{[Ho]:t.referToSelf((e=>(t,r,n)=>{for(var i=e(t,r),a=0;a {var{typed:t,matrix:r,equalScalar:n,concat:i}=e,a=Bo({typed:t,equalScalar:n}),o=Yo({typed:t,equalScalar:n}),s=fo({typed:t,equalScalar:n}),u=Io({typed:t,matrix:r,concat:i}),l="number | BigNumber | Fraction | Matrix | Array",c={};return c["".concat(l,", ").concat(l,", ...").concat(l)]=t.referToSelf((e=>(t,r,n)=>{for(var i=e(t,r),a=0;a C)for(var S=0,F=0;F {var{typed:t,matrix:r,DenseMatrix:n,concat:i}=e,a=_o({typed:t}),o=_s({typed:t,DenseMatrix:n}),s=mo({typed:t,DenseMatrix:n}),u=Io({typed:t,matrix:r,concat:i});return t(zs,{"number, number":Ci,"BigNumber, BigNumber":Ns},u({SS:o,DS:a,Ss:s}))})),qs=vt("arg",["typed"],(e=>{var{typed:t}=e;return t("arg",{number:function(e){return Math.atan2(0,e)},BigNumber:function(e){return e.constructor.atan2(0,e)},Complex:function(e){return e.arg()},"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e)))})})),Is="conj",Rs=vt(Is,["typed"],(e=>{var{typed:t}=e;return t(Is,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e)))})})),Ps=vt("im",["typed"],(e=>{var{typed:t}=e;return t("im",{number:()=>0,"BigNumber | Fraction":e=>e.mul(0),Complex:e=>e.im,"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e)))})})),js=vt("re",["typed"],(e=>{var{typed:t}=e;return t("re",{"number | BigNumber | Fraction":e=>e,Complex:e=>e.re,"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e)))})})),Us=vt("not",["typed"],(e=>{var{typed:t}=e;return t("not",{"null | undefined":()=>!0,number:qi,Complex:function(e){return 0===e.re&&0===e.im},BigNumber:function(e){return e.isZero()||e.isNaN()},Unit:t.referToSelf((e=>r=>t.find(e,r.valueType())(r.value))),"Array | Matrix":t.referToSelf((e=>t=>Wn(t,e)))})})),Ls=vt("or",["typed","matrix","equalScalar","DenseMatrix","concat"],(e=>{var{typed:t,matrix:r,equalScalar:n,DenseMatrix:i,concat:a}=e,o=_o({typed:t}),s=zo({typed:t,equalScalar:n}),u=mo({typed:t,DenseMatrix:i}),l=Io({typed:t,matrix:r,concat:a});return t("or",{"number, number":Ii,"Complex, Complex":function(e,t){return 0!==e.re||0!==e.im||0!==t.re||0!==t.im},"BigNumber, BigNumber":function(e,t){return!e.isZero()&&!e.isNaN()||!t.isZero()&&!t.isNaN()},"Unit, Unit":t.referToSelf((e=>(t,r)=>e(t.value||0,r.value||0)))},l({SS:s,DS:o,Ss:u}))})),Vs=vt("xor",["typed","matrix","DenseMatrix","concat"],(e=>{var{typed:t,matrix:r,DenseMatrix:n,concat:i}=e,a=_o({typed:t}),o=_s({typed:t,DenseMatrix:n}),s=mo({typed:t,DenseMatrix:n}),u=Io({typed:t,matrix:r,concat:i});return t("xor",{"number, number":Ri,"Complex, Complex":function(e,t){return(0!==e.re||0!==e.im)!=(0!==t.re||0!==t.im)},"BigNumber, BigNumber":function(e,t){return(!e.isZero()&&!e.isNaN())!=(!t.isZero()&&!t.isNaN())},"Unit, Unit":t.referToSelf((e=>(t,r)=>e(t.value||0,r.value||0)))},u({SS:o,DS:a,Ss:s}))})),$s="concat",Hs=vt($s,["typed","matrix","isInteger"],(e=>{var{typed:t,matrix:i,isInteger:a}=e;return t($s,{"...Array | Matrix | number | BigNumber":function(e){var t,o,s=e.length,u=-1,c=!1,f=[];for(t=0;t {var{typed:t,abs:r,add:n,multiply:i,map:a,sqrt:o,subtract:s,inv:u,size:c,max:f,identity:m}=e,p=1e-6;function d(e){var t,a=0,o=e,l=m(c(e));do{var d=o;if(o=i(.5,n(d,u(l))),l=i(.5,n(l,u(d))),(t=f(r(s(o,d))))>p&&++a>1e3)throw new Error("computing square root of matrix: iterative method could not converge")}while(t>p);return o}return t(Dd,{"Array | Matrix":function(e){var t=l(e)?e.size():Ve(e);switch(t.length){case 1:if(1===t[0])return a(e,o);throw new RangeError("Matrix must be square (size: "+ke(t)+")");case 2:if(t[0]===t[1])return d(e);throw new RangeError("Matrix must be square (size: "+ke(t)+")");default:throw new RangeError("Matrix must be at most two dimensional (size: "+ke(t)+")")}}})})),Nd="sylvester",Ad=vt(Nd,["typed","schur","matrixFromColumns","matrix","multiply","range","concat","transpose","index","subset","add","subtract","identity","lusolve","abs"],(e=>{var{typed:t,schur:r,matrixFromColumns:n,matrix:i,multiply:a,range:o,concat:s,transpose:u,index:l,subset:c,add:f,subtract:m,identity:p,lusolve:d,abs:h}=e;return t(Nd,{"Matrix, Matrix, Matrix":g,"Array, Matrix, Matrix":function(e,t,r){return g(i(e),t,r)},"Array, Array, Matrix":function(e,t,r){return g(i(e),i(t),r)},"Array, Matrix, Array":function(e,t,r){return g(i(e),t,i(r))},"Matrix, Array, Matrix":function(e,t,r){return g(e,i(t),r)},"Matrix, Array, Array":function(e,t,r){return g(e,i(t),i(r))},"Matrix, Matrix, Array":function(e,t,r){return g(e,t,i(r))},"Array, Array, Array":function(e,t,r){return g(i(e),i(t),i(r)).toArray()}});function g(e,t,g){for(var y=t.size()[0],v=e.size()[0],x=r(e),b=x.T,w=x.U,D=r(a(-1,t)),E=D.T,N=D.U,A=a(a(u(w),g),N),C=o(0,v),M=[],S=(e,t)=>s(e,t,1),F=(e,t)=>s(e,t,0),O=0;O0&&u>o)throw new Le(u,o+1)}else{var p=V(m).valueOf(),d=Ve(p);if(f[t]=p,o=u,u=d.length-1,t>0&&u!==o)throw new Ue(o+1,u+1)}}if(0===f.length)throw new SyntaxError("At least one matrix expected");for(var h=f.shift();f.length;)h=ht(h,f.shift(),u);return c?i(h):h},"...string":function(e){return e.join("")}})})),Gs="column",Xs=vt(Gs,["typed","Index","matrix","range"],(e=>{var{typed:t,Index:r,matrix:n,range:i}=e;return t(Gs,{"Matrix, number":a,"Array, number":function(e,t){return a(n(V(e)),t).valueOf()}});function a(e,t){if(2!==e.size().length)throw new Error("Only two dimensional matrix is supported");Xe(t,e.size()[1]);var a=i(0,e.size()[0]),o=new r(a,t),s=e.subset(o);return l(s)?s:n([[s]])}})),Ys="count",Ws=vt(Ys,["typed","size","prod"],(e=>{var{typed:t,size:r,prod:n}=e;return t(Ys,{string:function(e){return e.length},"Matrix | Array":function(e){return n(r(e))}})})),Zs="cross",Js=vt(Zs,["typed","matrix","subtract","multiply"],(e=>{var{typed:t,matrix:r,subtract:n,multiply:i}=e;return t(Zs,{"Matrix, Matrix":function(e,t){return r(a(e.toArray(),t.toArray()))},"Matrix, Array":function(e,t){return r(a(e.toArray(),t))},"Array, Matrix":function(e,t){return r(a(e,t.toArray()))},"Array, Array":a});function a(e,t){var r=Math.max(Ve(e).length,Ve(t).length);e=et(e),t=et(t);var a=Ve(e),o=Ve(t);if(1!==a.length||1!==o.length||3!==a[0]||3!==o[0])throw new RangeError("Vectors with length 3 expected (Size A = ["+a.join(", ")+"], B = ["+o.join(", ")+"])");var s=[n(i(e[1],t[2]),i(e[2],t[1])),n(i(e[2],t[0]),i(e[0],t[2])),n(i(e[0],t[1]),i(e[1],t[0]))];return r>1?[s]:s}})),Ks="diag",Qs=vt(Ks,["typed","matrix","DenseMatrix","SparseMatrix"],(e=>{var{typed:t,matrix:r,DenseMatrix:n,SparseMatrix:i}=e;return t(Ks,{Array:function(e){return a(e,0,Ve(e),null)},"Array, number":function(e,t){return a(e,t,Ve(e),null)},"Array, BigNumber":function(e,t){return a(e,t.toNumber(),Ve(e),null)},"Array, string":function(e,t){return a(e,0,Ve(e),t)},"Array, number, string":function(e,t,r){return a(e,t,Ve(e),r)},"Array, BigNumber, string":function(e,t,r){return a(e,t.toNumber(),Ve(e),r)},Matrix:function(e){return a(e,0,e.size(),e.storage())},"Matrix, number":function(e,t){return a(e,t,e.size(),e.storage())},"Matrix, BigNumber":function(e,t){return a(e,t.toNumber(),e.size(),e.storage())},"Matrix, string":function(e,t){return a(e,0,e.size(),t)},"Matrix, number, string":function(e,t,r){return a(e,t,e.size(),r)},"Matrix, BigNumber, string":function(e,t,r){return a(e,t.toNumber(),e.size(),r)}});function a(e,t,a,o){if(!le(t))throw new TypeError("Second parameter in function diag must be an integer");var s=t>0?t:0,u=t<0?-t:0;switch(a.length){case 1:return function(e,t,r,a,o,s){var u=[a+o,a+s];if(r&&"sparse"!==r&&"dense"!==r)throw new TypeError("Unknown matrix type ".concat(r,'"'));var l="sparse"===r?i.diagonal(u,e,t):n.diagonal(u,e,t);return null!==r?l:l.valueOf()}(e,t,o,a[0],u,s);case 2:return function(e,t,n,i,a,o){if(l(e)){var s=e.diagonal(t);return null!==n?n!==s.storage()?r(s,n):s:s.valueOf()}for(var u=Math.min(i[0]-a,i[1]-o),c=[],f=0;f=2&&u.push("index: ".concat(L(r))),o.length>=3&&u.push("array: ".concat(L(n))),new TypeError("Function ".concat(i," cannot apply callback arguments ")+"".concat(e.name,"(").concat(u.join(", "),") at index ").concat(JSON.stringify(r)))}throw new TypeError("Function ".concat(i," cannot apply callback arguments ")+"to function ".concat(e.name,": ").concat(a.message))}}}var tu=vt("filter",["typed"],(e=>{var{typed:t}=e;return t("filter",{"Array, function":ru,"Matrix, function":function(e,t){return e.create(ru(e.toArray(),t))},"Array, RegExp":ut,"Matrix, RegExp":function(e,t){return e.create(ut(e.toArray(),t))}})}));function ru(e,t){return st(e,(function(e,r,n){return eu(t,e,[r],n,"filter")}))}var nu="flatten",iu=vt(nu,["typed","matrix"],(e=>{var{typed:t,matrix:r}=e;return t(nu,{Array:function(e){return it(e)},Matrix:function(e){var t=it(e.toArray());return r(t)}})})),au="forEach",ou=vt(au,["typed"],(e=>{var{typed:t}=e;return t(au,{"Array, function":su,"Matrix, function":function(e,t){e.forEach(t)}})}));function su(e,t){!function r(n,i){if(!Array.isArray(n))return eu(t,n,i,e,"forEach");ot(n,(function(e,t){r(e,i.concat(t))}))}(e,[])}var uu="getMatrixDataType",lu=vt(uu,["typed"],(e=>{var{typed:t}=e;return t(uu,{Array:function(e){return mt(e,L)},Matrix:function(e){return e.getDataType()}})})),cu="identity",fu=vt(cu,["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],(e=>{var{typed:t,config:r,matrix:i,BigNumber:a,DenseMatrix:o,SparseMatrix:s}=e;return t(cu,{"":function(){return"Matrix"===r.matrix?i([]):[]},string:function(e){return i(e)},"number | BigNumber":function(e){return l(e,e,"Matrix"===r.matrix?"dense":void 0)},"number | BigNumber, string":function(e,t){return l(e,e,t)},"number | BigNumber, number | BigNumber":function(e,t){return l(e,t,"Matrix"===r.matrix?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(e,t,r){return l(e,t,r)},Array:function(e){return u(e)},"Array, string":function(e,t){return u(e,t)},Matrix:function(e){return u(e.valueOf(),e.storage())},"Matrix, string":function(e,t){return u(e.valueOf(),t)}});function u(e,t){switch(e.length){case 0:return t?i(t):[];case 1:return l(e[0],e[0],t);case 2:return l(e[0],e[1],t);default:throw new Error("Vector containing two values expected")}}function l(e,t,r){var i=n(e)||n(t)?a:null;if(n(e)&&(e=e.toNumber()),n(t)&&(t=t.toNumber()),!le(e)||e<1)throw new Error("Parameters in function identity must be positive integers");if(!le(t)||t<1)throw new Error("Parameters in function identity must be positive integers");var u=i?new a(1):1,l=i?new i(0):0,c=[e,t];if(r){if("sparse"===r)return s.diagonal(c,u,0,l);if("dense"===r)return o.diagonal(c,u,0,l);throw new TypeError('Unknown matrix type "'.concat(r,'"'))}for(var f=We([],c,l),m=e1/4&&(R.push(i(R[U],I)),P.push(i(P[U],s(I,k,H))),U++);var Y=.84*(S/X)**.2;if(h(Y,F)?Y=F:d(Y,O)&&(Y=O),Y=B?y(Y):Y,I=s(I,Y),A&&d(f(I),A)?I=D?A:v(A):C&&h(f(I),C)&&(I=D?C:v(C)),++L>T)throw new Error("Maximum number of iterations reached, try changing options")}return{t:R,y:P}}}function b(e,t,r,n){return x({a:[[],[.5],[0,3/4],[2/9,1/3,4/9]],c:[null,.5,3/4,1],b:[2/9,1/3,4/9,0],bp:[7/24,1/4,1/3,1/8]})(e,t,r,n)}function w(e,t,r,n){return x({a:[[],[.2],[3/40,9/40],[44/45,-56/15,32/9],[19372/6561,-25360/2187,64448/6561,-212/729],[9017/3168,-355/33,46732/5247,49/176,-5103/18656],[35/384,0,500/1113,125/192,-2187/6784,11/84]],c:[null,.2,.3,.8,8/9,1,1],b:[35/384,0,500/1113,125/192,-2187/6784,11/84,0],bp:[5179/57600,0,7571/16695,393/640,-92097/339200,187/2100,1/40]})(e,t,r,n)}function D(e,t,r,n){var i=n.method?n.method:"RK45",a={RK23:b,RK45:w};if(i.toUpperCase()in a){var o=function(e){for(var t=1;tl)break}return u}throw new RangeError("Matrix must be square (size: "+ke(a)+")")},DenseMatrix:i,any:V});function i(e){var t=e._size,r=e._data;switch(t.length){case 1:if(1===t[0])return V(r[0]);throw new RangeError("Matrix must be square (size: "+ke(t)+")");case 2:var i=t[0];if(i===t[1]){for(var a=0,o=0;o{var{typed:t,Index:r}=e;return t(Sm,{"...number | string | BigNumber | Range | Array | Matrix":function(e){var t=e.map((function(e){return n(e)?e.toNumber():u(e)||l(e)?e.map((function(e){return n(e)?e.toNumber():e})):e})),i=new r;return r.apply(i,t),i}})})),Om=new Set(["end"]),Tm=vt("Node",["mathWithTransform"],(e=>{var{mathWithTransform:t}=e;return class{get type(){return"Node"}get isNode(){return!0}evaluate(e){return this.compile().evaluate(e)}compile(){var e=this._compile(t,{}),r={};return{evaluate:function(t){var n=Ot(t);return function(e){for(var t of[...Om])if(e.has(t))throw new Error('Scope contains an illegal symbol, "'+t+'" is a reserved keyword')}(n),e(n,r,null)}}}_compile(e,t){throw new Error("Method _compile must be implemented by type "+this.type)}forEach(e){throw new Error("Cannot run forEach on a Node interface")}map(e){throw new Error("Cannot run map on a Node interface")}_ifNode(e){if(!z(e))throw new TypeError("Callback function must return a Node");return e}traverse(e){e(this,null,null),function e(t,r){t.forEach((function(t,n,i){r(t,n,i),e(t,r)}))}(this,e)}transform(e){return function t(r,n,i){var a=e(r,n,i);return a!==r?a:r.map(t)}(this,null,null)}filter(e){var t=[];return this.traverse((function(r,n,i){e(r,n,i)&&t.push(r)})),t}clone(){throw new Error("Cannot clone a Node interface")}cloneDeep(){return this.map((function(e){return e.cloneDeep()}))}equals(e){return!!e&&(this.type===e.type&&X(this,e))}toString(e){var t=this._getCustomString(e);return void 0!==t?t:this._toString(e)}toJSON(){throw new Error("Cannot serialize object: toJSON not implemented by "+this.type)}toHTML(e){var t=this._getCustomString(e);return void 0!==t?t:this.toHTML(e)}_toString(){throw new Error("_toString not implemented for "+this.type)}toTex(e){var t=this._getCustomString(e);return void 0!==t?t:this._toTex(e)}_toTex(e){throw new Error("_toTex not implemented for "+this.type)}_getCustomString(e){if(e&&"object"==typeof e)switch(typeof e.handler){case"object":case"undefined":return;case"function":return e.handler(this,e);default:throw new TypeError("Object or function expected as callback")}}getIdentifier(){return this.type}getContent(){return this}}}),{isClass:!0,isNode:!0});function Bm(e){return e&&e.isIndexError?new Le(e.index+1,e.min+1,void 0!==e.max?e.max+1:void 0):e}function _m(e){var{subset:t}=e;return function(e,r){try{if(Array.isArray(e))return t(e,r);if(e&&"function"==typeof e.subset)return e.subset(r);if("string"==typeof e)return t(e,r);if("object"==typeof e){if(!r.isObjectProperty())throw new TypeError("Cannot apply a numeric index as object property");return wt(e,r.getObjectProperty())}throw new TypeError("Cannot apply index: unsupported type of object")}catch(e){throw Bm(e)}}}var zm="AccessorNode",km=vt(zm,["subset","Node"],(e=>{var{subset:t,Node:r}=e,n=_m({subset:t});function i(e){return!(N(e)||A(e)||F(e)||B(e)||k(e)||I(e)||j(e))}class a extends r{constructor(e,t){if(super(),!z(e))throw new TypeError('Node expected for parameter "object"');if(!_(t))throw new TypeError('IndexNode expected for parameter "index"');this.object=e,this.index=t}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}get type(){return zm}get isAccessorNode(){return!0}_compile(e,t){var r=this.object._compile(e,t),i=this.index._compile(e,t);if(this.index.isObjectProperty()){var a=this.index.getObjectProperty();return function(e,t,n){return wt(r(e,t,n),a)}}return function(e,t,a){var o=r(e,t,a),s=i(e,t,o);return n(o,s)}}forEach(e){e(this.object,"object",this),e(this.index,"index",this)}map(e){return new a(this._ifNode(e(this.object,"object",this)),this._ifNode(e(this.index,"index",this)))}clone(){return new a(this.object,this.index)}_toString(e){var t=this.object.toString(e);return i(this.object)&&(t="("+t+")"),t+this.index.toString(e)}toHTML(e){var t=this.object.toHTML(e);return i(this.object)&&(t='('+t+')'),t+this.index.toHTML(e)}_toTex(e){var t=this.object.toTex(e);return i(this.object)&&(t="\\left(' + object + '\\right)"),t+this.index.toTex(e)}toJSON(){return{mathjs:zm,object:this.object,index:this.index}}static fromJSON(e){return new a(e.object,e.index)}}return Qu(a,"name",zm),a}),{isClass:!0,isNode:!0}),qm="ArrayNode",Im=vt(qm,["Node"],(e=>{var{Node:t}=e;class r extends t{constructor(e){if(super(),this.items=e||[],!Array.isArray(this.items)||!this.items.every(z))throw new TypeError("Array containing Nodes expected")}get type(){return qm}get isArrayNode(){return!0}_compile(e,t){var r=at(this.items,(function(r){return r._compile(e,t)}));if("Array"!==e.config.matrix){var n=e.matrix;return function(e,t,i){return n(at(r,(function(r){return r(e,t,i)})))}}return function(e,t,n){return at(r,(function(r){return r(e,t,n)}))}}forEach(e){for(var t=0;t
')}_toTex(e){return this.blocks.map((function(t){return t.node.toTex(e)+(t.visible?"":";")})).join("\\;\\;\n")}}return Qu(n,"name",Xm),n}),{isClass:!0,isNode:!0}),Wm="ConditionalNode",Zm=vt(Wm,["Node"],(e=>{var{Node:t}=e;class r extends t{constructor(e,t,r){if(super(),!z(e))throw new TypeError("Parameter condition must be a Node");if(!z(t))throw new TypeError("Parameter trueExpr must be a Node");if(!z(r))throw new TypeError("Parameter falseExpr must be a Node");this.condition=e,this.trueExpr=t,this.falseExpr=r}get type(){return Wm}get isConditionalNode(){return!0}_compile(e,t){var r=this.condition._compile(e,t),a=this.trueExpr._compile(e,t),s=this.falseExpr._compile(e,t);return function(e,t,u){return function(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e)return!!e;if(e){if(n(e))return!e.isZero();if(i(e))return!(!e.re&&!e.im);if(o(e))return!!e.value}if(null==e)return!1;throw new TypeError('Unsupported type of condition "'+L(e)+'"')}(r(e,t,u))?a(e,t,u):s(e,t,u)}}forEach(e){e(this.condition,"condition",this),e(this.trueExpr,"trueExpr",this),e(this.falseExpr,"falseExpr",this)}map(e){return new r(this._ifNode(e(this.condition,"condition",this)),this._ifNode(e(this.trueExpr,"trueExpr",this)),this._ifNode(e(this.falseExpr,"falseExpr",this)))}clone(){return new r(this.condition,this.trueExpr,this.falseExpr)}_toString(e){var t=e&&e.parenthesis?e.parenthesis:"keep",r=jm(this,t,e&&e.implicit),n=this.condition.toString(e),i=jm(this.condition,t,e&&e.implicit);("all"===t||"OperatorNode"===this.condition.type||null!==i&&i<=r)&&(n="("+n+")");var a=this.trueExpr.toString(e),o=jm(this.trueExpr,t,e&&e.implicit);("all"===t||"OperatorNode"===this.trueExpr.type||null!==o&&o<=r)&&(a="("+a+")");var s=this.falseExpr.toString(e),u=jm(this.falseExpr,t,e&&e.implicit);return("all"===t||"OperatorNode"===this.falseExpr.type||null!==u&&u<=r)&&(s="("+s+")"),n+" ? "+a+" : "+s}toJSON(){return{mathjs:Wm,condition:this.condition,trueExpr:this.trueExpr,falseExpr:this.falseExpr}}static fromJSON(e){return new r(e.condition,e.trueExpr,e.falseExpr)}toHTML(e){var t=e&&e.parenthesis?e.parenthesis:"keep",r=jm(this,t,e&&e.implicit),n=this.condition.toHTML(e),i=jm(this.condition,t,e&&e.implicit);("all"===t||"OperatorNode"===this.condition.type||null!==i&&i<=r)&&(n='('+n+')');var a=this.trueExpr.toHTML(e),o=jm(this.trueExpr,t,e&&e.implicit);("all"===t||"OperatorNode"===this.trueExpr.type||null!==o&&o<=r)&&(a='('+a+')');var s=this.falseExpr.toHTML(e),u=jm(this.falseExpr,t,e&&e.implicit);return("all"===t||"OperatorNode"===this.falseExpr.type||null!==u&&u<=r)&&(s='('+s+')'),n+'?'+a+':'+s}_toTex(e){return"\\begin{cases} {"+this.trueExpr.toTex(e)+"}, &\\quad{\\text{if }\\;"+this.condition.toTex(e)+"}\\\\{"+this.falseExpr.toTex(e)+"}, &\\quad{\\text{otherwise}}\\end{cases}"}}return Qu(r,"name",Wm),r}),{isClass:!0,isNode:!0});var Jm=function(){if($m)return Vm;$m=1;var e=Object.assign||function(e){for(var t=1;t=2&&"OperatorNode:multiply"===e.getIdentifier()&&e.implicit&&"all"!==t&&"hide"===n)for(var w=1;w{var{divideScalar:t,multiply:r,subtract:n}=e;return function(e,i,a,o,s,u,l){var c,f,m,p,d=e._values,h=e._index,g=e._ptr,y=e._size[1],v=i._values,x=i._index,b=i._ptr,w=function(e,t,r,n,i){var a,o,s,u=e._ptr,l=e._size,c=t._index,f=t._ptr,m=l[1],p=m;for(o=f[r],s=f[r+1],a=o;a{var{abs:t,divideScalar:r,multiply:n,subtract:i,larger:a,largerEq:o,SparseMatrix:s}=e,u=Gp({divideScalar:r,multiply:n,subtract:i});return function(e,i,l){if(!e)return null;var c,f=e._size[1],m=100,p=100;i&&(c=i.q,m=i.lnz||m,p=i.unz||p);var d,h,g=[],y=[],v=[],x=new s({values:g,index:y,ptr:v,size:[f,f]}),b=[],w=[],D=[],E=new s({values:b,index:w,ptr:D,size:[f,f]}),N=[],A=[],C=[];for(d=0;d