From 9f49f79ec1893ec9d68d0ea7cff95fc9e971bde5 Mon Sep 17 00:00:00 2001 From: Lode Date: Sun, 23 Aug 2015 16:37:20 +0200 Subject: [PATCH] BigInt tweaks and fixes --- jmat.map | 2 +- jmat.min.js | 12 ++++++------ jmat_bigint.js | 36 +++++++++++++++++++++++++----------- jmat_matrix.js | 6 ++++-- jmat_real.js | 13 +++++++++++-- 5 files changed, 47 insertions(+), 22 deletions(-) diff --git a/jmat.map b/jmat.map index a7f2823..d6f3eab 100644 --- a/jmat.map +++ b/jmat.map @@ -1 +1 @@ -{"version":3,"sources":["jmat_real.js","jmat_complex.js","jmat_matrix.js","jmat_quaternion.js","jmat_special.js","jmat_bigint.js","jmat.js"],"names":["Jmat","Real","cast","v","undefined","re","caststrict","im","NaN","SQRT2","Math","sqrt","SQRTPI","PI","EM","APERY","BIGGESTJSINT","isInt","x","floor","isPositiveInt","isNegativeInt","isPositiveIntOrZero","isNegativeIntOrZero","isOdd","abs","isEven","isPOT","isInfOrNaN","Infinity","isNaN","dist","a","b","mod","rem","wrap","from","to","m0","min","m1","max","clamp","idiv","gamma","z","useFactorialLoop_","factorial","gamma_","round","sin","g","p","i","t","pow","exp","factorialmem_","result","length","isPowerOf","R","la","ilog2","lb","c","bs","bb","push","pop","firstPrimes_","isPrimeInit_","n","isPrimeSlow_","init","s","ceil","isPrimeMillerRabin_","base","d","modadd","modmul","y","modpow","witness","isPrime","eratosthenes","num","m","j","smallestPrimeFactor","factorize","primeCount","value","primesN","count","phiCache","phi","piCache","pi","sum","w","bi","nearestPrime","e","nextPrime","step","previousPrime","eulerTotient","f","prev","pascal_triangle_cache_","pascal_triangle","l","l2","gcd","lcm","decompose","neg","mediant","decomposeSemiFast","maxslow","ax","decomposeFast","bx","max1","near","epsilon","relnear","precision","frac","fracn","lambertw","E","wj","log","ew","lastDir","logy","clz32","log2","LN2","getNumBits","log10","LN10","root","dawson","x2","x4","x6","x8","x10","x12","p1","p2","p3","p4","p5","q1","q2","q3","q4","q5","q","erfi","ps","x3","x5","x7","xi","xi3","xi5","xi7","erf","erfc","dms","deg","mins","sec","dd","trunc","lerp","sinh","cosh","tanh","asinh","acosh","atanh","hypot","opt_more","cos","tan","asin","acos","atan","atan2","isLeapYear","montharray_","monthLength","month","leap","numDaysSince0","year","day","numleap","yeardays","feb","aug","monthdays","daysSince0ToDate","days","dayOfWeek","argmax","mi","Complex","this","make","parse","newr","newi","polar","r","copy","formatFloat_","power","String","toString","opt_precision","prototype","text","indexOf","parseFloat","substr","replace","ZERO","ONE","TWO","I","INVSQRT2PI","real","imag","add","sub","mul","div","isInf","addr","subr","rsub","mulr","muli","divr","rdiv","divi","rotate","arg","nextroot","bitneg","bitand","bitor","bitxor","lshift","rshift","sign","csgn","sign1","csgn1","copysign","conj","eq","eqr","powr","inv","inc","dec","abssq","arg1","abs1r","C","temp","isReal","isImaginary","isGaussian","isPositive","isNegative","isPositiveOrZero","isNegativeOrZero","u","iz","eiz","ieiz","sinc","ei","logsin","ln2i","logcos","ea","expm1","log1p","logr","rootr","toInt","infNormalize","calcCache_","fun","cache","index","pisq","nd","permutation","gammaDiv_","binomial","gammaDiv12_","stirling2","k","manhattan","opt_epsilon","nearr","lambertwb_generic_","M","branch","wew","ltest","lambertwb","lambertwm","faddeeva","invsqrtpi2","eye","nn","izz","za","erfcx","random","r0","r1","Matrix","height","width","var_arg","apply","arguments","h","softget","softgetr","softget2","arrayw","loop","shift","opt_b","zero","toCurly","toSemi","stack","text2","charAt","render","isValid","isInteger","strings","longest","toFixed","line","top","identity","opt_w","n3mul_","strassen_","a00","submatrix","a01","a10","a11","b00","b01","b10","b11","m2","m3","m4","m5","m6","c00","c01","c10","c11","augment","mulc","elmul","eldiv","leftdiv","divc","isSquare","isSingular","conditionNumber","isInvertible","isIdentity","isDiagonal","isZero","isSymmetrical","isHermitian","isSkewSymmetrical","isSkewHermitian","isUpperTriangular","isLowerTriangular","isStrictlyUpperTriangular","isStrictlyLowerTriangular","isUpperHessenberg","isLowerHessenberg","isTridiagonal","isOrthogonal","aa","transpose","isUnitary","transjugate","isNormal","at","isPermutation","num0","num1","numx","isToeplitz","isHankel","isFrobenius","col","isBinary","isInvolutory","isIdempotent","isNilpotent","trace","getProperties","rank","norm","norm2","determinant","definiteness","INDEFINITE","POSITIVE_DEFINITE","NEGATIVE_DEFINITE","POSITIVE_SEMI_DEFINITE","NEGATIVE_SEMI_DEFINITE","summary","toName","name","toLowerCase","nonsquare","square","opposite","strictlyUpperTriangular","strictlyLowerTriangular","upperTriangular","lowerTriangular","upperHessenberg","lowerHessenberg","diagonal","tridiagonal","orthogonal","unitary","normal","hermitian","skewHermitian","symmetrical","skewSymmetrical","invertible","singular","toeplitz","hankel","frobenius","positiveDefinite","negativeSemidefinite","positiveSemidefinite","integer","binary","involutory","idempotent","redundant","det","render_summary","doolittle_lup_","pivot","parity","lu","pivot2","subrow","row","subcol","minorsub","y0","y1","x0","x1","w2","h2","minor","cofactor","adj","pseudoinverse_","svd","tolerance","pseudoinverse","getFirstNonZeroDigit_","getDebugNumber","pos","maxcolnorm","current","maxrownorm","setCol","setRow","overlap","rx","ry","insert","getHouseholderVector_","opt_real","degenerate","tau","xhv","vhx","getGivensParams_","givensPre_","givensPost_","toHessenberg","T","vt","rs","qr_hessenberg_","qr_general_","taus","qs","qr","eig11","eigval22","l1","eig22","v11","v12","v21","v22","eigval_","num_it","eigval","sort","eigenVectorFor","lambda","opt_normalize","normalize_mode","solve","eig","evd","diag","definiteness_","bools","arrayToCol","arrayToRow","arrayToDiag","get1","set1","cross","dot","zsvdc_","ldx","ldu","ldv","work","job","iter","jobu","kase","kk","ll","lls","lp1","ls","mm","mm1","mp1","nct","ncu","nrt","info","cs","el","emm1","dznrm2","scale","sl","sm","sn","smm1","t1","test","ztest","dr","maxit","dreal","cabs1","nearzero","csign","arr","start","zaxpy","alpha","arrx","startx","arry","starty","zdotc","zscal","drotg","a2","b2","zdrot","ay","zswap","wantu","wantv","eta","eb","rref","swaprow","mulrow","submul","pivots","k2","properties","kiss_fft_state_","nfft","inverse","factors","twiddles","kf_bfly2_","Fout","Fout_index","fstride","st","kf_bfly4_","scratch","j1","j2","j3","kf_bfly3_","epi3","kf_bfly5_","ya","yb","kf_bfly_generic_","Norig","twidx","kf_work_","f_index","in_stride","factors_index","kf_factor_","facbuf","floor_sqrt","kiss_fft_alloc_","inverse_fft","phase","kiss_fft_","fin","fout","matrixfft_","rowresult","out","factor","fft","ifft","mmm","powc","Quaternion","from2x2","from4x4","split","rw","rz","absv","absvsq","normalize","to2x2","e0","e1","to4x4","to3x3rot","cc","from3x3rot","getVector","qvector","cv","sv","sva","av","Q","J","K","sc","ss","tetration","runloop","last","minkowski","loggamma","gamma_inv","lx","finvert_newton","digamma","trigamma","d0","d1","polygamma","hurwitzzeta","incgamma_lower","hypergeometric1F1","zz","numit","incgamma_upper","gamma_p_cache_","gamma_p","gamma_q","gamma_p_inv_series_1_","a1","a1a","a2a","aaa","aaaa","a3","a4","powerSeries","gamma_p_inv","gamma_q_inva","rootfind_bisection","gammaDiv21_","gammaDiv22_","loggammaDiv_","loggammaDiv12_","loggammaDiv21_","loggammaDiv2_","agmMulSqrt_","agm","ghm","bessel0big_","ca","cb","zi","zi2","sz","j0","besselj0_","z2","bessely0_","cp","jy","bessel1big_","besselj1_","bessely1_","bessel_sqrt_","bessel_sqrt2piz_","besselj_miller_","jn","jn0","jn1","besselj_series_","nu","negintn","gn","i1","term","besselj_hankelexpansion_","prevt","ak","nu4","ak2","besselj_hypergeom_","negnu","besselj_large_nu_","besselj","bessely_miller_","bessely_with_besselj_","bessely_hankelexpansion_","bessely","hankelh1","hankelh2","besseli","besselk","airyloop_","pl","pr","gl","gr","zzz","zr","zl","rl","rr","airy","zeta","zm","bairy","airy_deriv_loop_","airy_deriv","bairy_deriv","zetaint_","it","ta","tb","maxt","s1","stieltjes_zeta","s2","dn","hurwitzzeta_generate_hasse_table_","steps","hurwitzzeta_hasse_tables_","hurwitzzeta_hasse_series_","N","table","hurwitzzeta_cos_series_","hurwitzzeta_simple_series_","hurwitzzeta_euler_","fn","ig","sum1","sum2","bernoulli","beta","incbeta","b1","hypergeometric2F1","beta_i","beta_i_inv","bab","hypergeometric0F1","c0","h0","hypergeometric","c1","h1","hypergeometric1F1_series_","hypergeometric1F1_asymp_","sum0","s0","g0","g1","hypergeometric1F1_rational_","an","bn","z3","c2","b0","azc","a0","a2_a","a2_b","n2","f1","f2","f3","f4","e2","e3","quirk","zb","ga","gb","fa","fb","va","vb","num_iterations","PIPI6_","dilog","summation","z1","best","bestindex","trilog","polylog_integral_","stieltjes","integrate","lzm","na","nb","lz","polylog_borwein_","kidney_radius","binomial_cache","bin_sum_term","result0","bin","result1","invpow","polylog_borwein_ok_","polylog_residue_","result_is_real","origz","mu","polylog","zz1","theta1","theta2","theta3","theta4","fima","erf_inv","derf","erf_inv_a_","erf_inv_b_","erf_inv_c_","erf_inv_d_","erfc_inv","valuex","valuey","prec","lastp","lastn","fz","rootfind_secant","z0","f0","zn","rootfind","o","df","rootfind_newton","rootfind_newton_noderiv","newtonStartValues_","newtonStartValue_","bestdist","newtonStartValuesAround_","newtonStartValueAround_","maxiter","prevz","differentiate_stencil5","finvert_newton_noderiv","integrate_simpson","stopLoop","fab","differentiate_newton_noderiv","differentiate2nd_stencil5","f5","differentiate","doSummation","doProduct","coeff","realcoeff","pdf_uniform","cdf_uniform","qf_uniform","pdf_standardnormal","cdf_standardnormal","qf_standardnormal","pdf_normal","sigma","cdf_normal","qf_normal","pdf_lognormal","cdf_lognormal","qf_lognormal","pdf_cauchy","cdf_cauchy","qf_cauchy","pdf_studentt_cache_","pdf_studentt_cachefun_","nu2","pdf_studentt","sqrt3x6","gs","cdf_studentt","qf_studentt","as","pdf_chi_square","cdf_chi_square","qf_chi_square","pdf_logistic","ee","cdf_logistic","qf_logistic","xx","pdf_gamma_cache_","pdf_gamma","theta","xk","cdf_gamma","qf_gamma","pdf_beta","xa","xb","cdf_beta","qf_beta","pdf_fisher","d2","cdf_fisher","qf_fisher","pdf_weibull","cdf_weibull","qf_weibull","pdf_exponential","cdf_exponential","qf_exponential","pdf_laplace","cdf_laplace","qf_laplace","pmf_bernoulli","cdf_bernoulli","qf_bernoulli","pmf_binomial","cdf_binomial","qf_binomial","pmf_poisson","cdf_poisson","qf_poisson","BigInt","minus","radix","ARRAYBASE_","ARRAYBASE_BITS_","STRINGBASE_","Bigum","fromInt","convertBase","opt_base","opt_minus","slice","opt_stringbase","opt_outbase","stringbase","outbase","stringToArray","arrayToString","opt_abase","opt_sbase","abase","sbase","di_","convertArrayBase","d_","getInBaseTwoWithoutConvert_","mirror_","opt_powrcache_","B","maybecopystrip_","fbits","tbits","rlen","bp","mask","stripInPlace_","high","low","high2","low2","eh","ph","baseloop_","convertStringBase","ashift","amul","bshift","bmul","overflow","keep_asize","asize","intToArray","arrayToInt","cloneArray","cloneArrayTo","target","lshift_radix","rshift_radix","byteshift","bitshift","lmask","rmask","al","ar","bitnot","bitandr","opt_bits","xinv","getSign","nonZero","gte","karatsuba_","strip","schoolmul_","mb","xy","ky","compare","ai","bv","comparer","getNumDigits","neq","neqr","gt","gtr","lt","ltr","gter","lte","lter","copystrip_","one","mid","perfectsquare","nibble","perfectpow","opt_next","opt_k","besti","bestbase","bestpow","diff","r2","mulmany_","primes","pw","primorial","modr","primeCache_","bits","rlog2","rlog","rlog10","divmod_","divmod","divsmall_","half_","odd","borrow","aminus","bminus","leemondiv_","bpe","kx","y2","splice","ql","yl","ys","opt_bpe","origb","ba","egcd","olds","oldt","oldr","invmod","origm","monred_","genmonred_","rrm","opt_monred","monred","randomBits","numbytes","nonbits","isPrimeSimple","isPrimeMillerRabin","chooseMillerRabinBase_","charCodeAt","array","pot","numzeroes","Array","allowmodify","copyarray_","FORMAT_UNKNOWN_","FORMAT_BIGINT_","FORMAT_ARRAY_","FORMAT_STRING_","getFormat","call","toFormat","format","enrichFunction_","object","fname","numb","type","res","enrichFunctions_","prototoo","otherobject","BigIntC","matrixIn_","quaternionIn_","bigIntIn_","zin","qrg","toString_","opt_render","isArray","constructor","Object","comma","map"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["jmat_real.js","jmat_complex.js","jmat_matrix.js","jmat_quaternion.js","jmat_special.js","jmat_bigint.js","jmat.js"],"names":["Jmat","Real","cast","v","undefined","re","caststrict","im","NaN","SQRT2","Math","sqrt","SQRTPI","PI","EM","APERY","BIGGESTJSINT","BIGGESTJSPRIME","isInt","x","floor","isPositiveInt","isNegativeInt","isPositiveIntOrZero","isNegativeIntOrZero","isOdd","abs","isEven","isPOT","isInfOrNaN","Infinity","isNaN","dist","a","b","mod","rem","wrap","from","to","m0","min","m1","max","clamp","idiv","gamma","z","useFactorialLoop_","factorial","gamma_","round","sin","g","p","i","t","pow","exp","factorialmem_","result","length","isPowerOf","R","la","ilog2","lb","c","bs","bb","push","pop","firstPrimes_","isPrimeInit_","n","isPrimeSlow_","init","s","ceil","isPrimeMillerRabin_","base","d","modadd","modmul","y","modpow","witness","isPrime","eratosthenes","num","m","j","smallestPrimeFactor","factorize","primeCount","value","primesN","count","phiCache","phi","piCache","pi","sum","w","bi","nearestPrime","e","nextPrime","step","previousPrime","eulerTotient","f","prev","pascal_triangle_cache_","pascal_triangle","l","l2","gcd","lcm","decompose","neg","mediant","decomposeSemiFast","maxslow","ax","decomposeFast","bx","max1","near","epsilon","relnear","precision","frac","fracn","lambertw","E","wj","log","ew","lastDir","logy","clz32","log2","LN2","getNumBits","log10","LN10","root","dawson","x2","x4","x6","x8","x10","x12","p1","p2","p3","p4","p5","q1","q2","q3","q4","q5","q","erfi","ps","x3","x5","x7","xi","xi3","xi5","xi7","erf","erfc","dms","deg","mins","sec","dd","trunc","lerp","sinh","cosh","tanh","asinh","acosh","atanh","hypot","opt_more","cos","tan","asin","acos","atan","atan2","isLeapYear","montharray_","monthLength","month","leap","numDaysSince0","year","day","numleap","yeardays","feb","aug","monthdays","daysSince0ToDate","days","dayOfWeek","argmax","mi","Complex","this","make","parse","newr","newi","polar","r","copy","formatFloat_","power","String","toString","opt_precision","prototype","text","indexOf","parseFloat","substr","replace","ZERO","ONE","TWO","I","INVSQRT2PI","real","imag","add","sub","mul","div","isInf","addr","subr","rsub","mulr","muli","divr","rdiv","divi","rotate","arg","nextroot","bitneg","bitand","bitor","bitxor","lshift","rshift","sign","csgn","sign1","csgn1","copysign","conj","eq","eqr","powr","inv","inc","dec","abssq","arg1","abs1r","C","temp","isReal","isImaginary","isGaussian","isPositive","isNegative","isPositiveOrZero","isNegativeOrZero","u","iz","eiz","ieiz","sinc","ei","logsin","ln2i","logcos","ea","expm1","log1p","logr","rootr","toInt","infNormalize","calcCache_","fun","cache","index","pisq","nd","permutation","gammaDiv_","binomial","gammaDiv12_","stirling2","k","manhattan","opt_epsilon","nearr","lambertwb_generic_","M","branch","wew","ltest","lambertwb","lambertwm","faddeeva","invsqrtpi2","eye","nn","izz","za","erfcx","random","r0","r1","Matrix","height","width","var_arg","apply","arguments","h","softget","softgetr","softget2","arrayw","loop","shift","opt_b","zero","toCurly","toSemi","stack","text2","charAt","render","isValid","isInteger","strings","longest","toFixed","line","top","identity","opt_w","n3mul_","strassen_","a00","submatrix","a01","a10","a11","b00","b01","b10","b11","m2","m3","m4","m5","m6","c00","c01","c10","c11","augment","mulc","elmul","eldiv","leftdiv","divc","isSquare","isSingular","conditionNumber","isInvertible","isIdentity","isDiagonal","isZero","isSymmetrical","isHermitian","isSkewSymmetrical","isSkewHermitian","isUpperTriangular","isLowerTriangular","isStrictlyUpperTriangular","isStrictlyLowerTriangular","isUpperHessenberg","isLowerHessenberg","isTridiagonal","isOrthogonal","aa","transpose","isUnitary","transjugate","isNormal","at","isPermutation","num0","num1","numx","isToeplitz","isHankel","isFrobenius","col","isBinary","isInvolutory","isIdempotent","isNilpotent","trace","getProperties","rank","norm","norm2","determinant","definiteness","INDEFINITE","POSITIVE_DEFINITE","NEGATIVE_DEFINITE","POSITIVE_SEMI_DEFINITE","NEGATIVE_SEMI_DEFINITE","summary","toName","name","toLowerCase","nonsquare","square","opposite","strictlyUpperTriangular","strictlyLowerTriangular","upperTriangular","lowerTriangular","upperHessenberg","lowerHessenberg","diagonal","tridiagonal","orthogonal","unitary","normal","hermitian","skewHermitian","symmetrical","skewSymmetrical","invertible","singular","toeplitz","hankel","frobenius","positiveDefinite","negativeSemidefinite","positiveSemidefinite","integer","binary","involutory","idempotent","redundant","det","render_summary","doolittle_lup_","pivot","parity","lu","pivot2","subrow","row","subcol","minorsub","y0","y1","x0","x1","w2","h2","minor","cofactor","adj","pseudoinverse_","svd","tolerance","pseudoinverse","getFirstNonZeroDigit_","getDebugNumber","pos","maxcolnorm","current","maxrownorm","setCol","setRow","overlap","rx","ry","insert","getHouseholderVector_","opt_real","degenerate","tau","xhv","vhx","getGivensParams_","givensPre_","givensPost_","toHessenberg","T","vt","rs","qr_hessenberg_","qr_general_","taus","qs","qr","eig11","eigval22","l1","eig22","v11","v12","v21","v22","eigval_","num_it","eigval","sort","eigenVectorFor","lambda","opt_normalize","normalize_mode","solve","eig","evd","diag","definiteness_","bools","arrayToCol","arrayToRow","arrayToDiag","get1","set1","cross","dot","zsvdc_","ldx","ldu","ldv","work","job","iter","jobu","kase","kk","ll","lls","lp1","ls","mm","mm1","mp1","nct","ncu","nrt","info","cs","el","emm1","dznrm2","scale","sl","sm","sn","smm1","t1","test","ztest","dr","maxit","dreal","cabs1","nearzero","csign","arr","start","zaxpy","alpha","arrx","startx","arry","starty","zdotc","zscal","drotg","a2","b2","zdrot","ay","zswap","wantu","wantv","eta","eb","rref","swaprow","mulrow","submul","pivots","k2","properties","kiss_fft_state_","nfft","inverse","factors","twiddles","kf_bfly2_","Fout","Fout_index","fstride","st","kf_bfly4_","scratch","j1","j2","j3","kf_bfly3_","epi3","kf_bfly5_","ya","yb","kf_bfly_generic_","Norig","twidx","kf_work_","f_index","in_stride","factors_index","kf_factor_","facbuf","floor_sqrt","kiss_fft_alloc_","inverse_fft","phase","kiss_fft_","fin","fout","matrixfft_","rowresult","out","factor","fft","ifft","mmm","powc","Quaternion","from2x2","from4x4","split","rw","rz","absv","absvsq","normalize","to2x2","e0","e1","to4x4","to3x3rot","cc","from3x3rot","getVector","qvector","cv","sv","sva","av","Q","J","K","sc","ss","tetration","runloop","last","minkowski","loggamma","gamma_inv","lx","finvert_newton","digamma","trigamma","d0","d1","polygamma","hurwitzzeta","incgamma_lower","hypergeometric1F1","zz","numit","incgamma_upper","gamma_p_cache_","gamma_p","gamma_q","gamma_p_inv_series_1_","a1","a1a","a2a","aaa","aaaa","a3","a4","powerSeries","gamma_p_inv","gamma_q_inva","rootfind_bisection","gammaDiv21_","gammaDiv22_","loggammaDiv_","loggammaDiv12_","loggammaDiv21_","loggammaDiv2_","agmMulSqrt_","agm","ghm","bessel0big_","ca","cb","zi","zi2","sz","j0","besselj0_","z2","bessely0_","cp","jy","bessel1big_","besselj1_","bessely1_","bessel_sqrt_","bessel_sqrt2piz_","besselj_miller_","jn","jn0","jn1","besselj_series_","nu","negintn","gn","i1","term","besselj_hankelexpansion_","prevt","ak","nu4","ak2","besselj_hypergeom_","negnu","besselj_large_nu_","besselj","bessely_miller_","bessely_with_besselj_","bessely_hankelexpansion_","bessely","hankelh1","hankelh2","besseli","besselk","airyloop_","pl","pr","gl","gr","zzz","zr","zl","rl","rr","airy","zeta","zm","bairy","airy_deriv_loop_","airy_deriv","bairy_deriv","zetaint_","it","ta","tb","maxt","s1","stieltjes_zeta","s2","dn","hurwitzzeta_generate_hasse_table_","steps","hurwitzzeta_hasse_tables_","hurwitzzeta_hasse_series_","N","table","hurwitzzeta_cos_series_","hurwitzzeta_simple_series_","hurwitzzeta_euler_","fn","ig","sum1","sum2","bernoulli","beta","incbeta","b1","hypergeometric2F1","beta_i","beta_i_inv","bab","hypergeometric0F1","c0","h0","hypergeometric","c1","h1","hypergeometric1F1_series_","hypergeometric1F1_asymp_","sum0","s0","g0","g1","hypergeometric1F1_rational_","an","bn","z3","c2","b0","azc","a0","a2_a","a2_b","n2","f1","f2","f3","f4","e2","e3","quirk","zb","ga","gb","fa","fb","va","vb","num_iterations","PIPI6_","dilog","summation","z1","best","bestindex","trilog","polylog_integral_","stieltjes","integrate","lzm","na","nb","lz","polylog_borwein_","kidney_radius","binomial_cache","bin_sum_term","result0","bin","result1","invpow","polylog_borwein_ok_","polylog_residue_","result_is_real","origz","mu","polylog","zz1","theta1","theta2","theta3","theta4","fima","erf_inv","derf","erf_inv_a_","erf_inv_b_","erf_inv_c_","erf_inv_d_","erfc_inv","valuex","valuey","prec","lastp","lastn","fz","rootfind_secant","z0","f0","zn","rootfind","o","df","rootfind_newton","rootfind_newton_noderiv","newtonStartValues_","newtonStartValue_","bestdist","newtonStartValuesAround_","newtonStartValueAround_","maxiter","prevz","differentiate_stencil5","finvert_newton_noderiv","integrate_simpson","stopLoop","fab","differentiate_newton_noderiv","differentiate2nd_stencil5","f5","differentiate","doSummation","doProduct","coeff","realcoeff","pdf_uniform","cdf_uniform","qf_uniform","pdf_standardnormal","cdf_standardnormal","qf_standardnormal","pdf_normal","sigma","cdf_normal","qf_normal","pdf_lognormal","cdf_lognormal","qf_lognormal","pdf_cauchy","cdf_cauchy","qf_cauchy","pdf_studentt_cache_","pdf_studentt_cachefun_","nu2","pdf_studentt","sqrt3x6","gs","cdf_studentt","qf_studentt","as","pdf_chi_square","cdf_chi_square","qf_chi_square","pdf_logistic","ee","cdf_logistic","qf_logistic","xx","pdf_gamma_cache_","pdf_gamma","theta","xk","cdf_gamma","qf_gamma","pdf_beta","xa","xb","cdf_beta","qf_beta","pdf_fisher","d2","cdf_fisher","qf_fisher","pdf_weibull","cdf_weibull","qf_weibull","pdf_exponential","cdf_exponential","qf_exponential","pdf_laplace","cdf_laplace","qf_laplace","pmf_bernoulli","cdf_bernoulli","qf_bernoulli","pmf_binomial","cdf_binomial","qf_binomial","pmf_poisson","cdf_poisson","qf_poisson","BigInt","minus","radix","ARRAYBASE_","ARRAYBASE_BITS_","STRINGBASE_","Bigum","fromInt","convertBase","opt_base","opt_minus","slice","opt_stringbase","opt_outbase","stringbase","outbase","stringToArray","arrayToString","opt_abase","opt_sbase","abase","sbase","di_","convertArrayBase","d_","getInBaseTwoWithoutConvert_","mirror_","opt_powrcache_","B","maybecopystrip_","fbits","tbits","rlen","bp","mask","stripInPlace_","high","low","high2","low2","eh","ph","baseloop_","convertStringBase","ashift","amul","bshift","bmul","overflow","keep_asize","asize","intToArray","arrayToInt","cloneArray","cloneArrayTo","target","lshift_radix","rshift_radix","byteshift","bitshift","lmask","rmask","al","ar","bitnot","bitandr","opt_bits","xinv","getSign","nonZero","gte","karatsuba_","strip","schoolmul_","mb","xy","ky","compare","ai","bv","comparer","neq","neqr","gt","gtr","lt","ltr","gter","lte","lter","copystrip_","one","mid","perfectsquare","nibble","perfectpow","opt_next","opt_k","besti","bestbase","bestpow","diff","r2","mulmany_","primes","pw","primorial","modr","primeCache_","getNumDigits","bits","rlog2","rlog","rlog10","divmod_","divmod","divsmall_","half_","odd","borrow","aminus","bminus","leemondiv_","bpe","kx","y2","splice","ql","yl","ys","opt_bpe","origb","ba","egcd","olds","oldt","oldr","invmod","origm","monred_","genmonred_","rrm","opt_monred","monred","randomBits","numbytes","nonbits","isPrimeSimple","isPrimeMillerRabin","chooseMillerRabinBase_","charCodeAt","array","pot","numzeroes","Array","allowmodify","copyarray_","FORMAT_UNKNOWN_","FORMAT_BIGINT_","FORMAT_ARRAY_","FORMAT_STRING_","getFormat","call","toFormat","format","enrichFunction_","object","fname","numb","type","res","enrichFunctions_","prototoo","otherobject","BigIntC","matrixIn_","quaternionIn_","bigIntIn_","zin","qrg","toString_","opt_render","isArray","constructor","Object","comma","map"],"mappings":"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"} \ No newline at end of file diff --git a/jmat.min.js b/jmat.min.js index 4fafa23..d503fa0 100644 --- a/jmat.min.js +++ b/jmat.min.js @@ -1,6 +1,6 @@ -function Jmat(){}Jmat.Real=function(){},Jmat.Real.cast=function(t){return t&&void 0!=t.re?t.re:void 0==t?0:t},Jmat.Real.caststrict=function(t){return t&&void 0!=t.re?0==t.im?t.re:NaN:void 0==t?0:t},Jmat.Real.SQRT2=Math.sqrt(2),Jmat.Real.SQRTPI=Math.sqrt(Math.PI),Jmat.Real.EM=.5772156649015329,Jmat.Real.APERY=1.2020569,Jmat.Real.BIGGESTJSINT=9007199254740992,Jmat.Real.isInt=function(t){return t==Math.floor(t)},Jmat.Real.isPositiveInt=function(t){return t==Math.floor(t)&&t>0},Jmat.Real.isNegativeInt=function(t){return t==Math.floor(t)&&0>t},Jmat.Real.isPositiveIntOrZero=function(t){return t==Math.floor(t)&&t>=0},Jmat.Real.isNegativeIntOrZero=function(t){return t==Math.floor(t)&&0>=t},Jmat.Real.isOdd=function(t){return 1==Math.abs(t%2)},Jmat.Real.isEven=function(t){return t%2==0},Jmat.Real.isPOT=function(t){return 0!=t&&0==(t&t-1)},Jmat.Real.isInfOrNaN=function(t){return t==1/0||t==-(1/0)||isNaN(t)},Jmat.Real.dist=function(t,a){return Math.abs(t-a)},Jmat.Real.mod=function(t,a){return t-Math.floor(t/a)*a},Jmat.Real.rem=function(t,a){return t%a},Jmat.Real.wrap=function(t,a,r){if(a==r)return a;var e=Math.min(a,r),m=Math.max(a,r);return e+Jmat.Real.mod(t-e,m-e)},Jmat.Real.clamp=function(t,a,r){var e=Math.min(a,r),m=Math.max(a,r);return Math.max(e,Math.min(m,t))},Jmat.Real.idiv=function(t,a){return Math.floor(t/a)},Jmat.Real.gamma=function(t){if(t==1/0)return 1/0;if(Jmat.Real.useFactorialLoop_(t-1))return Jmat.Real.factorial(t-1);if(.5==t)return Jmat.Real.SQRTPI;var a=function(t){if(0>=t&&t==Math.round(t))return 1/0;if(.5>t)return Math.PI/(Math.sin(Math.PI*t)*a(1-t));var r=7,e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];t-=1;for(var m=e[0],n=1;r+2>n;n++)m+=e[n]/(t+n);var i=t+r+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,t+.5)*Math.exp(-i)*m};return a(t)},Jmat.Real.factorialmem_=[1],Jmat.Real.useFactorialLoop_=function(t){return Jmat.Real.isPositiveIntOrZero(t)&&200>t},Jmat.Real.factorial=function(t){if(!Jmat.Real.useFactorialLoop_(t))return Jmat.Real.gamma(t+1);if(Jmat.Real.factorialmem_[t])return Jmat.Real.factorialmem_[t];for(var a=Jmat.Real.factorialmem_[Jmat.Real.factorialmem_.length-1],r=Jmat.Real.factorialmem_.length;t>=r;r++)a*=r,Jmat.Real.factorialmem_[r]=a;return a},Jmat.Real.isPowerOf=function(t,a){var r=Jmat.Real;if(t==a)return 1;if(0>=a)return 0;if(0>=t)return 0;if(1==t)return 0;if(a>t)return 0;if(r.isPOT(t)&&r.isPOT(a)){var e=r.ilog2(t),m=r.ilog2(a);return e%m==0?e/m:0}if(r.isPOT(t)!=r.isPOT(a))return 0;if(r.isEven(t)!=r.isEven(a))return 0;for(var n=a,i=[],o=a,l=1;t>n;){if(i.push(o),n*=o,l*=2,n==t)return l;o*=o}if(n==1/0)return 0;for(;i.length>0;){var u=i.pop();if(n>t?(n/=u,l-=1<t)return 0;if(t>Jmat.Real.BIGGESTJSINT)return NaN;for(var a=0;ar;){if(t%(r-1)==0||t%(r+1)==0)return 0;r+=6}return 1},Jmat.Real.isPrimeMillerRabin_=function(t){var a=Jmat.Real.isPrimeInit_(t);if(-1!=a)return a;var r;r=1373653>t?[2,3]:9080191>t?[31,73]:4759123141>t?[2,7,61]:1122004669633>t?[2,13,23,1662803]:2152302898747>t?[2,3,5,7,11]:3474749660383>t?[2,3,5,7,11,13]:341550071728321>t?[2,3,5,7,11,13,17]:0xd655278977733>t?[2,2570940,880937,610386380,4130785767]:[2,325,9375,28178,450775,9780504,1795265022];for(var e=Math.floor(t/2),m=1;!(1&e);)e=Math.floor(e/2),++m;for(var n=function(t,a,r){return t+ar?(t-r+a)%r:(t%r+a%r)%r},i=function(t,a,r){if(t*a0;)1&a&&(e=n(e,m,r)),m=n(m,m,r),a=Math.floor(a/2);return e%r},o=function(t,a,r){for(var e=1;a>0;)1&a&&(e=i(e,t,r)),t=i(t,t,r),a=Math.floor(a/2);return e},l=function(t,a,r,e){for(var m=o(e,r,t);a;){var n=i(m,m,t);if(1==n&&1!=m&&m!=t-1)return!1;m=n,a--}return 1==n},u=0;ut?Jmat.Real.isPrimeSlow_(t):Jmat.Real.isPrimeMillerRabin_(t)},Jmat.Real.eratosthenes=function(t){if(2>t)return[];for(var a=[2],r=[],e=Math.floor(Math.sqrt(t)),m=Math.ceil(t/2),n=0;m>n;n++)r[n]=!0;for(var i=3;e>=i;i+=2){var n=Math.floor(i/2);if(r[n])for(var o=n+i;m>o;o+=i)r[o]=!1}for(var n=1;t>=n;n++)r[n]&&a.push(2*n+1);return a},Jmat.Real.smallestPrimeFactor=function(t){if(t==1/0||t!=t)return NaN;if(t!=Math.round(t))return NaN;if(1>t)return NaN;if(t>Jmat.Real.BIGGESTJSINT)return NaN;if(1==t)return 1;for(var a=0;ar;){if(t%(r-1)==0)return r-1;if(t%(r+1)==0)return r+1;r+=6}return t},Jmat.Real.factorize=function(t){if(t>Jmat.Real.BIGGESTJSINT)return void 0;if(2>=t)return[t];for(var t=Math.round(t),a=[];!(1>t);){var r=Jmat.Real.smallestPrimeFactor(t);if(a.push(r),t==r)break;t=Math.round(t/r)}return a},Jmat.Real.primeCount=function(t){var a=[0,2,3,5,7,11,13,17],r=function(t){if(t1e9)return NaN;if(2>t)return 0;if(3>t)return 1;if(5>t)return 2;var a=Math.floor(t);if(n[a])return n[a];for(var e=Math.floor(i(Math.pow(t,.25))),o=Math.floor(i(Math.sqrt(t))),l=Math.floor(i(Math.pow(t,1/3))),u=m(a,e)+Math.floor((o+e-2)*(o-e+1)/2),J=e+1;o>=J;J++){var s=a/r(J);if(u-=i(s),l>=J)for(var p=i(Math.sqrt(s)),x=J;p>=x;x++)u-=i(s/r(x))-x+1}return n[a]=u,u};return i(t)},Jmat.Real.nearestPrime=function(t){var a=Math.round(t);if(7>a)return 2>=a?2:4>=a?3:5;if(a==1/0||a!=a)return NaN;if(a>=9007199254740881)return NaN;if(Jmat.Real.isPrime(a))return a;for(var r=a%6,e=6-r,m=0,n=0;;){if(Jmat.Real.isPrime(a-m-r+1)?n=a-m-r+1:Jmat.Real.isPrime(a-m-r-1)&&(n=a-m-r-1),(!n||a-n>m+e-1)&&Jmat.Real.isPrime(a+m+e-1)?n=a+m+e-1:(!n||a-n>m+e+1)&&Jmat.Real.isPrime(a+m+e+1)&&(n=a+m+e+1),n)return n;m+=6}},Jmat.Real.nextPrime=function(t){var a=Math.floor(t);if(2>a)return 2;if(3>a)return 3;if(a==1/0||a!=a)return NaN;if(a>=9007199254740881)return NaN;var r=a%6,e=2;for(0==r||5==r?(a+=0==r?1:2,e=4):a+=5-r;;){if(Jmat.Real.isPrime(a))return a;a+=e,e^=6}},Jmat.Real.previousPrime=function(t){var a=Math.ceil(t);if(2>=a)return NaN;if(3>=a)return 2;if(5>=a)return 3;if(7>=a)return 5;if(a==1/0||a!=a)return NaN;if(a>Jmat.Real.BIGGESTJSINT)return NaN;var r=a%6,e=2;for(0==r||1==r?(a-=r+1,e=4):a-=r-1;;){if(Jmat.Real.isPrime(a))return a;a-=e,e^=6}},Jmat.Real.eulerTotient=function(t){if(0>=t)return NaN;for(var a=Math.floor(t),r=Jmat.Real.factorize(a),e=-1,m=a,n=0;nt||0>a||a>t)return NaN;if(t>180)return NaN;for(var r=Jmat.Real.pascal_triangle_cache_;r.length<=t;){var e=r.length,m=e+1;r[e]=[];for(var n=0;m>n;n++)r[e][n]=0==n||n==m-1?1:r[e-1][n-1]+r[e-1][n]}return r[t][a]},Jmat.Real.gcd=function(t,a){if(!Jmat.Real.isInt(t)||!Jmat.Real.isInt(a))return NaN;for(;;){if(0==a)return Math.abs(t);var r=Jmat.Real.mod(t,a);t=a,a=r}},Jmat.Real.lcm=function(t,a){return Math.abs(t*a)/Jmat.Real.gcd(t,a)},Jmat.Real.decompose=function(t,a){a||(a=1e5);var r=0>t;r&&(t=-t);var e=Math.floor(t),m=t-e;if(0==m)return[t,1];for(var n,i=0,o=1,l=1,u=1;a>=o&&a>=u;){var J=(i+l)/(o+u);if(m==J){n=a>=o+u?[i+l,o+u]:u>o?[l,u]:[i,o];break}m>J?(i+=l,o+=u):(l=i+l,u=o+u)}return n||(n=o>a?[l,u]:[i,o]),n[0]+=e*n[1],r&&(n[0]=-n[0]),n},Jmat.Real.decomposeSemiFast=function(t,a){var r=1e3;if(r>a)return Jmat.Real.decompose(t,a);var e=Jmat.Real.decompose(t,r),m=e[0]/e[1];if(m==t)return e;var n=Jmat.Real.decomposeFast(t,r),i=n[0]/n[1];return Math.abs(t-m)=t&&t>=-r&&(-1/r>t||t>1/r)){var e=0>t;e&&(t=-t);var m=Math.floor(t),n=t-m,i=a;n=Math.floor(n*i);var o=Jmat.Real.gcd(n,i);return i/=o,n/=o,n+=m*i,e&&(n=-n),[n,i]}return[t,1]},Jmat.Real.near=function(t,a,r){return t>=a-r&&a+r>=t},Jmat.Real.relnear=function(t,a,r){if(t==a)return!0;if(0==t||0==a)return!1;if(0>t!=0>a)return!1;t=Math.abs(t),a=Math.abs(a);var e=t>a?t/a:a/t;return 1+r>e},Jmat.Real.frac=function(t){return t-Math.floor(t)},Jmat.Real.fracn=function(t){return t>0?t-Math.floor(t):-(-t-Math.floor(-t))},Jmat.Real.lambertw=function(t){if(isNaN(t))return NaN;if(t==1/0||t==-(1/0))return 1/0;if(t>=-1/Math.E&&703>=t){for(var a=10>t?0:Math.log(t)-Math.log(Math.log(t)),r=Math.max(30,t>0?10+Math.floor(t):30),e=0;r>e;e++){var m=Math.exp(a);a-=(a*m-t)/(m+a*m)}return a}if(t>0)for(var n=1,i=0,o=Math.log(t)-Math.log(Math.log(t));;){if(0==n||.5*n==n||o+n==o)return o;var l=o*Math.exp(o);if(Jmat.Real.near(l,t,1e-15))return o;l>t?(o-=n,-1==i&&(n*=.5),i=1):(o+=n,1==i&&(n*=.5),i=-1)}return NaN},Jmat.Real.logy=function(t,a){return Math.log(t)/Math.log(a)},Jmat.Real.clz32=Math.clz32||function(t){for(var a=0;t>0;)t=Math.floor(t/2),a++;return 32-a},Jmat.Real.log2=Math.log2||function(t){return Math.log(t)/Math.LN2},Jmat.Real.ilog2=function(t){return 0>=t?NaN:2147483648>t?31-Jmat.Real.clz32(t):Math.floor(Jmat.Real.log2(Math.floor(t)+.5))},Jmat.Real.getNumBits=function(t){return Jmat.Real.ilog2(Math.abs(t))+1},Jmat.Real.log10=Math.log10||function(t){return Math.log(t)/Math.LN10},Jmat.Real.root=function(t,a){return Math.pow(t,1/a)},Jmat.Real.dawson=function(t){var a=t*t,r=a*a,e=r*a,m=e*a,n=m*a,i=n*a,o=.1049934947,l=.0424060604,u=.0072644182,J=.0005064034,s=.0001789971,p=.7715471019,x=.2909738639,f=.0694555761,c=.0140005442,C=.0008327945,d=1+o*a+l*r+u*e+J*m+s*n,v=1+p*a+x*r+f*e+c*m+C*n+2*s*i;return d/v*t},Jmat.Real.erfi=function(t){var a=!1;0>t&&(t=-t,a=!0);var r=0,e=1/Jmat.Real.SQRTPI;if(.5>=t){var m=t*t*t,n=m*t*t,i=n*t*t,o=2*t+2/3*m+.2*n+1/21*i;r=e*o}else if(t>=5){var l=1/t,u=l*l*l,J=u*l*l,s=J*l*l,p=Math.exp(t*t),o=l+.5*u+.75*J+15/8*s;r=e*p*o}else r=2/Jmat.Real.SQRTPI*Math.exp(t*t)*Jmat.Real.dawson(t);return a&&(r=-r),r},Jmat.Real.erf=function(t){var a=0>t;if(a&&(t=-t),0==t)return 0;var r=1/(1+.3275911*t),e=r*(.254829592+r*(-.284496736+r*(1.421413741+r*(-1.453152027+1.061405429*r)))),m=1-e*Math.exp(-(t*t));return a&&(m=-m),m},Jmat.Real.erfc=function(t){var a=0>t;a&&(t=-t);var r;if(.5>=t){var e=t*t,m=t*e,n=m*e,i=n*e;r=1-2/Jmat.Real.SQRTPI*(t-m/3+n/10+i/42)}else if(t>=5){var e=t*t,o=e*e,l=o*e,u=l*e;r=Math.exp(-(t*t))/(t*Jmat.Real.SQRTPI)*(1-.5/e+.75/o-15/8/l+6.5625/u)}else{var J=1/(1+.3275911*t),s=J*(.254829592+J*(-.284496736+J*(1.421413741+J*(-1.453152027+1.061405429*J))));r=s*Math.exp(-(t*t))}return a&&(r=2-r),r},Jmat.Real.dms=function(t){var a=0>t;a&&(t=-t);var r=Math.floor(t),e=Math.floor(60*t-60*r),m=Math.floor(3600*t-3600*r-60*e),n=r+e/100+m/1e4;return a&&(n=-n),n},Jmat.Real.dd=function(t){var a=0>t;a&&(t=-t);var r=Math.floor(t),e=Math.floor(100*t-100*r),m=Math.floor(1e4*t-1e4*r-100*e),n=r+e/60+m/3600;return a&&(n=-n),n},Jmat.Real.round=function(t){var a=Math.floor(t),r=t-a;return.5==r?a%2==0?a:a+1:.5>r?a:a+1},Jmat.Real.trunc=Math.trunc||function(t){return 0>t?Math.ceil(t):Math.floor(t)},Jmat.Real.lerp=function(t,a,r){return(1-r)*t+r*a},Jmat.Real.sinh=Math.sinh||function(t){return(Math.exp(t)-Math.exp(-t))/2},Jmat.Real.cosh=Math.cosh||function(t){return(Math.exp(t)+Math.exp(-t))/2},Jmat.Real.tanh=Math.tanh||function(t){return(Math.exp(2*t)-1)/(Math.exp(2*t)+1)},Jmat.Real.asinh=Math.asinh||function(t){return t==-(1/0)?t:Math.log(t+Math.sqrt(t*t+1))},Jmat.Real.acosh=Math.acosh||function(t){return Math.log(t+Math.sqrt(t*t-1))},Jmat.Real.atanh=Math.atanh||function(t){return Math.log((1+t)/(1-t))/2},Jmat.Real.hypot=function(t,a,r){t=Math.abs(t),a=Math.abs(a);var e=Math.min(t,a);return t=Math.max(t,a),t==1/0?1/0:(e/=t,t*Math.sqrt(1+e*e))},Jmat.Real.abs=Math.abs,Jmat.Real.floor=Math.floor,Jmat.Real.ceil=Math.ceil,Jmat.Real.min=Math.min,Jmat.Real.max=Math.max,Jmat.Real.exp=Math.exp,Jmat.Real.log=Math.log,Jmat.Real.sqrt=Math.sqrt,Jmat.Real.pow=Math.pow,Jmat.Real.sin=Math.sin,Jmat.Real.cos=Math.cos,Jmat.Real.tan=Math.tan,Jmat.Real.asin=Math.asin,Jmat.Real.acos=Math.acos,Jmat.Real.atan=Math.atan,Jmat.Real.atan2=Math.atan2,Jmat.Real.isLeapYear=function(t){return t%400==0||t%4==0&&t%100!=0},Jmat.Real.montharray_=[-1,31,28,31,30,31,30,31,31,30,31,30,31],Jmat.Real.monthLength=function(t,a){return a&&2==t?29:Jmat.Real.montharray_[t]},Jmat.Real.numDaysSince0=function(t,a,r){var e=Jmat.Real,m=0==t?0:e.idiv(t-1,4)-e.idiv(t-1,100)+e.idiv(t-1,400)+1,n=365*t+m,i=a>2?Jmat.Real.isLeapYear(t)?1:2:0,o=a>8&&a%2==1?1:0,l=30*(a-1)+e.idiv(a,2)-i+o;return n+l+r-1},Jmat.Real.daysSince0ToDate=function(t){var a=Math.floor(t/365.2425),r=Jmat.Real.isLeapYear(a);t-=Jmat.Real.numDaysSince0(a,1,1);for(var e=0,m=1;12>=m;m++){e++;var n=Jmat.Real.monthLength(m,r);if(!(t>=n))break;t-=n}return[a,e,t+1]},Jmat.Real.dayOfWeek=function(t,a,r){var e=Jmat.Real;return r+=3>a?t--:t-2,(e.idiv(23*a,9)+r+4+e.idiv(t,4)-e.idiv(t,100)+e.idiv(t,400))%7},Jmat.Real.argmax=function(t,a,r){for(var e=r(t),m=t,n=t+1;a>n;n++){var i=r(n);i>e&&(e=i,m=n)}return m},Jmat.Complex=function(t,a){return this instanceof Jmat.Complex?(this.re=t,void(this.im=a)):Jmat.Complex.make(t,a)},Jmat.Complex.make=function(t,a){return void 0==t?new Jmat.Complex(0,0):"number"==typeof t?new Jmat.Complex(t,void 0==a?0:a):"string"==typeof t?Jmat.Complex.parse(t):new Jmat.Complex(t.re,t.im)},Jmat.Complex.newr=function(t){return new Jmat.Complex(t,0)},Jmat.Complex.newi=function(t){return new Jmat.Complex(0,t)},Jmat.Complex.polar=function(t,a){return new Jmat.Complex(t*Math.cos(a),t*Math.sin(a))},Jmat.Complex.cast=function(t){return t&&void 0!=t.re?t:void 0==t?Jmat.Complex(0):Jmat.Complex(t)},Jmat.Complex.copy=function(t){return new Jmat.Complex(t.re,t.im)},Jmat.Complex.formatFloat_=function(t,a){var r=Math.pow(10,a||0);return String(Math.round(t*r)/r)},Jmat.Complex.toString=function(t,a){if(!t)return 0==t?"invalid0":""+t;var r=a?Jmat.Complex.formatFloat_(t.re,a):""+t.re,e=a?Jmat.Complex.formatFloat_(t.im,a):""+t.im;return 0==t.im||"0"==e?""+r:0==t.re?""+e+"i":t.im<0?""+r+e+"i":""+r+"+"+e+"i"},Jmat.Complex.prototype.toString=function(t){return Jmat.Complex.toString(this,t)},Jmat.Complex.parse=function(t){var a=t.indexOf("i");if(-1==a)return Jmat.Complex(parseFloat(t));if("i"==t)return Jmat.Complex(0,1);t=t.substr(0,a),t=t.replace(/ /g,""),("+"==t[a-1]||"-"==t[a-1])&&(t+="1");for(var r=1;r>a.re,r.im=t.im>>a.im,r},Jmat.Complex.neg=function(t){return Jmat.Complex(-t.re,-t.im)},Jmat.Complex.prototype.neg=function(){return Jmat.Complex(-this.re,-this.im)},Jmat.Complex.sign=function(t){return 0==t.im?0==t.re?Jmat.Complex(0):t.re<0?Jmat.Complex(-1):Jmat.Complex(1):t.divr(t.abs())},Jmat.Complex.csgn=function(t){return Jmat.Real.near(t.re,0,1e-15)?0==t.im?Jmat.Complex(0):t.im<0?Jmat.Complex(-1):Jmat.Complex(1):0==t.re?Jmat.Complex(0):t.re<0?Jmat.Complex(-1):Jmat.Complex(1)},Jmat.Complex.sign1=function(t){return 0==t.im?t.re<0?Jmat.Complex(-1):Jmat.Complex(1):t.divr(t.abs())},Jmat.Complex.csgn1=function(t){return Jmat.Real.near(t.re,0,1e-15)?t.im<0?Jmat.Complex(-1):Jmat.Complex(1):t.re<0?Jmat.Complex(-1):void Jmat.Complex(1)},Jmat.Complex.copysign=function(t,a){return Jmat.Complex.abs(t).mul(Jmat.Complex.sign(a))},Jmat.Complex.conj=function(t){return Jmat.Complex(t.re,-t.im)},Jmat.Complex.prototype.conj=function(){return Jmat.Complex(this.re,-this.im)},Jmat.Complex.eq=function(t,a){return t&&a?t.re==a.re&&t.im==a.im:t==a},Jmat.Complex.prototype.eq=function(t){return t&&this.re==t.re&&this.im==t.im},Jmat.Complex.eqr=function(t,a){return t.re==a&&0==t.im},Jmat.Complex.prototype.eqr=function(t){return this.re==t&&0==this.im},Jmat.Complex.powr=function(t,a){return Jmat.Complex.pow(t,Jmat.Complex(a))},Jmat.Complex.prototype.powr=function(t){return Jmat.Complex.pow(this,Jmat.Complex(t))},Jmat.Complex.inv=function(t){return Jmat.Complex.ONE.div(t)},Jmat.Complex.prototype.inv=function(){return Jmat.Complex.ONE.div(this)},Jmat.Complex.inc=function(t){return new Jmat.Complex(t.re+1,t.im)},Jmat.Complex.prototype.inc=function(){return new Jmat.Complex(this.re+1,this.im)},Jmat.Complex.dec=function(t){return new Jmat.Complex(t.re-1,t.im)},Jmat.Complex.prototype.dec=function(){return new Jmat.Complex(this.re-1,this.im)},Jmat.Complex.abs=function(t){return Jmat.Complex(t.abs())},Jmat.Complex.prototype.abs=function(){return 0==this.im?Math.abs(this.re):0==this.re?Math.abs(this.im):this.re==1/0||this.re==-(1/0)||this.im==1/0||this.im==-(1/0)?1/0:Jmat.Real.hypot(this.re,this.im)},Jmat.Complex.abssq=function(t){return Jmat.Complex(t.re*t.re+t.im*t.im)},Jmat.Complex.prototype.abssq=function(){return this.re*this.re+this.im*this.im},Jmat.Complex.arg=function(t){return Jmat.Complex(t.arg())},Jmat.Complex.prototype.arg=function(){return 0==this.im?this.re<0?Math.PI:0:Math.atan2(this.im,this.re)},Jmat.Complex.arg1=function(t){var a=t.arg();return 0>a&&(a+=2*Math.PI),a/=2*Math.PI,0>a&&(a=0),a>1&&(a=1),a},Jmat.Complex.abs1r=function(t){return Math.abs(t.re)+Math.abs(t.im)},Jmat.Complex.hypot=function(t,a){var r=Jmat.Complex;if(r.abs1r(a)>r.abs1r(t)){var e=t;t=a,a=e}if(r.isInf(t))return 1/0;var m=a.div(t);return t.mul(r.sqrt(r.abssq(m).addr(1)))},Jmat.Complex.isReal=function(t){return 0==t.im},Jmat.Complex.isImaginary=function(t){return 0==t.re},Jmat.Complex.isInt=function(t){return 0==t.im&&Jmat.Real.isInt(t.re)},Jmat.Complex.isGaussian=function(t){return Jmat.Real.isInt(t.re)&&Jmat.Real.isInt(t.im)},Jmat.Complex.isNaN=function(t){return!t||isNaN(t.re)||isNaN(t.im)},Jmat.Complex.isInf=function(t){return Math.abs(t.re)==1/0||Math.abs(t.im)==1/0},Jmat.Complex.isInfOrNaN=function(t){return!t||Jmat.Real.isInfOrNaN(t.re)||Jmat.Real.isInfOrNaN(t.im)},Jmat.Complex.isPositive=function(t){return t.re>0&&0==t.im},Jmat.Complex.isNegative=function(t){return t.re<0&&0==t.im},Jmat.Complex.isPositiveOrZero=function(t){return t.re>=0&&0==t.im},Jmat.Complex.isNegativeOrZero=function(t){return t.re<=0&&0==t.im},Jmat.Complex.isPositiveInt=function(t){return Jmat.Complex.isInt(t)&&t.re>0},Jmat.Complex.isNegativeInt=function(t){return Jmat.Complex.isInt(t)&&t.re<0},Jmat.Complex.isPositiveIntOrZero=function(t){return Jmat.Complex.isInt(t)&&t.re>=0},Jmat.Complex.isNegativeIntOrZero=function(t){return Jmat.Complex.isInt(t)&&t.re<=0},Jmat.Complex.isOdd=function(t){return Jmat.Complex.isInt(t)&&1==Math.abs(t.re%2)},Jmat.Complex.isEven=function(t){return Jmat.Complex.isInt(t)&&t.re%2==0},Jmat.Complex.pow=function(t,a){if(Jmat.Complex.isReal(t)&&Jmat.Complex.isReal(a)&&(t.re>=0||a.re==1/0||a.re==-(1/0)||Jmat.Real.isInt(a.re)))return Jmat.Complex(Math.pow(t.re,a.re));var r=t.abs(),e=t.arg(),m=Math.pow(r,a.re)*Math.exp(-a.im*e);isNaN(m)&&(m=Math.pow(1,a.re/r)*Math.exp(-a.im*e/r),m=0>m?-(1/0):m>0?1/0:NaN);var n=a.im*Math.log(r)+a.re*e;return Jmat.Complex(m*Math.cos(n),m*Math.sin(n))},Jmat.Complex.prototype.pow=function(t){return Jmat.Complex.pow(this,t)},Jmat.Complex.sin=function(t){if(0==t.im)return Jmat.Complex(Math.sin(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.exp(a),e=Jmat.Complex.inv(r);return r.sub(e).div(Jmat.Complex(0,2))},Jmat.Complex.sinc=function(t){return t.eqr(0)?Jmat.Complex(1):Jmat.Complex.sin(t).div(t)},Jmat.Complex.cos=function(t){if(0==t.im)return Jmat.Complex(Math.cos(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.exp(a),e=Jmat.Complex.inv(r);return r.add(e).mulr(.5)},Jmat.Complex.tan=function(t){if(0==t.im)return Jmat.Complex(Math.tan(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.exp(a),e=Jmat.Complex.inv(r);return r.sub(e).div(Jmat.Complex(0,2)).div(r.add(e).mulr(.5))},Jmat.Complex.asin=function(t){if(0==t.im&&t.re>=-1&&t.re<=1)return Jmat.Complex(Math.asin(t.re));var a=Jmat.Complex.sqrt(Jmat.Complex.ONE.sub(t.mul(t))),r=Jmat.Complex.log(Jmat.Complex(-t.im,t.re).add(a));return Jmat.Complex(r.im,-r.re)},Jmat.Complex.acos=function(t){if(0==t.im&&t.re>=-1&&t.re<=1)return Jmat.Complex(Math.acos(t.re));var a=Jmat.Complex.sqrt(Jmat.Complex.ONE.sub(t.mul(t))).mul(Jmat.Complex.I),r=Jmat.Complex.log(t.add(a));return Jmat.Complex(r.im,-r.re)},Jmat.Complex.atan=function(t){if(0==t.im)return Jmat.Complex(Math.atan(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.ONE.sub(a).div(a.inc()),e=Jmat.Complex.log(r);return Jmat.Complex(-.5*e.im,.5*e.re)},Jmat.Complex.atan2=function(t,a){var r=Jmat.Complex;if(r.isReal(t)&&r.isReal(a)){var e=r(0);return e.re=Math.atan2(t.re,a.re),e}return a.eqr(0)?r(Math.PI/2):r.atan(t.div(a))},Jmat.Complex.sinh=function(t){var a=Jmat.Complex.exp(t),r=Jmat.Complex.inv(a);return a.sub(r).divr(2)},Jmat.Complex.cosh=function(t){var a=Jmat.Complex.exp(t),r=Jmat.Complex.inv(a);return a.add(r).divr(2)},Jmat.Complex.tanh=function(t){var a=Jmat.Complex.exp(t),r=Jmat.Complex.inv(a);return a.sub(r).div(a.add(r))},Jmat.Complex.asinh=function(t){return Jmat.Complex.log(t.add(Jmat.Complex.sqrt(t.mul(t).addr(1))))},Jmat.Complex.acosh=function(t){return Jmat.Complex.log(t.add(Jmat.Complex.sqrt(t.subr(1)).mul(Jmat.Complex.sqrt(t.addr(1)))))},Jmat.Complex.atanh=function(t){return Jmat.Complex.log(t.addr(1).div(t.rsub(1))).mulr(.5)},Jmat.Complex.logsin=function(t){if(t.im>-10&&t.im<10)return Jmat.Complex.log(Jmat.Complex.sin(t));var a=Jmat.Complex(.69314718056,1.570796326795),r=Jmat.Complex(Jmat.Real.wrap(t.re,-Math.PI/2,3*Math.PI/2),t.im);return t.im>0?Jmat.Complex.newi(Jmat.Complex.PI).sub(Jmat.Complex.I.mul(r)).sub(a):Jmat.Complex.I.mul(r).sub(a)},Jmat.Complex.logcos=function(t){return Jmat.Complex.logsin(t.rsub(Math.PI/2))},Jmat.Complex.floor=function(t){var a=Jmat.Complex(0);return a.re=Math.floor(t.re),a.im=Math.floor(t.im),a},Jmat.Complex.ceil=function(t){var a=Jmat.Complex(0);return a.re=Math.ceil(t.re),a.im=Math.ceil(t.im),a},Jmat.Complex.round=function(t){var a=Jmat.Complex(0);return a.re=Jmat.Real.round(t.re),a.im=Jmat.Real.round(t.im),a},Jmat.Complex.trunc=function(t){var a=Jmat.Complex(0);return a.re=t.re<0?Math.ceil(t.re):Math.floor(t.re),a.im=t.im<0?Math.ceil(t.im):Math.floor(t.im),a},Jmat.Complex.frac=function(t){return Jmat.Complex(Jmat.Real.frac(t.re),Jmat.Real.frac(t.im))},Jmat.Complex.fracn=function(t){return Jmat.Complex(Jmat.Real.fracn(t.re),Jmat.Real.fracn(t.im))},Jmat.Complex.lerp=function(t,a,r){return r.rsub(1).mul(t).add(r.mul(a))},Jmat.Complex.exp=function(t){if(0==t.im)return Jmat.Complex(Math.exp(t.re));var a=Math.exp(t.re);return new Jmat.Complex(a*Math.cos(t.im),a*Math.sin(t.im))},Jmat.Complex.expm1=function(t){return t.abssq()<1e-5?t.add(t.mul(t).divr(2)).add(t.mul(t).mul(t).divr(6)):Jmat.Complex.exp(t).subr(1)},Jmat.Complex.log=function(t){return t.eqr(-(1/0))?Jmat.Complex(1/0):Jmat.Complex.isReal(t)&&t.re>=0?Jmat.Complex(Math.log(t.re)):Jmat.Complex(Math.log(t.abs()),t.arg())},Jmat.Complex.log1p=function(t){return t.abssq()<1e-8?t.mulr(-.5).addr(1).mul(t):Jmat.Complex.log(t.addr(1))},Jmat.Complex.logy=function(t,a){return Jmat.Complex.log(t).div(Jmat.Complex.log(a))},Jmat.Complex.logr=function(t,a){return Jmat.Complex.log(t).divr(Math.log(a))},Jmat.Complex.log2=function(t){return Jmat.Complex.log(t).divr(Math.LN2)},Jmat.Complex.log10=function(t){return Jmat.Complex.log(t).divr(Math.LN10)},Jmat.Complex.sqrt=function(t){if(Jmat.Complex.isReal(t)){var a=Jmat.Complex(0);return t.re>=0||t.re!=t.re?a.re=Math.sqrt(t.re):a.im=Math.sqrt(-t.re),a}return t.pow(Jmat.Complex(.5))},Jmat.Complex.root=function(t,a){return t.pow(Jmat.Complex(Jmat.Complex.inv(a)))},Jmat.Complex.rootr=function(t,a){return t.pow(Jmat.Complex(1/a))},Jmat.Complex.toInt=function(t){return Math.round(t.re)},Jmat.Complex.infNormalize=function(t){return Jmat.Complex.isNaN(t)?Jmat.Complex(NaN):t.re==1/0?t.im==1/0?Jmat.Complex(1,1):t.im==-(1/0)?Jmat.Complex(1,-1):Jmat.Complex(1,0):t.re==-(1/0)?t.im==1/0?Jmat.Complex(-1,1):t.im==-(1/0)?Jmat.Complex(-1,-1):Jmat.Complex(-1,0):t.im==1/0?t.re==1/0?Jmat.Complex(1,1):t.re==-(1/0)?Jmat.Complex(-1,1):Jmat.Complex(0,1):t.im==-(1/0)?t.re==1/0?Jmat.Complex(1,-1):t.re==-(1/0)?Jmat.Complex(-1,-1):Jmat.Complex(0,-1):t.divr(t.abs())},Jmat.Complex.calcCache_=function(t,a,r,e){if(e){for(var m=0;e>m;m++)if(t.eq(r[2*m+1]))return r[2*m+2];var n=r[0]||0;n++,n>=e&&(n=0);var i=a(t);return r[2*n+1]=t,r[2*n+2]=i,r[0]=n,i}if(t.eq(r[0]))return r[1];var i=a(t);return r[0]=t,r[1]=i,i},Jmat.Complex.gamma=function(t){if(t.re==1/0)return Jmat.Complex(1/0);if(Jmat.Complex.isNegativeIntOrZero(t))return Jmat.Complex(1/0,1/0);if(0==t.im)return Jmat.Complex(Jmat.Real.gamma(t.re));var a=function(t){if(t.re<.5){var r=Jmat.Complex.PI.div(Jmat.Complex.sin(Jmat.Complex.PI.mul(t))).div(a(Jmat.Complex.ONE.sub(t)));return Jmat.Complex.isNaN(r)&&(r=Jmat.Complex(0)),r}var e=7,m=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];t=t.subr(1);for(var n=Jmat.Complex(m[0]),i=1;e+2>i;i++)n=n.add(Jmat.Complex(m[i]).div(t.addr(i)));var o=t.addr(e+.5),l=Math.sqrt(2*Math.PI),u=o.pow(t.addr(.5)),J=Jmat.Complex.exp(o.neg()),r=u.mul(J).mul(n).mulr(l);return r};return a(t)},Jmat.Complex.factorial=function(t){return Jmat.Complex.gamma(Jmat.Complex.inc(t))},Jmat.Complex.isPrime=function(t){return Jmat.Complex.isReal(t)?Jmat.Real.isPrime(t.re):0},Jmat.Complex.decompose=function(t,a){if(Math.abs(t.re)>=Math.abs(t.im)){var r=Jmat.Real.decompose(t.re,a),e=Math.round(t.im*r[1]);return[Jmat.Complex(r[0],e),Jmat.Complex(r[1])]}var r=Jmat.Real.decompose(t.im,a),m=Math.round(t.re*r[1]);return[Jmat.Complex(m,r[0]),Jmat.Complex(r[1])]},Jmat.Complex.permutation=function(t,a){return Jmat.Complex.gammaDiv_(t.inc(),t.sub(a).inc())},Jmat.Complex.binomial=function(t,a){if(Jmat.Complex.isPositiveIntOrZero(t)&&Jmat.Complex.isPositiveIntOrZero(a)&&a.re<=t.re&&t.re<30)return Jmat.Complex(Jmat.Real.pascal_triangle(t.re,a.re));var r=Jmat.Complex.gammaDiv12_(t.inc(),a.inc(),t.sub(a).inc());return r.re>100&&Jmat.Complex.isPositiveInt(t)&&Jmat.Complex.isPositiveInt(a)&&t.re>a.re&&(r=Jmat.Complex.round(r)),r},Jmat.Complex.stirling2=function(t,a){if(!Jmat.Complex.isInt(a))return Jmat.Complex(NaN);var r=Jmat.Complex.ZERO,e=Jmat.Real.isOdd(a.re)?-1:1,m=Jmat.Complex(0);for(m.re=0;m.re<=a.re;m.re++)r=r.add(Jmat.Complex.binomial(a,m).mul(m.pow(t)).mulr(e)),e*=-1;return r.div(Jmat.Complex.factorial(a))},Jmat.Complex.manhattan=function(t,a){return Math.max(Math.abs(t.re-a.re),Math.abs(t.im-a.im))},Jmat.Complex.near=function(t,a,r){var e=void 0==r?1e-15:r;return t.re-e<=a.re&&t.re+e>=a.re&&t.im-e<=a.im&&t.im+e>=a.im},Jmat.Complex.nearr=function(t,a,r){var e=void 0==r?1e-15:r;return t.re-e<=a&&t.re+e>=a&&t.im-e<=0&&t.im+e>=0},Jmat.Complex.relnear=function(t,a,r){return t.eq(a)?!0:t.sub(a).abs()-.36&&0==a)return t(Jmat.Real.lambertw(r)); -if(!Jmat.Real.isInt(a))return t(NaN);if(t.isNaN(r))return NaN;if(t.isInf(r))return t(1/0);if(0==a&&r.eqr(0))return t(0);if(0!=a&&r.eqr(0))return t(-(1/0));var e=t.log(r).add(t(0,a*Math.PI*2));0==a&&r.abs()<1.2&&(e=t.sqrt(r.mulr(5.43656365691809).addr(2)).add(t(-1,a*Math.PI*2))),0!=a&&0==r.im&&(r.im+=1e-14);for(var m=36,n=0;m>n;n++){var i=t.exp(e),o=e.mul(i),l=o.sub(r),u=i.mul(e.addr(1)),J=e.addr(2).mul(l).div(e.mulr(2).addr(2));e=e.sub(l.div(u.sub(J)));var s=t.log(r.div(e));if(t.near(s,e,1e-16)||t.near(o,r,1e-16))break;if(n+1==m&&!t.near(s,e,1)&&!t.near(o,r,1))return t(NaN)}return 0==r.im&&r.re>=0&&(e.im=0),e},Jmat.Complex.lambertwb=function(t,a){return Jmat.Complex.lambertwb_generic_(Jmat.Complex,t,a)},Jmat.Complex.lambertw=function(t){return Jmat.Complex.lambertwb(0,t)},Jmat.Complex.lambertwm=function(t){return Jmat.Complex.lambertwb(-1,t)},Jmat.Complex.faddeeva=function(t){var a=2/Jmat.Real.SQRTPI,r=t.re*t.re+t.im*t.im*2;if(3.5>r){for(var e=Jmat.Complex.ZERO,m=1,n=1,i=Jmat.Complex.I.mul(t).neg(),o=i,l=0;20>l;l++)l>0&&(n*=l,m=-m,o=o.mul(i).mul(i)),e=e.add(o.mulr(m/(n*(2*l+1))));var u=Jmat.Complex.exp(t.mul(t).neg());return u.sub(u.mul(e).mulr(a))}for(var J=Jmat.Complex(Math.abs(t.re),Math.abs(t.im)),s=40>r?40:80>r?20:10,p=Jmat.Complex(0),l=0;s>l;l++){var x=Jmat.Complex(J.im+p.re,J.re-p.im);p=x.mulr(.5/x.abssq())}if(p=p.mulr(a),0==J.im&&(p.re=Math.exp(-J.re*J.re)),t.im<0){var u=Jmat.Complex.exp(J.mul(J).neg()).mulr(2);p=u.sub(p),t.re>0&&(p.im=-p.im)}else t.re<0&&(p.im=-p.im);return p},Jmat.Complex.erfcx=function(t){return Jmat.Complex.faddeeva(Jmat.Complex(-t.im,t.re))},Jmat.Complex.erf=function(t){if(0==t.im)return Jmat.Complex(Jmat.Real.erf(t.re));if(0==t.re)return Jmat.Complex.I.mulr(Jmat.Real.erfi(t.im));var a=Jmat.Complex.exp(t.mul(t).neg());return t.re>=0?Jmat.Complex.ONE.sub(a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I)))):a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I.neg()))).sub(Jmat.Complex.ONE)},Jmat.Complex.erfc=function(t){if(0==t.im)return Jmat.Complex(Jmat.Real.erfc(t.re));var a=Jmat.Complex.exp(t.mul(t).neg());return t.re>=0?a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I))):Jmat.Complex.TWO.sub(a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I.neg()))))},Jmat.Complex.erfi=function(t){return Jmat.Complex.isReal(t)?Jmat.Complex(Jmat.Real.erfi(t.re)):Jmat.Complex.erf(t.mul(Jmat.Complex.I)).mul(Jmat.Complex.I).neg()},Jmat.Complex.dawson=function(t){if(Jmat.Complex.isReal(t))return Jmat.Complex(Jmat.Real.dawson(t.re));var a=Jmat.Complex.faddeeva(t),r=Jmat.Complex.exp(t.mul(t).neg());return r.sub(a).mul(Jmat.Complex.I.mulr(Jmat.Real.SQRTPI/2))},Jmat.Complex.random=function(t,a){return t=void 0==t?0:t,a=void 0==a?1:a,Jmat.Complex.polar(Math.random()*(a-t)+t,Math.random()*Math.PI*2)},Jmat.Matrix=function(t,a,r){if(!(this instanceof Jmat.Matrix))return Jmat.Matrix.make.apply(this,arguments);this.h=t,this.w=a,this.e=[];for(var e=0;t>e;e++)this.e[e]=[]},Jmat.Matrix.make=function(t,a,r){if(!t)return new Jmat.Matrix(0,0);if(t instanceof Jmat.Matrix)return Jmat.Matrix.copy(t);if("string"==typeof t)return Jmat.Matrix.parse(t);var e=function(t,a,r){return t&&void 0!=t[a]?Jmat.Complex.cast(void 0==t[a][r]?t[a]:t[a][r]):Jmat.Complex()},m=function(t,a,r){return t&&void 0!=t[a]?Jmat.Real.cast(void 0==t[a][r]?t[a]:t[a][r]):0},n=function(t,a,r,e){return new Jmat.Complex(m(t,r,e),m(a,r,e))},i=function(t){return t&&void 0!=t[0]?void 0==t[0].length?1:t[0].length:0},o=function(t,a,r,m,i){var o;if(m>=0&&r.length=0&&r.length-m==1){for(var l=0;a>l&&t>l;l++)o.e[l][l]=Jmat.Complex.cast(r[m]);return o}if(m>=0&&r.length-m==Math.min(t,a)){for(var l=0;a>l&&t>l;l++)o.e[l][l]=Jmat.Complex.cast(r[l+m]);return o}return null}o=new Jmat.Matrix(t,a);for(var u=0;um?o.e[u][l]=i?n(r,i,u,l):e(r,u,l):o.e[u][l]=Jmat.Complex.cast(r[u*a+l+m]);return o};if("undefined"!=typeof t&&t.length||"undefined"!=typeof a&&a.length){var l=Math.max(t&&t.length||0,a&&a.length||0),u=Math.max(i(t),i(a));return o(l,u,t,-1,a)}if(void 0!=t&&void 0==a){var J=new Jmat.Matrix(1,1);return J.e[0][0]=Jmat.Complex.cast(t),J}if(void 0!=t&&void 0!=a){if(void 0==r)return new Jmat.Matrix(t,a);var l=t,u=a;return r&&r.length?o(l,u,r,0):o(l,u,arguments,2)}return new Jmat.Matrix(0,0)},Jmat.Matrix.toString=function(t,a){if(!t)return""+t;for(var r="[",e=0;e0;m++){var n=t.charAt(m);if("["==n){var i=[];r[r.length-1].push(i),r.push(i)}else"]"==n?(""!=e&&(r[r.length-1].push(Jmat.Complex.parse(e)),e=""),r.pop()):","==n?""!=e&&(r[r.length-1].push(Jmat.Complex.parse(e)),e=""):e+=n}return""!=e&&r[r.length-1].push(Jmat.Complex.parse(e)),Jmat.Matrix.make(a)},Jmat.Matrix.render=function(t,a){if(!t)return""+t;if(!Jmat.Matrix.isValid(t)){t=Jmat.Matrix.copy(t);for(var r=0;rm;m++)for(var n=0;r>n;n++)e.e[m][n]=Jmat.Complex(n==m?1:0);return e},Jmat.Matrix.zero=function(t,a){for(var r=a||t,e=new Jmat.Matrix(t,r),m=0;t>m;m++)for(var n=0;r>n;n++)e.e[m][n]=Jmat.Complex(0);return e},Jmat.Matrix.add=function(t,a){if(t.w!=a.w||t.h!=a.h)return null;for(var r=new Jmat.Matrix(t.h,t.w),e=0;e=1/r},Jmat.Matrix.isInvertible=function(t,a){var r=void 0==a?1e-15:a;return Jmat.Matrix.isSquare(t)&&!Jmat.Matrix.isSingular(t,r)},Jmat.Matrix.isIdentity=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;em;m++)if(!Jmat.Complex.nearr(t.e[e][m],0,r))return!1;return!0},Jmat.Matrix.isLowerTriangular=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;e=m;m++)if(!Jmat.Complex.nearr(t.e[e][m],0,r))return!1;return!0},Jmat.Matrix.isStrictlyLowerTriangular=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;em+1;m++)if(!Jmat.Complex.nearr(t.e[e][m],0,r))return!1;return!0},Jmat.Matrix.isLowerHessenberg=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;e0)return!1}for(var o=0;o0)return!1}return!0},Jmat.Matrix.isToeplitz=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;e+1m&&!Jmat.Complex.nearr(t.e[m][n],0,r))return!1;if(m>n&&!Jmat.Complex.nearr(t.e[m][n],0,r)){if(e>=0&&n!=e)return!1;e=n}}return!0},Jmat.Matrix.isInteger=function(t,a){for(var r=void 0==a?1e-15:a,e=0;er)return!1}return!0},Jmat.Matrix.isBinary=function(t,a){for(var r=void 0==a?1e-15:a,e=0;e=m)break;t=t.mul(t),n*=2}return!1},Jmat.Matrix.getProperties=function(t){var a=Jmat.Matrix,r={};if(r.dimensions=""+t.h+"x"+t.w,r.height=t.h,r.width=t.w,r.square=a.isSquare(t),r.zero=a.isZero(t),r.real=a.isReal(t),r.rank=a.rank(t),r.frobeniusNorm=a.norm(t),r.spectralNorm=a.norm2(t),r.conditionNumber=a.conditionNumber(t),r.NaN=a.isNaN(t),r.identity=a.isIdentity(t),r.diagonal=a.isDiagonal(t),r.tridiagonal=a.isTridiagonal(t),r.symmetrical=a.isSymmetrical(t),r.hermitian=a.isHermitian(t),r.skewHermitian=a.isSkewHermitian(t),r.skewSymmetrical=a.isSkewSymmetrical(t),r.upperTriangular=a.isUpperTriangular(t),r.lowerTriangular=a.isLowerTriangular(t),r.strictlyUpperTriangular=a.isStrictlyUpperTriangular(t),r.strictlyLowerTriangular=a.isStrictlyLowerTriangular(t),r.upperHessenberg=a.isUpperHessenberg(t),r.lowerHessenberg=a.isLowerHessenberg(t),r.singular=a.isSingular(t),r.invertible=a.isInvertible(t),r.determinant=a.determinant(t),r.trace=a.trace(t),r.orthogonal=a.isOrthogonal(t),r.unitary=a.isUnitary(t),r.normal=a.isNormal(t),r.permutation=a.isPermutation(t),r.toeplitz=a.isToeplitz(t),r.hankel=a.isHankel(t),r.frobenius=a.isFrobenius(t),r.integer=a.isInteger(t),r.binary=a.isBinary(t),r.involutory=a.isInvolutory(t),r.idempotent=a.isIdempotent(t),r.hermitian){var e=a.definiteness(t);e==a.INDEFINITE?r.indefinite=!0:e==a.POSITIVE_DEFINITE?r.positiveDefinite=r.positiveSemidefinite=!0:e==a.NEGATIVE_DEFINITE?r.negativeDefinite=r.negativeSemidefinite=!0:e==a.POSITIVE_SEMI_DEFINITE||r.zero?r.positiveSemidefinite=!0:(e==a.NEGATIVE_SEMI_DEFINITE||r.zero)&&(r.negativeSemidefinite=!0)}return r},Jmat.Matrix.summary=function(t){var a=Jmat.Matrix.getProperties(t),r=function(t){return"NaN"!=t&&(t=t.replace(/([A-Z])/g," $1").toLowerCase()),t=t.replace("hessenberg","Hessenberg"),t=t.replace("frobenius","Frobenius"),t=t.replace("toeplitz","Toeplitz"),t=t.replace("hankel","Hankel"),t=t.replace("frobenius","Frobenius")},e=["height","width","zero","real","NaN","rank","frobeniusNorm","spectralNorm","conditionNumber","integer","binary"],m=["identity","symmetrical","hermitian","skewSymmetrical","skewHermitian","diagonal","tridiagonal","upperTriangular","lowerTriangular","strictlyUpperTriangular","strictlyLowerTriangular","upperHessenberg","lowerHessenberg","singular","invertible","determinant","trace","orthogonal","unitary","normal","permutation","toeplitz","hankel","indefinite","positiveDefinite","negativeDefinite","positiveSemidefinite","negativeSemidefinite","frobenius","involutory","idempotent"],n={square:"non-square",real:"complex"};a.small2x2=t.w<=2&&t.h<=2,a.small1x1=t.w<=1&&t.h<=1,a.realsym=a.real&&a.symmetrical,a.realskewsym=a.real&&a.skewSymmetrical;for(var i={strictlyUpperTriangular:["zero"],strictlyLowerTriangular:["zero"],upperTriangular:["diagonal","strictlyUpperTriangular"],lowerTriangular:["diagonal","frobenius","strictlyLowerTriangular"],upperHessenberg:["upperTriangular","tridiagonal"],lowerHessenberg:["lowerTriangular","tridiagonal"],diagonal:["small1x1","identity","zero"],tridiagonal:["small2x2","diagonal"],orthogonal:["normal","identity"],unitary:["normal"],normal:["identity","zero"],hermitian:["normal"],hermitian:["realsym"],skewHermitian:["realskewsym"],symmetrical:["diagonal"],skewSymmetrical:["zero"],permutation:["identity"],invertible:["identity"],singular:["zero"],real:["integer"],toeplitz:["identity","zero"],hankel:["zero"],frobenius:["identity"],positiveDefinite:["identity"],negativeSemidefinite:["zero","negativeDefinite"],positiveSemidefinite:["zero","positiveDefinite"],integer:["binary"],binary:["identity","zero"],involutory:["identity"],idempotent:["identity"]},o=a.dimensions+", "+(a.square?"square":n.square),l=0;lo&&(o=t.e[l][n].abs(),i=l);if(e[n]=i,i!=n){for(var l=0;l=o?i.e[o][l]=t.e[o][l]:n.e[o][l]=t.e[o][l];for(var u=a.zero(t.w),J=[],s=0;se?e:e+1][m];return r},Jmat.Matrix.subcol=function(t,a){if(t.w<2)return null;for(var r=new Jmat.Matrix(t.h,t.w-1),e=0;em?m:m+1];return r},Jmat.Matrix.minorsub=function(t,a,r){if(t.h<2||t.w<2)return null;for(var e=new Jmat.Matrix(t.h-1,t.w-1),m=0;mm?m:m+1][r>n?n:n+1];return e},Jmat.Matrix.submatrix=function(t,a,r,e,m){if(0>e||0>a||e>t.w||a>t.h)return null;if(0>m||0>r||m>t.w||r>t.h)return null;var n=m-e,i=r-a;if(0>=n||0>=i||n>t.w||i>t.h)return null;for(var o=new Jmat.Matrix(i,n),l=0;i>l;l++)for(var u=0;n>u;u++)o.e[l][u]=t.e[a+l][e+u];return o},Jmat.Matrix.minor=function(t,a,r){if(t.h<2||t.w<2||t.w!=t.h)return Jmat.Complex(NaN);var e=Jmat.Matrix.minorsub(t,a,r);return Jmat.Matrix.determinant(e)},Jmat.Matrix.cofactor=function(t,a,r){var e=Jmat.Matrix.minor(t,a,r),m=0==(a+r&1)?1:-1;return e.mulr(m)},Jmat.Matrix.determinant=function(t){if(t.w!=t.h)return NaN;if(1==t.w)return t.e[0][0];if(2==t.w)return t.e[0][0].mul(t.e[1][1]).sub(t.e[0][1].mul(t.e[1][0]));for(var a=Jmat.Matrix.doolittle_lup_(t),r=Jmat.Complex(1),e=0;em;m++)a.s.e[m][m]=Math.abs(a.s.e[m][m].re)t&&(t=-t);for(var a=0;100>a;a++)if(1>t)t*=10;else{if(!(t>=10))return Math.floor(t);t/=10}return 0},Jmat.Matrix.getDebugNumber=function(t){for(var a=t.w+10*t.h,r=.1,e=0;ea&&(a=e)}return Jmat.Complex(a)},Jmat.Matrix.maxrownorm=function(t){for(var a=0,r=0;ra&&(a=e)}return Jmat.Complex(a)},Jmat.Matrix.norm2=function(t){var a=Jmat.Matrix.svd(t);return a.s.e[0][0]},Jmat.Matrix.conditionNumber=function(t){var a=Jmat.Matrix.svd(t),r=Math.min(t.w,t.h),e=a.s.e[0][0].div(a.s.e[r-1][r-1]);return Jmat.Complex.isNaN(e)&&(e=Jmat.Complex(1/0)),e},Jmat.Matrix.rank=function(t,a){for(var r=void 0==a?1e-14:a,e=Jmat.Matrix.svd(t).s,m=0,n=Math.min(e.w,e.h),i=0;n>i;i++)Jmat.Real.near(e.e[i][i].re,0,r)||m++;return Jmat.Complex(m)},Jmat.Matrix.trace=function(t){if(t.w!=t.h)return Jmat.Complex(NaN);for(var a=Jmat.Complex.ZERO,r=0;re?l-e:l,J=0>r?o-r:o;i.e[J][u]=t.e[o][l]}for(var o=0;oe?l:l+e,J=0>r?o:o+r;i.e[J][u]=i.e[J][u].add(a.e[o][l])}return i},Jmat.Matrix.insert=function(t,a,r,e){for(var m=Jmat.Matrix.copy(t),n=0;n=0&&o=0&&le?l-e:l,J=0>r?o-r:o;i.e[J][u]=t.e[o][l]}for(var o=0;oe?l:l+e,J=0>r?o:o+r;i.e[J][u]=a.e[o][l]}return i},Jmat.Matrix.getHouseholderVector_=function(t,a){var r=Jmat.Matrix,e=Jmat.Complex,m=t.e[0][0].eqr(0)?e(-1):e.sign(t.e[0][0]),n=r.identity(t.h,1).mulc(m.mul(r.norm(t))).add(t),i=r.isZero(n,1e-30);i||(n=n.divc(r.norm(n)));var o;if(i)o=e(0);else if(a)o=e(2);else{var l=r.mul(r.row(r.transjugate(t),0),n),u=r.mul(r.transjugate(n),r.col(t,0));o=l.e[0][0].div(u.e[0][0]).addr(1)}return[n,o]},Jmat.Matrix.getGivensParams_=function(t,a){if(a.eqr(0))return[Jmat.Complex(1),Jmat.Complex(0),t];var r=Jmat.Complex.hypot(t,a),e=t.div(r),m=a.div(r).neg();return[e,m,r]},Jmat.Matrix.givensPre_=function(t,a,r,e,m){for(var n=0;ni;i++){var o=a.getGivensParams_(m.e[i][i],m.e[i+1][i]);a.givensPre_(m,i,i+1,o[0],o[1]),m.e[i+1][i]=r(0),a.givensPost_(n,i,i+1,o[0],o[1])}return{q:n,r:m}},Jmat.Matrix.qr_general_=function(t){var a=Jmat.Matrix,r=a.transjugate,e=Jmat.Matrix.isReal(t),m=t.h,n=t.w,i=[],o=[];if(t.hu;u++){var J=a.submatrix(l,u,l.h,u,u+1),s=a.getHouseholderVector_(J,e);i[u]=s[0],o[u]=s[1];var p=a.submatrix(l,u,m,u,n);p=p.sub(i[u].mul(r(i[u])).mul(p).mulc(o[u])),l=a.insert(l,p,u,u)}for(var x=a.identity(m,m),u=n-1;u>=0;u--){var f=a.submatrix(x,u,m,0,m);f=f.sub(i[u].mul(r(i[u])).mul(f).mulc(o[u])),x=a.insert(x,f,u,0)}return{q:x,r:l}},Jmat.Matrix.qr=function(t){return Jmat.Matrix.isUpperHessenberg(t,1e-18)?Jmat.Matrix.qr_hessenberg_(t):Jmat.Matrix.qr_general_(t)},Jmat.Matrix.eig11=function(t){if(1!=t.w||1!=t.h)return null;var a={};return a.l=new Jmat.Matrix(1,1),a.l.e[0][0]=Jmat.Complex(t.e[0][0]),a.v=new Jmat.Matrix(1,1),a.v.e[0][0]=Jmat.Complex(1),a},Jmat.Matrix.eigval22=function(t){if(2!=t.w||2!=t.h)return null;var a=Jmat.Complex(1),r=t.e[0][0].neg().sub(t.e[1][1]),e=t.e[0][0].mul(t.e[1][1]).sub(t.e[0][1].mul(t.e[1][0])),m=Jmat.Complex.sqrt(r.mul(r).sub(a.mul(e).mulr(4))),n=r.neg().add(m).div(a.mulr(2)),i=r.neg().sub(m).div(a.mulr(2));return i.abssq()>n.abssq()?[i,n]:[n,i]},Jmat.Matrix.eig22=function(t){if(2!=t.w||2!=t.h)return null;var a=Jmat.Matrix.eigval22(t),r=a[0],e=a[1],m=t.e[0][1].div(r.sub(t.e[0][0])),n=Jmat.Complex(1),i=t.e[0][1].div(e.sub(t.e[0][0])),o=Jmat.Complex(1),l={};return l.l=new Jmat.Matrix(2,1),l.l.e[0][0]=r,l.l.e[1][0]=e,l.v=new Jmat.Matrix(2,2),l.v.e[0][0]=m,l.v.e[1][0]=n,l.v.e[0][1]=i,l.v.e[1][1]=o,l},Jmat.Matrix.eigval_=function(t){for(var a=Jmat.Complex,r=Jmat.Matrix,e=1.2e-16,m=t.w,n=a(0),i=a(0),o=a(0),l=a(0),u=a(0),J=[],s=0;m>s;s++)J[s]=a(0);for(;m>0;)for(var p=0;30>=p;p++){if(30==p)return null;var x;for(x=m-1;x>=1;x--)if(a.abs1r(t.e[x][x-1])<=e*(a.abs1r(t.e[x-1][x-1])+a.abs1r(t.e[x][x]))){t.e[x][x-1]=a(0);break}if(x==m-1){J[m-1]=t.e[m-1][m-1].add(i),m--;break}10==p||20==p?(n.re=Math.abs(t.e[m-1][m-2].re)+Math.abs(t.e[m-2][m-3].re),n.im=Math.abs(t.e[m-1][m-2].im)+Math.abs(t.e[m-2][m-3].im)):(n=t.e[m-1][m-1],o=t.e[m-2][m-1].mul(t.e[m-1][m-2]),o.eqr(0)||(l=t.e[m-2][m-2].sub(n).divr(2),u=a.sqrt(l.mul(l).add(o)),l.re*u.re+l.im*u.im<0&&(u=u.neg()),o=o.div(l.add(u)),n=n.sub(o)));for(var s=0;m>s;s++)t.e[s][s]=t.e[s][s].sub(n);i=i.add(n);for(var f=[],c=0;m>c+1;c++)f[c]=r.getGivensParams_(t.e[c][c],t.e[c+1][c]),r.givensPre_(t,c,c+1,f[c][0],f[c][1]),t.e[c+1][c]=a(0),t.e[c][c]=f[c][2];for(var c=0;m>c+1;c++)r.givensPost_(t,c,c+1,f[c][0],f[c][1])}return J},Jmat.Matrix.eigval=function(t){var a=Jmat.Matrix;if(t.w!=t.h||t.w<1)return null;var r=t.w;if(1==r)return[t.e[0][0]];if(2==r)return a.eigval22(t);var e=a.toHessenberg(t),m=a.eigval_(e);return m.sort(function(t,a){return a.abssq()-t.abssq()}),m},Jmat.Matrix.eigenVectorFor=function(t,a,r){var e=Jmat.Matrix;if(t.w!=t.h||t.w<1)return null; -var m=t.w,n=void 0==r?1:r;t=e.copy(t);for(var i=0;m>i;i++)t.e[i][i]=t.e[i][i].sub(a);var o=e.zero(m,1),l=e.solve(t,o,.01);if(l)2==n&&(l=l.divc(e.norm(l))),1==n&&(l.e[m-1][0].eqr(0)||(l=l.divc(l.e[m-1][0])));else{l=e.zero(m,1);for(var i=0;m>i;i++)l.e[i][j]=Jmat.Complex(NaN,NaN)}return l},Jmat.Matrix.eig=function(t,a){var r=Jmat.Matrix;if(t.w!=t.h||t.w<1)return null;var e=t.w;if(1==e)return r.eig11(t);if(2==e)return r.eig22(t);var m=r.eigval(t);m.sort(function(t,a){return a.abssq()-t.abssq()});for(var n=null,n=new r(e,e),i=0;e>i;i++){var o=r.eigenVectorFor(t,m[i],a);r.setCol(n,o,i)}return{l:m,v:n}},Jmat.Matrix.evd=function(t){var a=Jmat.Matrix.eig(t);return{v:a.v,d:Jmat.Matrix.diag(a.l)}},Jmat.Matrix.definiteness_=function(t,a){var r=void 0==a?1e-12:a,e=Jmat.Matrix.eigval(t);if(!e)return null;for(var m=[!1,!1,!1],n=0;n0?m[2]=!0:m[0]=!0;return m},Jmat.Matrix.INDEFINITE=0,Jmat.Matrix.POSITIVE_DEFINITE=1,Jmat.Matrix.POSITIVE_SEMI_DEFINITE=2,Jmat.Matrix.NEGATIVE_DEFINITE=3,Jmat.Matrix.NEGATIVE_SEMI_DEFINITE=4,Jmat.Matrix.definiteness=function(t,a){if(!Jmat.Matrix.isHermitian(t,a))return null;var r=Jmat.Matrix.definiteness_(t,a);return!r[2]||r[0]||r[1]?!r[0]||r[2]||r[1]?r[0]?r[2]?r[0]&&r[2]?Jmat.Matrix.INDEFINITE:null:Jmat.Matrix.NEGATIVE_SEMI_DEFINITE:Jmat.Matrix.POSITIVE_SEMI_DEFINITE:Jmat.Matrix.NEGATIVE_DEFINITE:Jmat.Matrix.POSITIVE_DEFINITE},Jmat.Matrix.arrayToCol=function(t){for(var a=new Jmat.Matrix(t.length,1),r=0;rm;m++)e=e.add(t.get1(m).mul(a.get1(m).conj()));return e},/* +function Jmat(){}Jmat.Real=function(){},Jmat.Real.cast=function(t){return t&&void 0!=t.re?t.re:void 0==t?0:t},Jmat.Real.caststrict=function(t){return t&&void 0!=t.re?0==t.im?t.re:NaN:void 0==t?0:t},Jmat.Real.SQRT2=Math.sqrt(2),Jmat.Real.SQRTPI=Math.sqrt(Math.PI),Jmat.Real.EM=.5772156649015329,Jmat.Real.APERY=1.2020569,Jmat.Real.BIGGESTJSINT=9007199254740992,Jmat.Real.BIGGESTJSPRIME=9007199254740881,Jmat.Real.isInt=function(t){return t==Math.floor(t)},Jmat.Real.isPositiveInt=function(t){return t==Math.floor(t)&&t>0},Jmat.Real.isNegativeInt=function(t){return t==Math.floor(t)&&0>t},Jmat.Real.isPositiveIntOrZero=function(t){return t==Math.floor(t)&&t>=0},Jmat.Real.isNegativeIntOrZero=function(t){return t==Math.floor(t)&&0>=t},Jmat.Real.isOdd=function(t){return 1==Math.abs(t%2)},Jmat.Real.isEven=function(t){return t%2==0},Jmat.Real.isPOT=function(t){return 0!=t&&0==(t&t-1)},Jmat.Real.isInfOrNaN=function(t){return t==1/0||t==-(1/0)||isNaN(t)},Jmat.Real.dist=function(t,a){return Math.abs(t-a)},Jmat.Real.mod=function(t,a){return t-Math.floor(t/a)*a},Jmat.Real.rem=function(t,a){return t%a},Jmat.Real.wrap=function(t,a,r){if(a==r)return a;var e=Math.min(a,r),m=Math.max(a,r);return e+Jmat.Real.mod(t-e,m-e)},Jmat.Real.clamp=function(t,a,r){var e=Math.min(a,r),m=Math.max(a,r);return Math.max(e,Math.min(m,t))},Jmat.Real.idiv=function(t,a){return Math.floor(t/a)},Jmat.Real.gamma=function(t){if(t==1/0)return 1/0;if(Jmat.Real.useFactorialLoop_(t-1))return Jmat.Real.factorial(t-1);if(.5==t)return Jmat.Real.SQRTPI;var a=function(t){if(0>=t&&t==Math.round(t))return 1/0;if(.5>t)return Math.PI/(Math.sin(Math.PI*t)*a(1-t));var r=7,e=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];t-=1;for(var m=e[0],n=1;r+2>n;n++)m+=e[n]/(t+n);var i=t+r+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,t+.5)*Math.exp(-i)*m};return a(t)},Jmat.Real.factorialmem_=[1],Jmat.Real.useFactorialLoop_=function(t){return Jmat.Real.isPositiveIntOrZero(t)&&200>t},Jmat.Real.factorial=function(t){if(!Jmat.Real.useFactorialLoop_(t))return Jmat.Real.gamma(t+1);if(Jmat.Real.factorialmem_[t])return Jmat.Real.factorialmem_[t];for(var a=Jmat.Real.factorialmem_[Jmat.Real.factorialmem_.length-1],r=Jmat.Real.factorialmem_.length;t>=r;r++)a*=r,Jmat.Real.factorialmem_[r]=a;return a},Jmat.Real.isPowerOf=function(t,a){var r=Jmat.Real;if(t==a)return 1;if(0>=a)return 0;if(0>=t)return 0;if(1==t)return 0;if(a>t)return 0;if(r.isPOT(t)&&r.isPOT(a)){var e=r.ilog2(t),m=r.ilog2(a);return e%m==0?e/m:0}if(r.isPOT(t)!=r.isPOT(a))return 0;if(r.isEven(t)!=r.isEven(a))return 0;for(var n=a,i=[],o=a,l=1;t>n;){if(i.push(o),n*=o,l*=2,n==t)return l;o*=o}if(n==1/0)return 0;for(;i.length>0;){var u=i.pop();if(n>t?(n/=u,l-=1<t)return 0;if(t>Jmat.Real.BIGGESTJSINT)return NaN;for(var a=0;ar;){if(t%(r-1)==0||t%(r+1)==0)return 0;r+=6}return 1},Jmat.Real.isPrimeMillerRabin_=function(t){var a=Jmat.Real.isPrimeInit_(t);if(-1!=a)return a;var r;r=1373653>t?[2,3]:9080191>t?[31,73]:4759123141>t?[2,7,61]:1122004669633>t?[2,13,23,1662803]:2152302898747>t?[2,3,5,7,11]:3474749660383>t?[2,3,5,7,11,13]:341550071728321>t?[2,3,5,7,11,13,17]:0xd655278977733>t?[2,2570940,880937,610386380,4130785767]:[2,325,9375,28178,450775,9780504,1795265022];for(var e=Math.floor(t/2),m=1;!(1&e);)e=Math.floor(e/2),++m;for(var n=function(t,a,r){return t+ar?(t-r+a)%r:(t%r+a%r)%r},i=function(t,a,r){if(t*a0;)1&a&&(e=n(e,m,r)),m=n(m,m,r),a=Math.floor(a/2);return e%r},o=function(t,a,r){for(var e=1;a>0;)1&a&&(e=i(e,t,r)),t=i(t,t,r),a=Math.floor(a/2);return e},l=function(t,a,r,e){for(var m=o(e,r,t);a;){var n=i(m,m,t);if(1==n&&1!=m&&m!=t-1)return!1;m=n,a--}return 1==n},u=0;ut?Jmat.Real.isPrimeSlow_(t):Jmat.Real.isPrimeMillerRabin_(t)},Jmat.Real.eratosthenes=function(t){if(2>t)return[];for(var a=[2],r=[],e=Math.floor(Math.sqrt(t)),m=Math.ceil(t/2),n=0;m>n;n++)r[n]=!0;for(var i=3;e>=i;i+=2){var n=Math.floor(i/2);if(r[n])for(var o=n+i;m>o;o+=i)r[o]=!1}for(var n=1;t>=n;n++)r[n]&&a.push(2*n+1);return a},Jmat.Real.smallestPrimeFactor=function(t){if(t==1/0||t!=t)return NaN;if(t!=Math.round(t))return NaN;if(1>t)return NaN;if(t>Jmat.Real.BIGGESTJSINT)return NaN;if(1==t)return 1;for(var a=0;ar;){if(t%(r-1)==0)return r-1;if(t%(r+1)==0)return r+1;r+=6}return t},Jmat.Real.factorize=function(t){if(t>Jmat.Real.BIGGESTJSINT)return void 0;var t=Math.round(t),a=[];if(0>t&&(t=-t,a.push(-1)),2>=t)return(0==a.length||1!=t)&&a.push(t),a;for(;!(1>t);){var r=Jmat.Real.smallestPrimeFactor(t);if(a.push(r),t==r)break;t=Math.round(t/r)}return a},Jmat.Real.primeCount=function(t){var a=[0,2,3,5,7,11,13,17],r=function(t){if(t1e9)return NaN;if(2>t)return 0;if(3>t)return 1;if(5>t)return 2;var a=Math.floor(t);if(n[a])return n[a];for(var e=Math.floor(i(Math.pow(t,.25))),o=Math.floor(i(Math.sqrt(t))),l=Math.floor(i(Math.pow(t,1/3))),u=m(a,e)+Math.floor((o+e-2)*(o-e+1)/2),J=e+1;o>=J;J++){var s=a/r(J);if(u-=i(s),l>=J)for(var p=i(Math.sqrt(s)),x=J;p>=x;x++)u-=i(s/r(x))-x+1}return n[a]=u,u};return i(t)},Jmat.Real.nearestPrime=function(t){var a=Math.round(t);if(7>a)return 2>=a?2:4>=a?3:5;if(a==1/0||a!=a)return NaN;if(a>=9007199254740881)return NaN;if(Jmat.Real.isPrime(a))return a;for(var r=a%6,e=6-r,m=0,n=0;;){if(Jmat.Real.isPrime(a-m-r+1)?n=a-m-r+1:Jmat.Real.isPrime(a-m-r-1)&&(n=a-m-r-1),(!n||a-n>m+e-1)&&Jmat.Real.isPrime(a+m+e-1)?n=a+m+e-1:(!n||a-n>m+e+1)&&Jmat.Real.isPrime(a+m+e+1)&&(n=a+m+e+1),n)return n;m+=6}},Jmat.Real.nextPrime=function(t){var a=Math.floor(t);if(2>a)return 2;if(3>a)return 3;if(a==1/0||a!=a)return NaN;if(a>=9007199254740881)return NaN;var r=a%6,e=2;for(0==r||5==r?(a+=0==r?1:2,e=4):a+=5-r;;){if(Jmat.Real.isPrime(a))return a;a+=e,e^=6}},Jmat.Real.previousPrime=function(t){var a=Math.ceil(t);if(2>=a)return NaN;if(3>=a)return 2;if(5>=a)return 3;if(7>=a)return 5;if(a==1/0||a!=a)return NaN;if(a>Jmat.Real.BIGGESTJSINT)return NaN;var r=a%6,e=2;for(0==r||1==r?(a-=r+1,e=4):a-=r-1;;){if(Jmat.Real.isPrime(a))return a;a-=e,e^=6}},Jmat.Real.eulerTotient=function(t){if(0>=t)return NaN;for(var a=Math.floor(t),r=Jmat.Real.factorize(a),e=-1,m=a,n=0;nt||0>a||a>t)return NaN;if(t>180)return NaN;for(var r=Jmat.Real.pascal_triangle_cache_;r.length<=t;){var e=r.length,m=e+1;r[e]=[];for(var n=0;m>n;n++)r[e][n]=0==n||n==m-1?1:r[e-1][n-1]+r[e-1][n]}return r[t][a]},Jmat.Real.gcd=function(t,a){if(!Jmat.Real.isInt(t)||!Jmat.Real.isInt(a))return NaN;if(Math.abs(t)>Jmat.Real.BIGGESTJSINT||Math.abs(a)>Jmat.Real.BIGGESTJSINT)return NaN;for(;;){if(0==a)return Math.abs(t);var r=Jmat.Real.mod(t,a);t=a,a=r}},Jmat.Real.lcm=function(t,a){return Math.abs(t*a)/Jmat.Real.gcd(t,a)},Jmat.Real.decompose=function(t,a){a||(a=1e5);var r=0>t;r&&(t=-t);var e=Math.floor(t),m=t-e;if(0==m)return[t,1];for(var n,i=0,o=1,l=1,u=1;a>=o&&a>=u;){var J=(i+l)/(o+u);if(m==J){n=a>=o+u?[i+l,o+u]:u>o?[l,u]:[i,o];break}m>J?(i+=l,o+=u):(l=i+l,u=o+u)}return n||(n=o>a?[l,u]:[i,o]),n[0]+=e*n[1],r&&(n[0]=-n[0]),n},Jmat.Real.decomposeSemiFast=function(t,a){var r=1e3;if(r>a)return Jmat.Real.decompose(t,a);var e=Jmat.Real.decompose(t,r),m=e[0]/e[1];if(m==t)return e;var n=Jmat.Real.decomposeFast(t,r),i=n[0]/n[1];return Math.abs(t-m)=t&&t>=-r&&(-1/r>t||t>1/r)){var e=0>t;e&&(t=-t);var m=Math.floor(t),n=t-m,i=a;n=Math.floor(n*i);var o=Jmat.Real.gcd(n,i);return i/=o,n/=o,n+=m*i,e&&(n=-n),[n,i]}return[t,1]},Jmat.Real.near=function(t,a,r){return t>=a-r&&a+r>=t},Jmat.Real.relnear=function(t,a,r){if(t==a)return!0;if(0==t||0==a)return!1;if(0>t!=0>a)return!1;t=Math.abs(t),a=Math.abs(a);var e=t>a?t/a:a/t;return 1+r>e},Jmat.Real.frac=function(t){return t-Math.floor(t)},Jmat.Real.fracn=function(t){return t>0?t-Math.floor(t):-(-t-Math.floor(-t))},Jmat.Real.lambertw=function(t){if(isNaN(t))return NaN;if(t==1/0||t==-(1/0))return 1/0;if(t>=-1/Math.E&&703>=t){for(var a=10>t?0:Math.log(t)-Math.log(Math.log(t)),r=Math.max(30,t>0?10+Math.floor(t):30),e=0;r>e;e++){var m=Math.exp(a);a-=(a*m-t)/(m+a*m)}return a}if(t>0)for(var n=1,i=0,o=Math.log(t)-Math.log(Math.log(t));;){if(0==n||.5*n==n||o+n==o)return o;var l=o*Math.exp(o);if(Jmat.Real.near(l,t,1e-15))return o;l>t?(o-=n,-1==i&&(n*=.5),i=1):(o+=n,1==i&&(n*=.5),i=-1)}return NaN},Jmat.Real.logy=function(t,a){return Math.log(t)/Math.log(a)},Jmat.Real.clz32=Math.clz32||function(t){for(var a=0;t>0;)t=Math.floor(t/2),a++;return 32-a},Jmat.Real.log2=Math.log2||function(t){return Math.log(t)/Math.LN2},Jmat.Real.ilog2=function(t){return 0>=t?NaN:2147483648>t?31-Jmat.Real.clz32(t):Math.floor(Jmat.Real.log2(Math.floor(t)+.5))},Jmat.Real.getNumBits=function(t){return Jmat.Real.ilog2(Math.abs(t))+1},Jmat.Real.log10=Math.log10||function(t){return Math.log(t)/Math.LN10},Jmat.Real.root=function(t,a){return Math.pow(t,1/a)},Jmat.Real.dawson=function(t){var a=t*t,r=a*a,e=r*a,m=e*a,n=m*a,i=n*a,o=.1049934947,l=.0424060604,u=.0072644182,J=.0005064034,s=.0001789971,p=.7715471019,x=.2909738639,f=.0694555761,c=.0140005442,C=.0008327945,d=1+o*a+l*r+u*e+J*m+s*n,v=1+p*a+x*r+f*e+c*m+C*n+2*s*i;return d/v*t},Jmat.Real.erfi=function(t){var a=!1;0>t&&(t=-t,a=!0);var r=0,e=1/Jmat.Real.SQRTPI;if(.5>=t){var m=t*t*t,n=m*t*t,i=n*t*t,o=2*t+2/3*m+.2*n+1/21*i;r=e*o}else if(t>=5){var l=1/t,u=l*l*l,J=u*l*l,s=J*l*l,p=Math.exp(t*t),o=l+.5*u+.75*J+15/8*s;r=e*p*o}else r=2/Jmat.Real.SQRTPI*Math.exp(t*t)*Jmat.Real.dawson(t);return a&&(r=-r),r},Jmat.Real.erf=function(t){var a=0>t;if(a&&(t=-t),0==t)return 0;var r=1/(1+.3275911*t),e=r*(.254829592+r*(-.284496736+r*(1.421413741+r*(-1.453152027+1.061405429*r)))),m=1-e*Math.exp(-(t*t));return a&&(m=-m),m},Jmat.Real.erfc=function(t){var a=0>t;a&&(t=-t);var r;if(.5>=t){var e=t*t,m=t*e,n=m*e,i=n*e;r=1-2/Jmat.Real.SQRTPI*(t-m/3+n/10+i/42)}else if(t>=5){var e=t*t,o=e*e,l=o*e,u=l*e;r=Math.exp(-(t*t))/(t*Jmat.Real.SQRTPI)*(1-.5/e+.75/o-15/8/l+6.5625/u)}else{var J=1/(1+.3275911*t),s=J*(.254829592+J*(-.284496736+J*(1.421413741+J*(-1.453152027+1.061405429*J))));r=s*Math.exp(-(t*t))}return a&&(r=2-r),r},Jmat.Real.dms=function(t){var a=0>t;a&&(t=-t);var r=Math.floor(t),e=Math.floor(60*t-60*r),m=Math.floor(3600*t-3600*r-60*e),n=r+e/100+m/1e4;return a&&(n=-n),n},Jmat.Real.dd=function(t){var a=0>t;a&&(t=-t);var r=Math.floor(t),e=Math.floor(100*t-100*r),m=Math.floor(1e4*t-1e4*r-100*e),n=r+e/60+m/3600;return a&&(n=-n),n},Jmat.Real.round=function(t){var a=Math.floor(t),r=t-a;return.5==r?a%2==0?a:a+1:.5>r?a:a+1},Jmat.Real.trunc=Math.trunc||function(t){return 0>t?Math.ceil(t):Math.floor(t)},Jmat.Real.lerp=function(t,a,r){return(1-r)*t+r*a},Jmat.Real.sinh=Math.sinh||function(t){return(Math.exp(t)-Math.exp(-t))/2},Jmat.Real.cosh=Math.cosh||function(t){return(Math.exp(t)+Math.exp(-t))/2},Jmat.Real.tanh=Math.tanh||function(t){return(Math.exp(2*t)-1)/(Math.exp(2*t)+1)},Jmat.Real.asinh=Math.asinh||function(t){return t==-(1/0)?t:Math.log(t+Math.sqrt(t*t+1))},Jmat.Real.acosh=Math.acosh||function(t){return Math.log(t+Math.sqrt(t*t-1))},Jmat.Real.atanh=Math.atanh||function(t){return Math.log((1+t)/(1-t))/2},Jmat.Real.hypot=function(t,a,r){t=Math.abs(t),a=Math.abs(a);var e=Math.min(t,a);return t=Math.max(t,a),t==1/0?1/0:(e/=t,t*Math.sqrt(1+e*e))},Jmat.Real.abs=Math.abs,Jmat.Real.floor=Math.floor,Jmat.Real.ceil=Math.ceil,Jmat.Real.min=Math.min,Jmat.Real.max=Math.max,Jmat.Real.exp=Math.exp,Jmat.Real.log=Math.log,Jmat.Real.sqrt=Math.sqrt,Jmat.Real.pow=Math.pow,Jmat.Real.sin=Math.sin,Jmat.Real.cos=Math.cos,Jmat.Real.tan=Math.tan,Jmat.Real.asin=Math.asin,Jmat.Real.acos=Math.acos,Jmat.Real.atan=Math.atan,Jmat.Real.atan2=Math.atan2,Jmat.Real.isLeapYear=function(t){return t%400==0||t%4==0&&t%100!=0},Jmat.Real.montharray_=[-1,31,28,31,30,31,30,31,31,30,31,30,31],Jmat.Real.monthLength=function(t,a){return a&&2==t?29:Jmat.Real.montharray_[t]},Jmat.Real.numDaysSince0=function(t,a,r){var e=Jmat.Real,m=0==t?0:e.idiv(t-1,4)-e.idiv(t-1,100)+e.idiv(t-1,400)+1,n=365*t+m,i=a>2?Jmat.Real.isLeapYear(t)?1:2:0,o=a>8&&a%2==1?1:0,l=30*(a-1)+e.idiv(a,2)-i+o;return n+l+r-1},Jmat.Real.daysSince0ToDate=function(t){var a=Math.floor(t/365.2425),r=Jmat.Real.isLeapYear(a);t-=Jmat.Real.numDaysSince0(a,1,1);for(var e=0,m=1;12>=m;m++){e++;var n=Jmat.Real.monthLength(m,r);if(!(t>=n))break;t-=n}return[a,e,t+1]},Jmat.Real.dayOfWeek=function(t,a,r){var e=Jmat.Real;return r+=3>a?t--:t-2,(e.idiv(23*a,9)+r+4+e.idiv(t,4)-e.idiv(t,100)+e.idiv(t,400))%7},Jmat.Real.argmax=function(t,a,r){for(var e=r(t),m=t,n=t+1;a>n;n++){var i=r(n);i>e&&(e=i,m=n)}return m},Jmat.Complex=function(t,a){return this instanceof Jmat.Complex?(this.re=t,void(this.im=a)):Jmat.Complex.make(t,a)},Jmat.Complex.make=function(t,a){return void 0==t?new Jmat.Complex(0,0):"number"==typeof t?new Jmat.Complex(t,void 0==a?0:a):"string"==typeof t?Jmat.Complex.parse(t):new Jmat.Complex(t.re,t.im)},Jmat.Complex.newr=function(t){return new Jmat.Complex(t,0)},Jmat.Complex.newi=function(t){return new Jmat.Complex(0,t)},Jmat.Complex.polar=function(t,a){return new Jmat.Complex(t*Math.cos(a),t*Math.sin(a))},Jmat.Complex.cast=function(t){return t&&void 0!=t.re?t:void 0==t?Jmat.Complex(0):Jmat.Complex(t)},Jmat.Complex.copy=function(t){return new Jmat.Complex(t.re,t.im)},Jmat.Complex.formatFloat_=function(t,a){var r=Math.pow(10,a||0);return String(Math.round(t*r)/r)},Jmat.Complex.toString=function(t,a){if(!t)return 0==t?"invalid0":""+t;var r=a?Jmat.Complex.formatFloat_(t.re,a):""+t.re,e=a?Jmat.Complex.formatFloat_(t.im,a):""+t.im;return 0==t.im||"0"==e?""+r:0==t.re?""+e+"i":t.im<0?""+r+e+"i":""+r+"+"+e+"i"},Jmat.Complex.prototype.toString=function(t){return Jmat.Complex.toString(this,t)},Jmat.Complex.parse=function(t){var a=t.indexOf("i");if(-1==a)return Jmat.Complex(parseFloat(t));if("i"==t)return Jmat.Complex(0,1);t=t.substr(0,a),t=t.replace(/ /g,""),("+"==t[a-1]||"-"==t[a-1])&&(t+="1");for(var r=1;r>a.re,r.im=t.im>>a.im,r},Jmat.Complex.neg=function(t){return Jmat.Complex(-t.re,-t.im)},Jmat.Complex.prototype.neg=function(){return Jmat.Complex(-this.re,-this.im)},Jmat.Complex.sign=function(t){return 0==t.im?0==t.re?Jmat.Complex(0):t.re<0?Jmat.Complex(-1):Jmat.Complex(1):t.divr(t.abs())},Jmat.Complex.csgn=function(t){return Jmat.Real.near(t.re,0,1e-15)?0==t.im?Jmat.Complex(0):t.im<0?Jmat.Complex(-1):Jmat.Complex(1):0==t.re?Jmat.Complex(0):t.re<0?Jmat.Complex(-1):Jmat.Complex(1)},Jmat.Complex.sign1=function(t){return 0==t.im?t.re<0?Jmat.Complex(-1):Jmat.Complex(1):t.divr(t.abs())},Jmat.Complex.csgn1=function(t){return Jmat.Real.near(t.re,0,1e-15)?t.im<0?Jmat.Complex(-1):Jmat.Complex(1):t.re<0?Jmat.Complex(-1):void Jmat.Complex(1)},Jmat.Complex.copysign=function(t,a){return Jmat.Complex.abs(t).mul(Jmat.Complex.sign(a))},Jmat.Complex.conj=function(t){return Jmat.Complex(t.re,-t.im)},Jmat.Complex.prototype.conj=function(){return Jmat.Complex(this.re,-this.im)},Jmat.Complex.eq=function(t,a){return t&&a?t.re==a.re&&t.im==a.im:t==a},Jmat.Complex.prototype.eq=function(t){return t&&this.re==t.re&&this.im==t.im},Jmat.Complex.eqr=function(t,a){return t.re==a&&0==t.im},Jmat.Complex.prototype.eqr=function(t){return this.re==t&&0==this.im},Jmat.Complex.powr=function(t,a){return Jmat.Complex.pow(t,Jmat.Complex(a))},Jmat.Complex.prototype.powr=function(t){return Jmat.Complex.pow(this,Jmat.Complex(t))},Jmat.Complex.inv=function(t){return Jmat.Complex.ONE.div(t)},Jmat.Complex.prototype.inv=function(){return Jmat.Complex.ONE.div(this)},Jmat.Complex.inc=function(t){return new Jmat.Complex(t.re+1,t.im)},Jmat.Complex.prototype.inc=function(){return new Jmat.Complex(this.re+1,this.im)},Jmat.Complex.dec=function(t){return new Jmat.Complex(t.re-1,t.im)},Jmat.Complex.prototype.dec=function(){return new Jmat.Complex(this.re-1,this.im)},Jmat.Complex.abs=function(t){return Jmat.Complex(t.abs())},Jmat.Complex.prototype.abs=function(){return 0==this.im?Math.abs(this.re):0==this.re?Math.abs(this.im):this.re==1/0||this.re==-(1/0)||this.im==1/0||this.im==-(1/0)?1/0:Jmat.Real.hypot(this.re,this.im)},Jmat.Complex.abssq=function(t){return Jmat.Complex(t.re*t.re+t.im*t.im)},Jmat.Complex.prototype.abssq=function(){return this.re*this.re+this.im*this.im},Jmat.Complex.arg=function(t){return Jmat.Complex(t.arg())},Jmat.Complex.prototype.arg=function(){return 0==this.im?this.re<0?Math.PI:0:Math.atan2(this.im,this.re)},Jmat.Complex.arg1=function(t){var a=t.arg();return 0>a&&(a+=2*Math.PI),a/=2*Math.PI,0>a&&(a=0),a>1&&(a=1),a},Jmat.Complex.abs1r=function(t){return Math.abs(t.re)+Math.abs(t.im)},Jmat.Complex.hypot=function(t,a){var r=Jmat.Complex;if(r.abs1r(a)>r.abs1r(t)){var e=t;t=a,a=e}if(r.isInf(t))return 1/0;var m=a.div(t);return t.mul(r.sqrt(r.abssq(m).addr(1)))},Jmat.Complex.isReal=function(t){return 0==t.im},Jmat.Complex.isImaginary=function(t){return 0==t.re},Jmat.Complex.isInt=function(t){return 0==t.im&&Jmat.Real.isInt(t.re)},Jmat.Complex.isGaussian=function(t){return Jmat.Real.isInt(t.re)&&Jmat.Real.isInt(t.im)},Jmat.Complex.isNaN=function(t){return!t||isNaN(t.re)||isNaN(t.im)},Jmat.Complex.isInf=function(t){return Math.abs(t.re)==1/0||Math.abs(t.im)==1/0},Jmat.Complex.isInfOrNaN=function(t){return!t||Jmat.Real.isInfOrNaN(t.re)||Jmat.Real.isInfOrNaN(t.im)},Jmat.Complex.isPositive=function(t){return t.re>0&&0==t.im},Jmat.Complex.isNegative=function(t){return t.re<0&&0==t.im},Jmat.Complex.isPositiveOrZero=function(t){return t.re>=0&&0==t.im},Jmat.Complex.isNegativeOrZero=function(t){return t.re<=0&&0==t.im},Jmat.Complex.isPositiveInt=function(t){return Jmat.Complex.isInt(t)&&t.re>0},Jmat.Complex.isNegativeInt=function(t){return Jmat.Complex.isInt(t)&&t.re<0},Jmat.Complex.isPositiveIntOrZero=function(t){return Jmat.Complex.isInt(t)&&t.re>=0},Jmat.Complex.isNegativeIntOrZero=function(t){return Jmat.Complex.isInt(t)&&t.re<=0},Jmat.Complex.isOdd=function(t){return Jmat.Complex.isInt(t)&&1==Math.abs(t.re%2)},Jmat.Complex.isEven=function(t){return Jmat.Complex.isInt(t)&&t.re%2==0},Jmat.Complex.pow=function(t,a){if(Jmat.Complex.isReal(t)&&Jmat.Complex.isReal(a)&&(t.re>=0||a.re==1/0||a.re==-(1/0)||Jmat.Real.isInt(a.re)))return Jmat.Complex(Math.pow(t.re,a.re));var r=t.abs(),e=t.arg(),m=Math.pow(r,a.re)*Math.exp(-a.im*e);isNaN(m)&&(m=Math.pow(1,a.re/r)*Math.exp(-a.im*e/r),m=0>m?-(1/0):m>0?1/0:NaN);var n=a.im*Math.log(r)+a.re*e;return Jmat.Complex(m*Math.cos(n),m*Math.sin(n))},Jmat.Complex.prototype.pow=function(t){return Jmat.Complex.pow(this,t)},Jmat.Complex.sin=function(t){if(0==t.im)return Jmat.Complex(Math.sin(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.exp(a),e=Jmat.Complex.inv(r);return r.sub(e).div(Jmat.Complex(0,2))},Jmat.Complex.sinc=function(t){return t.eqr(0)?Jmat.Complex(1):Jmat.Complex.sin(t).div(t)},Jmat.Complex.cos=function(t){if(0==t.im)return Jmat.Complex(Math.cos(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.exp(a),e=Jmat.Complex.inv(r);return r.add(e).mulr(.5)},Jmat.Complex.tan=function(t){if(0==t.im)return Jmat.Complex(Math.tan(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.exp(a),e=Jmat.Complex.inv(r);return r.sub(e).div(Jmat.Complex(0,2)).div(r.add(e).mulr(.5))},Jmat.Complex.asin=function(t){if(0==t.im&&t.re>=-1&&t.re<=1)return Jmat.Complex(Math.asin(t.re));var a=Jmat.Complex.sqrt(Jmat.Complex.ONE.sub(t.mul(t))),r=Jmat.Complex.log(Jmat.Complex(-t.im,t.re).add(a));return Jmat.Complex(r.im,-r.re)},Jmat.Complex.acos=function(t){if(0==t.im&&t.re>=-1&&t.re<=1)return Jmat.Complex(Math.acos(t.re));var a=Jmat.Complex.sqrt(Jmat.Complex.ONE.sub(t.mul(t))).mul(Jmat.Complex.I),r=Jmat.Complex.log(t.add(a));return Jmat.Complex(r.im,-r.re)},Jmat.Complex.atan=function(t){if(0==t.im)return Jmat.Complex(Math.atan(t.re));var a=Jmat.Complex(-t.im,t.re),r=Jmat.Complex.ONE.sub(a).div(a.inc()),e=Jmat.Complex.log(r);return Jmat.Complex(-.5*e.im,.5*e.re)},Jmat.Complex.atan2=function(t,a){var r=Jmat.Complex;if(r.isReal(t)&&r.isReal(a)){var e=r(0);return e.re=Math.atan2(t.re,a.re),e}return a.eqr(0)?r(Math.PI/2):r.atan(t.div(a))},Jmat.Complex.sinh=function(t){var a=Jmat.Complex.exp(t),r=Jmat.Complex.inv(a);return a.sub(r).divr(2)},Jmat.Complex.cosh=function(t){var a=Jmat.Complex.exp(t),r=Jmat.Complex.inv(a);return a.add(r).divr(2)},Jmat.Complex.tanh=function(t){var a=Jmat.Complex.exp(t),r=Jmat.Complex.inv(a);return a.sub(r).div(a.add(r))},Jmat.Complex.asinh=function(t){return Jmat.Complex.log(t.add(Jmat.Complex.sqrt(t.mul(t).addr(1))))},Jmat.Complex.acosh=function(t){return Jmat.Complex.log(t.add(Jmat.Complex.sqrt(t.subr(1)).mul(Jmat.Complex.sqrt(t.addr(1)))))},Jmat.Complex.atanh=function(t){return Jmat.Complex.log(t.addr(1).div(t.rsub(1))).mulr(.5)},Jmat.Complex.logsin=function(t){if(t.im>-10&&t.im<10)return Jmat.Complex.log(Jmat.Complex.sin(t));var a=Jmat.Complex(.69314718056,1.570796326795),r=Jmat.Complex(Jmat.Real.wrap(t.re,-Math.PI/2,3*Math.PI/2),t.im);return t.im>0?Jmat.Complex.newi(Jmat.Complex.PI).sub(Jmat.Complex.I.mul(r)).sub(a):Jmat.Complex.I.mul(r).sub(a)},Jmat.Complex.logcos=function(t){return Jmat.Complex.logsin(t.rsub(Math.PI/2))},Jmat.Complex.floor=function(t){var a=Jmat.Complex(0);return a.re=Math.floor(t.re),a.im=Math.floor(t.im),a},Jmat.Complex.ceil=function(t){var a=Jmat.Complex(0);return a.re=Math.ceil(t.re),a.im=Math.ceil(t.im),a},Jmat.Complex.round=function(t){var a=Jmat.Complex(0);return a.re=Jmat.Real.round(t.re),a.im=Jmat.Real.round(t.im),a},Jmat.Complex.trunc=function(t){var a=Jmat.Complex(0);return a.re=t.re<0?Math.ceil(t.re):Math.floor(t.re),a.im=t.im<0?Math.ceil(t.im):Math.floor(t.im),a},Jmat.Complex.frac=function(t){return Jmat.Complex(Jmat.Real.frac(t.re),Jmat.Real.frac(t.im))},Jmat.Complex.fracn=function(t){return Jmat.Complex(Jmat.Real.fracn(t.re),Jmat.Real.fracn(t.im))},Jmat.Complex.lerp=function(t,a,r){return r.rsub(1).mul(t).add(r.mul(a))},Jmat.Complex.exp=function(t){if(0==t.im)return Jmat.Complex(Math.exp(t.re));var a=Math.exp(t.re);return new Jmat.Complex(a*Math.cos(t.im),a*Math.sin(t.im))},Jmat.Complex.expm1=function(t){return t.abssq()<1e-5?t.add(t.mul(t).divr(2)).add(t.mul(t).mul(t).divr(6)):Jmat.Complex.exp(t).subr(1)},Jmat.Complex.log=function(t){return t.eqr(-(1/0))?Jmat.Complex(1/0):Jmat.Complex.isReal(t)&&t.re>=0?Jmat.Complex(Math.log(t.re)):Jmat.Complex(Math.log(t.abs()),t.arg())},Jmat.Complex.log1p=function(t){return t.abssq()<1e-8?t.mulr(-.5).addr(1).mul(t):Jmat.Complex.log(t.addr(1))},Jmat.Complex.logy=function(t,a){return Jmat.Complex.log(t).div(Jmat.Complex.log(a))},Jmat.Complex.logr=function(t,a){return Jmat.Complex.log(t).divr(Math.log(a))},Jmat.Complex.log2=function(t){return Jmat.Complex.log(t).divr(Math.LN2)},Jmat.Complex.log10=function(t){return Jmat.Complex.log(t).divr(Math.LN10)},Jmat.Complex.sqrt=function(t){if(Jmat.Complex.isReal(t)){var a=Jmat.Complex(0);return t.re>=0||t.re!=t.re?a.re=Math.sqrt(t.re):a.im=Math.sqrt(-t.re),a}return t.pow(Jmat.Complex(.5))},Jmat.Complex.root=function(t,a){return t.pow(Jmat.Complex(Jmat.Complex.inv(a)))},Jmat.Complex.rootr=function(t,a){return t.pow(Jmat.Complex(1/a))},Jmat.Complex.toInt=function(t){return Math.round(t.re)},Jmat.Complex.infNormalize=function(t){return Jmat.Complex.isNaN(t)?Jmat.Complex(NaN):t.re==1/0?t.im==1/0?Jmat.Complex(1,1):t.im==-(1/0)?Jmat.Complex(1,-1):Jmat.Complex(1,0):t.re==-(1/0)?t.im==1/0?Jmat.Complex(-1,1):t.im==-(1/0)?Jmat.Complex(-1,-1):Jmat.Complex(-1,0):t.im==1/0?t.re==1/0?Jmat.Complex(1,1):t.re==-(1/0)?Jmat.Complex(-1,1):Jmat.Complex(0,1):t.im==-(1/0)?t.re==1/0?Jmat.Complex(1,-1):t.re==-(1/0)?Jmat.Complex(-1,-1):Jmat.Complex(0,-1):t.divr(t.abs())},Jmat.Complex.calcCache_=function(t,a,r,e){if(e){for(var m=0;e>m;m++)if(t.eq(r[2*m+1]))return r[2*m+2];var n=r[0]||0;n++,n>=e&&(n=0);var i=a(t);return r[2*n+1]=t,r[2*n+2]=i,r[0]=n,i}if(t.eq(r[0]))return r[1];var i=a(t);return r[0]=t,r[1]=i,i},Jmat.Complex.gamma=function(t){if(t.re==1/0)return Jmat.Complex(1/0);if(Jmat.Complex.isNegativeIntOrZero(t))return Jmat.Complex(1/0,1/0);if(0==t.im)return Jmat.Complex(Jmat.Real.gamma(t.re));var a=function(t){if(t.re<.5){var r=Jmat.Complex.PI.div(Jmat.Complex.sin(Jmat.Complex.PI.mul(t))).div(a(Jmat.Complex.ONE.sub(t)));return Jmat.Complex.isNaN(r)&&(r=Jmat.Complex(0)),r}var e=7,m=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7];t=t.subr(1);for(var n=Jmat.Complex(m[0]),i=1;e+2>i;i++)n=n.add(Jmat.Complex(m[i]).div(t.addr(i)));var o=t.addr(e+.5),l=Math.sqrt(2*Math.PI),u=o.pow(t.addr(.5)),J=Jmat.Complex.exp(o.neg()),r=u.mul(J).mul(n).mulr(l);return r};return a(t)},Jmat.Complex.factorial=function(t){return Jmat.Complex.gamma(Jmat.Complex.inc(t))},Jmat.Complex.isPrime=function(t){return Jmat.Complex.isReal(t)?Jmat.Real.isPrime(t.re):0},Jmat.Complex.decompose=function(t,a){if(Math.abs(t.re)>=Math.abs(t.im)){var r=Jmat.Real.decompose(t.re,a),e=Math.round(t.im*r[1]);return[Jmat.Complex(r[0],e),Jmat.Complex(r[1])]}var r=Jmat.Real.decompose(t.im,a),m=Math.round(t.re*r[1]);return[Jmat.Complex(m,r[0]),Jmat.Complex(r[1])]},Jmat.Complex.permutation=function(t,a){return Jmat.Complex.gammaDiv_(t.inc(),t.sub(a).inc())},Jmat.Complex.binomial=function(t,a){if(Jmat.Complex.isPositiveIntOrZero(t)&&Jmat.Complex.isPositiveIntOrZero(a)&&a.re<=t.re&&t.re<30)return Jmat.Complex(Jmat.Real.pascal_triangle(t.re,a.re));var r=Jmat.Complex.gammaDiv12_(t.inc(),a.inc(),t.sub(a).inc());return r.re>100&&Jmat.Complex.isPositiveInt(t)&&Jmat.Complex.isPositiveInt(a)&&t.re>a.re&&(r=Jmat.Complex.round(r)),r},Jmat.Complex.stirling2=function(t,a){if(!Jmat.Complex.isInt(a))return Jmat.Complex(NaN);var r=Jmat.Complex.ZERO,e=Jmat.Real.isOdd(a.re)?-1:1,m=Jmat.Complex(0);for(m.re=0;m.re<=a.re;m.re++)r=r.add(Jmat.Complex.binomial(a,m).mul(m.pow(t)).mulr(e)),e*=-1;return r.div(Jmat.Complex.factorial(a))},Jmat.Complex.manhattan=function(t,a){return Math.max(Math.abs(t.re-a.re),Math.abs(t.im-a.im))},Jmat.Complex.near=function(t,a,r){var e=void 0==r?1e-15:r;return t.re-e<=a.re&&t.re+e>=a.re&&t.im-e<=a.im&&t.im+e>=a.im},Jmat.Complex.nearr=function(t,a,r){var e=void 0==r?1e-15:r;return t.re-e<=a&&t.re+e>=a&&t.im-e<=0&&t.im+e>=0; +},Jmat.Complex.relnear=function(t,a,r){return t.eq(a)?!0:t.sub(a).abs()-.36&&0==a)return t(Jmat.Real.lambertw(r));if(!Jmat.Real.isInt(a))return t(NaN);if(t.isNaN(r))return NaN;if(t.isInf(r))return t(1/0);if(0==a&&r.eqr(0))return t(0);if(0!=a&&r.eqr(0))return t(-(1/0));var e=t.log(r).add(t(0,a*Math.PI*2));0==a&&r.abs()<1.2&&(e=t.sqrt(r.mulr(5.43656365691809).addr(2)).add(t(-1,a*Math.PI*2))),0!=a&&0==r.im&&(r.im+=1e-14);for(var m=36,n=0;m>n;n++){var i=t.exp(e),o=e.mul(i),l=o.sub(r),u=i.mul(e.addr(1)),J=e.addr(2).mul(l).div(e.mulr(2).addr(2));e=e.sub(l.div(u.sub(J)));var s=t.log(r.div(e));if(t.near(s,e,1e-16)||t.near(o,r,1e-16))break;if(n+1==m&&!t.near(s,e,1)&&!t.near(o,r,1))return t(NaN)}return 0==r.im&&r.re>=0&&(e.im=0),e},Jmat.Complex.lambertwb=function(t,a){return Jmat.Complex.lambertwb_generic_(Jmat.Complex,t,a)},Jmat.Complex.lambertw=function(t){return Jmat.Complex.lambertwb(0,t)},Jmat.Complex.lambertwm=function(t){return Jmat.Complex.lambertwb(-1,t)},Jmat.Complex.faddeeva=function(t){var a=2/Jmat.Real.SQRTPI,r=t.re*t.re+t.im*t.im*2;if(3.5>r){for(var e=Jmat.Complex.ZERO,m=1,n=1,i=Jmat.Complex.I.mul(t).neg(),o=i,l=0;20>l;l++)l>0&&(n*=l,m=-m,o=o.mul(i).mul(i)),e=e.add(o.mulr(m/(n*(2*l+1))));var u=Jmat.Complex.exp(t.mul(t).neg());return u.sub(u.mul(e).mulr(a))}for(var J=Jmat.Complex(Math.abs(t.re),Math.abs(t.im)),s=40>r?40:80>r?20:10,p=Jmat.Complex(0),l=0;s>l;l++){var x=Jmat.Complex(J.im+p.re,J.re-p.im);p=x.mulr(.5/x.abssq())}if(p=p.mulr(a),0==J.im&&(p.re=Math.exp(-J.re*J.re)),t.im<0){var u=Jmat.Complex.exp(J.mul(J).neg()).mulr(2);p=u.sub(p),t.re>0&&(p.im=-p.im)}else t.re<0&&(p.im=-p.im);return p},Jmat.Complex.erfcx=function(t){return Jmat.Complex.faddeeva(Jmat.Complex(-t.im,t.re))},Jmat.Complex.erf=function(t){if(0==t.im)return Jmat.Complex(Jmat.Real.erf(t.re));if(0==t.re)return Jmat.Complex.I.mulr(Jmat.Real.erfi(t.im));var a=Jmat.Complex.exp(t.mul(t).neg());return t.re>=0?Jmat.Complex.ONE.sub(a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I)))):a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I.neg()))).sub(Jmat.Complex.ONE)},Jmat.Complex.erfc=function(t){if(0==t.im)return Jmat.Complex(Jmat.Real.erfc(t.re));var a=Jmat.Complex.exp(t.mul(t).neg());return t.re>=0?a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I))):Jmat.Complex.TWO.sub(a.mul(Jmat.Complex.faddeeva(t.mul(Jmat.Complex.I.neg()))))},Jmat.Complex.erfi=function(t){return Jmat.Complex.isReal(t)?Jmat.Complex(Jmat.Real.erfi(t.re)):Jmat.Complex.erf(t.mul(Jmat.Complex.I)).mul(Jmat.Complex.I).neg()},Jmat.Complex.dawson=function(t){if(Jmat.Complex.isReal(t))return Jmat.Complex(Jmat.Real.dawson(t.re));var a=Jmat.Complex.faddeeva(t),r=Jmat.Complex.exp(t.mul(t).neg());return r.sub(a).mul(Jmat.Complex.I.mulr(Jmat.Real.SQRTPI/2))},Jmat.Complex.random=function(t,a){return t=void 0==t?0:t,a=void 0==a?1:a,Jmat.Complex.polar(Math.random()*(a-t)+t,Math.random()*Math.PI*2)},Jmat.Matrix=function(t,a,r){if(!(this instanceof Jmat.Matrix))return Jmat.Matrix.make.apply(this,arguments);this.h=t,this.w=a,this.e=[];for(var e=0;t>e;e++)this.e[e]=[]},Jmat.Matrix.make=function(t,a,r){if(!t)return new Jmat.Matrix(0,0);if(t instanceof Jmat.Matrix)return Jmat.Matrix.copy(t);if("string"==typeof t)return Jmat.Matrix.parse(t);var e=function(t,a,r){return t&&void 0!=t[a]?Jmat.Complex.cast(void 0==t[a][r]?t[a]:t[a][r]):Jmat.Complex()},m=function(t,a,r){return t&&void 0!=t[a]?Jmat.Real.cast(void 0==t[a][r]?t[a]:t[a][r]):0},n=function(t,a,r,e){return new Jmat.Complex(m(t,r,e),m(a,r,e))},i=function(t){return t&&void 0!=t[0]?void 0==t[0].length?1:t[0].length:0},o=function(t,a,r,m,i){var o;if(m>=0&&r.length=0&&r.length-m==1){for(var l=0;a>l&&t>l;l++)o.e[l][l]=Jmat.Complex.cast(r[m]);return o}if(m>=0&&r.length-m==Math.min(t,a)){for(var l=0;a>l&&t>l;l++)o.e[l][l]=Jmat.Complex.cast(r[l+m]);return o}return null}o=new Jmat.Matrix(t,a);for(var u=0;um?o.e[u][l]=i?n(r,i,u,l):e(r,u,l):o.e[u][l]=Jmat.Complex.cast(r[u*a+l+m]);return o};if("undefined"!=typeof t&&t.length||"undefined"!=typeof a&&a.length){var l=Math.max(t&&t.length||0,a&&a.length||0),u=Math.max(i(t),i(a));return o(l,u,t,-1,a)}if(void 0!=t&&void 0==a){var J=new Jmat.Matrix(1,1);return J.e[0][0]=Jmat.Complex.cast(t),J}if(void 0!=t&&void 0!=a){if(void 0==r)return new Jmat.Matrix(t,a);var l=t,u=a;return r&&r.length?o(l,u,r,0):o(l,u,arguments,2)}return new Jmat.Matrix(0,0)},Jmat.Matrix.toString=function(t,a){if(!t)return""+t;for(var r="[",e=0;e0;m++){var n=t.charAt(m);if("["==n){var i=[];r[r.length-1].push(i),r.push(i)}else"]"==n?(""!=e&&(r[r.length-1].push(Jmat.Complex.parse(e)),e=""),r.pop()):","==n?""!=e&&(r[r.length-1].push(Jmat.Complex.parse(e)),e=""):e+=n}return""!=e&&r[r.length-1].push(Jmat.Complex.parse(e)),Jmat.Matrix.make(a)},Jmat.Matrix.render=function(t,a){if(!t)return""+t;if(!Jmat.Matrix.isValid(t)){t=Jmat.Matrix.copy(t);for(var r=0;rm;m++)for(var n=0;r>n;n++)e.e[m][n]=Jmat.Complex(n==m?1:0);return e},Jmat.Matrix.zero=function(t,a){for(var r=a||t,e=new Jmat.Matrix(t,r),m=0;t>m;m++)for(var n=0;r>n;n++)e.e[m][n]=Jmat.Complex(0);return e},Jmat.Matrix.add=function(t,a){if(t.w!=a.w||t.h!=a.h)return null;for(var r=new Jmat.Matrix(t.h,t.w),e=0;e=1/r},Jmat.Matrix.isInvertible=function(t,a){var r=void 0==a?1e-15:a;return Jmat.Matrix.isSquare(t)&&!Jmat.Matrix.isSingular(t,r)},Jmat.Matrix.isIdentity=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;em;m++)if(!Jmat.Complex.nearr(t.e[e][m],0,r))return!1;return!0},Jmat.Matrix.isLowerTriangular=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;e=m;m++)if(!Jmat.Complex.nearr(t.e[e][m],0,r))return!1;return!0},Jmat.Matrix.isStrictlyLowerTriangular=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;em+1;m++)if(!Jmat.Complex.nearr(t.e[e][m],0,r))return!1;return!0},Jmat.Matrix.isLowerHessenberg=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;e0)return!1}for(var o=0;o0)return!1}return!0},Jmat.Matrix.isToeplitz=function(t,a){var r=void 0==a?1e-15:a;if(!Jmat.Matrix.isSquare(t))return!1;for(var e=0;e+1m&&!Jmat.Complex.nearr(t.e[m][n],0,r))return!1;if(m>n&&!Jmat.Complex.nearr(t.e[m][n],0,r)){if(e>=0&&n!=e)return!1;e=n}}return!0},Jmat.Matrix.isInteger=function(t,a){for(var r=void 0==a?1e-15:a,e=0;er)return!1}return!0},Jmat.Matrix.isBinary=function(t,a){for(var r=void 0==a?1e-15:a,e=0;e=m)break;t=t.mul(t),n*=2}return!1},Jmat.Matrix.getProperties=function(t){var a=Jmat.Matrix,r={};if(r.dimensions=""+t.h+"x"+t.w,r.height=t.h,r.width=t.w,r.square=a.isSquare(t),r.zero=a.isZero(t),r.real=a.isReal(t),r.rank=a.rank(t),r.frobeniusNorm=a.norm(t),r.spectralNorm=a.norm2(t),r.conditionNumber=a.conditionNumber(t),r.NaN=a.isNaN(t),r.identity=a.isIdentity(t),r.diagonal=a.isDiagonal(t),r.tridiagonal=a.isTridiagonal(t),r.symmetrical=a.isSymmetrical(t),r.hermitian=a.isHermitian(t),r.skewHermitian=a.isSkewHermitian(t),r.skewSymmetrical=a.isSkewSymmetrical(t),r.upperTriangular=a.isUpperTriangular(t),r.lowerTriangular=a.isLowerTriangular(t),r.strictlyUpperTriangular=a.isStrictlyUpperTriangular(t),r.strictlyLowerTriangular=a.isStrictlyLowerTriangular(t),r.upperHessenberg=a.isUpperHessenberg(t),r.lowerHessenberg=a.isLowerHessenberg(t),r.singular=a.isSingular(t),r.invertible=a.isInvertible(t),r.determinant=a.determinant(t),r.trace=a.trace(t),r.orthogonal=a.isOrthogonal(t),r.unitary=a.isUnitary(t),r.normal=a.isNormal(t),r.permutation=a.isPermutation(t),r.toeplitz=a.isToeplitz(t),r.hankel=a.isHankel(t),r.frobenius=a.isFrobenius(t),r.integer=a.isInteger(t),r.binary=a.isBinary(t),r.involutory=a.isInvolutory(t),r.idempotent=a.isIdempotent(t),r.hermitian){var e=a.definiteness(t);e==a.INDEFINITE?r.indefinite=!0:e==a.POSITIVE_DEFINITE?r.positiveDefinite=r.positiveSemidefinite=!0:e==a.NEGATIVE_DEFINITE?r.negativeDefinite=r.negativeSemidefinite=!0:e==a.POSITIVE_SEMI_DEFINITE||r.zero?r.positiveSemidefinite=!0:(e==a.NEGATIVE_SEMI_DEFINITE||r.zero)&&(r.negativeSemidefinite=!0)}return r},Jmat.Matrix.summary=function(t){var a=Jmat.Matrix.getProperties(t),r=function(t){return"NaN"!=t&&(t=t.replace(/([A-Z])/g," $1").toLowerCase()),t=t.replace("hessenberg","Hessenberg"),t=t.replace("frobenius","Frobenius"),t=t.replace("toeplitz","Toeplitz"),t=t.replace("hankel","Hankel"),t=t.replace("frobenius","Frobenius")},e=["height","width","zero","real","NaN","rank","frobeniusNorm","spectralNorm","conditionNumber","integer","binary"],m=["identity","symmetrical","hermitian","skewSymmetrical","skewHermitian","diagonal","tridiagonal","upperTriangular","lowerTriangular","strictlyUpperTriangular","strictlyLowerTriangular","upperHessenberg","lowerHessenberg","singular","invertible","determinant","trace","orthogonal","unitary","normal","permutation","toeplitz","hankel","indefinite","positiveDefinite","negativeDefinite","positiveSemidefinite","negativeSemidefinite","frobenius","involutory","idempotent"],n={square:"non-square",real:"complex"};a.small2x2=t.w<=2&&t.h<=2,a.small1x1=t.w<=1&&t.h<=1,a.realsym=a.real&&a.symmetrical,a.realskewsym=a.real&&a.skewSymmetrical;for(var i={strictlyUpperTriangular:["zero"],strictlyLowerTriangular:["zero"],upperTriangular:["diagonal","strictlyUpperTriangular"],lowerTriangular:["diagonal","frobenius","strictlyLowerTriangular"],upperHessenberg:["upperTriangular","tridiagonal"],lowerHessenberg:["lowerTriangular","tridiagonal"],diagonal:["small1x1","identity","zero"],tridiagonal:["small2x2","diagonal"],orthogonal:["normal","identity"],unitary:["normal"],normal:["identity","zero"],hermitian:["normal"],hermitian:["realsym"],skewHermitian:["realskewsym"],symmetrical:["diagonal"],skewSymmetrical:["zero"],permutation:["identity"],invertible:["identity"],singular:["zero"],real:["integer"],toeplitz:["identity","zero"],hankel:["zero"],frobenius:["identity"],positiveDefinite:["identity"],negativeSemidefinite:["zero","negativeDefinite"],positiveSemidefinite:["zero","positiveDefinite"],integer:["binary"],binary:["identity","zero"],involutory:["identity"],idempotent:["identity"]},o=a.dimensions+", "+(a.square?"square":n.square),l=0;lo&&(o=t.e[l][n].abs(),i=l);if(e[n]=i,i!=n){for(var l=0;l=o?i.e[o][l]=t.e[o][l]:n.e[o][l]=t.e[o][l];for(var u=a.zero(t.w),J=[],s=0;se?e:e+1][m];return r},Jmat.Matrix.subcol=function(t,a){if(t.w<2)return null;for(var r=new Jmat.Matrix(t.h,t.w-1),e=0;em?m:m+1];return r},Jmat.Matrix.minorsub=function(t,a,r){if(t.h<2||t.w<2)return null;for(var e=new Jmat.Matrix(t.h-1,t.w-1),m=0;mm?m:m+1][r>n?n:n+1];return e},Jmat.Matrix.submatrix=function(t,a,r,e,m){if(0>e||0>a||e>t.w||a>t.h)return null;if(0>m||0>r||m>t.w||r>t.h)return null;var n=m-e,i=r-a;if(0>=n||0>=i||n>t.w||i>t.h)return null;for(var o=new Jmat.Matrix(i,n),l=0;i>l;l++)for(var u=0;n>u;u++)o.e[l][u]=t.e[a+l][e+u];return o},Jmat.Matrix.minor=function(t,a,r){if(t.h<2||t.w<2||t.w!=t.h)return Jmat.Complex(NaN);var e=Jmat.Matrix.minorsub(t,a,r);return Jmat.Matrix.determinant(e)},Jmat.Matrix.cofactor=function(t,a,r){var e=Jmat.Matrix.minor(t,a,r),m=0==(a+r&1)?1:-1;return e.mulr(m)},Jmat.Matrix.determinant=function(t){if(t.w!=t.h)return NaN;if(1==t.w)return t.e[0][0];if(2==t.w)return t.e[0][0].mul(t.e[1][1]).sub(t.e[0][1].mul(t.e[1][0]));for(var a=Jmat.Matrix.doolittle_lup_(t),r=Jmat.Complex(1),e=0;em;m++)a.s.e[m][m]=Math.abs(a.s.e[m][m].re)t&&(t=-t);for(var a=0;100>a;a++)if(1>t)t*=10;else{if(!(t>=10))return Math.floor(t);t/=10}return 0},Jmat.Matrix.getDebugNumber=function(t){for(var a=t.w+10*t.h,r=.1,e=0;ea&&(a=e)}return Jmat.Complex(a)},Jmat.Matrix.maxrownorm=function(t){for(var a=0,r=0;ra&&(a=e)}return Jmat.Complex(a)},Jmat.Matrix.norm2=function(t){var a=Jmat.Matrix.svd(t);return a.s.e[0][0]},Jmat.Matrix.conditionNumber=function(t){var a=Jmat.Matrix.svd(t),r=Math.min(t.w,t.h),e=a.s.e[0][0].div(a.s.e[r-1][r-1]);return Jmat.Complex.isNaN(e)&&(e=Jmat.Complex(1/0)),e},Jmat.Matrix.rank=function(t,a){for(var r=void 0==a?1e-14:a,e=Jmat.Matrix.svd(t).s,m=0,n=Math.min(e.w,e.h),i=0;n>i;i++)Jmat.Real.near(e.e[i][i].re,0,r)||m++;return Jmat.Complex(m)},Jmat.Matrix.trace=function(t){if(t.w!=t.h)return Jmat.Complex(NaN);for(var a=Jmat.Complex.ZERO,r=0;re?l-e:l,J=0>r?o-r:o;i.e[J][u]=t.e[o][l]}for(var o=0;oe?l:l+e,J=0>r?o:o+r;i.e[J][u]=i.e[J][u].add(a.e[o][l])}return i},Jmat.Matrix.insert=function(t,a,r,e){for(var m=Jmat.Matrix.copy(t),n=0;n=0&&o=0&&le?l-e:l,J=0>r?o-r:o;i.e[J][u]=t.e[o][l]}for(var o=0;oe?l:l+e,J=0>r?o:o+r;i.e[J][u]=a.e[o][l]}return i},Jmat.Matrix.getHouseholderVector_=function(t,a){var r=Jmat.Matrix,e=Jmat.Complex,m=t.e[0][0].eqr(0)?e(-1):e.sign(t.e[0][0]),n=r.identity(t.h,1).mulc(m.mul(r.norm(t))).add(t),i=r.isZero(n,1e-30);i||(n=n.divc(r.norm(n)));var o;if(i)o=e(0);else if(a)o=e(2);else{var l=r.mul(r.row(r.transjugate(t),0),n),u=r.mul(r.transjugate(n),r.col(t,0));o=l.e[0][0].div(u.e[0][0]).addr(1)}return[n,o]},Jmat.Matrix.getGivensParams_=function(t,a){if(a.eqr(0))return[Jmat.Complex(1),Jmat.Complex(0),t];var r=Jmat.Complex.hypot(t,a),e=t.div(r),m=a.div(r).neg();return[e,m,r]},Jmat.Matrix.givensPre_=function(t,a,r,e,m){for(var n=0;ni;i++){var o=a.getGivensParams_(m.e[i][i],m.e[i+1][i]);a.givensPre_(m,i,i+1,o[0],o[1]),m.e[i+1][i]=r(0),a.givensPost_(n,i,i+1,o[0],o[1])}return{q:n,r:m}},Jmat.Matrix.qr_general_=function(t){var a=Jmat.Matrix,r=a.transjugate,e=Jmat.Matrix.isReal(t),m=t.h,n=t.w,i=[],o=[];if(t.hu;u++){var J=a.submatrix(l,u,l.h,u,u+1),s=a.getHouseholderVector_(J,e);i[u]=s[0],o[u]=s[1];var p=a.submatrix(l,u,m,u,n);p=p.sub(i[u].mul(r(i[u])).mul(p).mulc(o[u])),l=a.insert(l,p,u,u)}for(var x=a.identity(m,m),u=n-1;u>=0;u--){var f=a.submatrix(x,u,m,0,m);f=f.sub(i[u].mul(r(i[u])).mul(f).mulc(o[u])),x=a.insert(x,f,u,0)}return{q:x,r:l}},Jmat.Matrix.qr=function(t){return Jmat.Matrix.isUpperHessenberg(t,1e-18)?Jmat.Matrix.qr_hessenberg_(t):Jmat.Matrix.qr_general_(t)},Jmat.Matrix.eig11=function(t){if(1!=t.w||1!=t.h)return null;var a={};return a.l=new Jmat.Matrix(1,1),a.l.e[0][0]=Jmat.Complex(t.e[0][0]),a.v=new Jmat.Matrix(1,1),a.v.e[0][0]=Jmat.Complex(1),a},Jmat.Matrix.eigval22=function(t){if(2!=t.w||2!=t.h)return null;var a=Jmat.Complex(1),r=t.e[0][0].neg().sub(t.e[1][1]),e=t.e[0][0].mul(t.e[1][1]).sub(t.e[0][1].mul(t.e[1][0])),m=Jmat.Complex.sqrt(r.mul(r).sub(a.mul(e).mulr(4))),n=r.neg().add(m).div(a.mulr(2)),i=r.neg().sub(m).div(a.mulr(2));return i.abssq()>n.abssq()?[i,n]:[n,i]},Jmat.Matrix.eig22=function(t){if(2!=t.w||2!=t.h)return null;var a=Jmat.Matrix.eigval22(t),r=a[0],e=a[1],m=t.e[0][1].div(r.sub(t.e[0][0])),n=Jmat.Complex(1),i=t.e[0][1].div(e.sub(t.e[0][0])),o=Jmat.Complex(1),l={};return l.l=new Jmat.Matrix(2,1),l.l.e[0][0]=r,l.l.e[1][0]=e,l.v=new Jmat.Matrix(2,2),l.v.e[0][0]=m,l.v.e[1][0]=n,l.v.e[0][1]=i,l.v.e[1][1]=o,l},Jmat.Matrix.eigval_=function(t){for(var a=Jmat.Complex,r=Jmat.Matrix,e=1.2e-16,m=t.w,n=a(0),i=a(0),o=a(0),l=a(0),u=a(0),J=[],s=0;m>s;s++)J[s]=a(0);for(;m>0;)for(var p=0;30>=p;p++){if(30==p)return null;var x;for(x=m-1;x>=1;x--)if(a.abs1r(t.e[x][x-1])<=e*(a.abs1r(t.e[x-1][x-1])+a.abs1r(t.e[x][x]))){t.e[x][x-1]=a(0);break}if(x==m-1){J[m-1]=t.e[m-1][m-1].add(i),m--;break}10==p||20==p?(n.re=Math.abs(t.e[m-1][m-2].re)+Math.abs(t.e[m-2][m-3].re),n.im=Math.abs(t.e[m-1][m-2].im)+Math.abs(t.e[m-2][m-3].im)):(n=t.e[m-1][m-1],o=t.e[m-2][m-1].mul(t.e[m-1][m-2]),o.eqr(0)||(l=t.e[m-2][m-2].sub(n).divr(2),u=a.sqrt(l.mul(l).add(o)),l.re*u.re+l.im*u.im<0&&(u=u.neg()),o=o.div(l.add(u)),n=n.sub(o)));for(var s=0;m>s;s++)t.e[s][s]=t.e[s][s].sub(n);i=i.add(n);for(var f=[],c=0;m>c+1;c++)f[c]=r.getGivensParams_(t.e[c][c],t.e[c+1][c]),r.givensPre_(t,c,c+1,f[c][0],f[c][1]),t.e[c+1][c]=a(0),t.e[c][c]=f[c][2];for(var c=0;m>c+1;c++)r.givensPost_(t,c,c+1,f[c][0],f[c][1])}return J},Jmat.Matrix.eigval=function(t){var a=Jmat.Matrix;if(t.w!=t.h||t.w<1)return null;var r=t.w;if(1==r)return[t.e[0][0]]; +if(2==r)return a.eigval22(t);var e=a.toHessenberg(t),m=a.eigval_(e);return m.sort(function(t,a){return a.abssq()-t.abssq()}),m},Jmat.Matrix.eigenVectorFor=function(t,a,r){var e=Jmat.Matrix;if(t.w!=t.h||t.w<1)return null;var m=t.w,n=void 0==r?1:r;t=e.copy(t);for(var i=0;m>i;i++)t.e[i][i]=t.e[i][i].sub(a);var o=e.zero(m,1),l=e.solve(t,o,.01);if(l)2==n&&(l=l.divc(e.norm(l))),1==n&&(l.e[m-1][0].eqr(0)||(l=l.divc(l.e[m-1][0])));else{l=e.zero(m,1);for(var i=0;m>i;i++)l.e[i][j]=Jmat.Complex(NaN,NaN)}return l},Jmat.Matrix.eig=function(t,a){var r=Jmat.Matrix;if(t.w!=t.h||t.w<1)return null;var e=t.w;if(1==e)return r.eig11(t);if(2==e)return r.eig22(t);var m=r.eigval(t);m.sort(function(t,a){return a.abssq()-t.abssq()});for(var n=null,n=new r(e,e),i=0;e>i;i++){var o=r.eigenVectorFor(t,m[i],a);r.setCol(n,o,i)}return{l:m,v:n}},Jmat.Matrix.evd=function(t){var a=Jmat.Matrix.eig(t);return{v:a.v,d:Jmat.Matrix.diag(a.l)}},Jmat.Matrix.definiteness_=function(t,a){var r=void 0==a?1e-12:a,e=Jmat.Matrix.eigval(t);if(!e)return null;for(var m=[!1,!1,!1],n=0;n0?m[2]=!0:m[0]=!0;return m},Jmat.Matrix.INDEFINITE=0,Jmat.Matrix.POSITIVE_DEFINITE=1,Jmat.Matrix.POSITIVE_SEMI_DEFINITE=2,Jmat.Matrix.NEGATIVE_DEFINITE=3,Jmat.Matrix.NEGATIVE_SEMI_DEFINITE=4,Jmat.Matrix.definiteness=function(t,a){if(!Jmat.Matrix.isHermitian(t,a))return null;var r=Jmat.Matrix.definiteness_(t,a);return!r[2]||r[0]||r[1]?!r[0]||r[2]||r[1]?r[0]?r[2]?r[0]&&r[2]?Jmat.Matrix.INDEFINITE:null:Jmat.Matrix.NEGATIVE_SEMI_DEFINITE:Jmat.Matrix.POSITIVE_SEMI_DEFINITE:Jmat.Matrix.NEGATIVE_DEFINITE:Jmat.Matrix.POSITIVE_DEFINITE},Jmat.Matrix.arrayToCol=function(t){for(var a=new Jmat.Matrix(t.length,1),r=0;rm;m++)e=e.add(t.get1(m).mul(a.get1(m).conj()));return e},/* @license License of Jmat.Matrix.zsvdc_: this function is from linpack, from http://www.netlib.org/linpack/ The license is not mentioned directly in the source code or the website, but @@ -11,7 +11,7 @@ Here is the original author comment from zsvdc.f: correction to shift calculation made 2/85. g.w. stewart, university of maryland, argonne national lab. */ -Jmat.Matrix.zsvdc_=function(t,a,r,e,m,n,i,o,l,u,J,s){var p,x,f,c,C,d,v,g,h,I,_,b,M,w,B,R,N,y,q,E,Q,O,S,P,A,T,z,F,k,Z,j,D,Y,G,V,H,L,W,U,K,X,$=30,tt=function(t){return t.re},at=function(t){return Math.abs(t.re)+Math.abs(t.im)},rt=function(t){return at(t)<1e-150},et=function(t,a){return a.eqr(0)?Jmat.Complex(0):a.mulr(t.abs()/a.abs())},mt=function(t,a){return 0==a?0:0>a?-Math.abs(t):Math.abs(t)},j=function(t,a,r){for(var e=Jmat.Complex(0),m=0;t>m;m++){var n=a[r+m];e=e.add(n.mul(n.conj()))}return Jmat.Complex.sqrt(e)},nt=function(t,a,r,e,m,n){for(var i=0;t>i;i++)m[n+i]=m[n+i].add(r[e+i].mul(a))},it=function(t,a,r,e,m){for(var n=Jmat.Complex(0),i=0;t>i;i++)n=n.add(a[r+i].conj().mul(e[m+i]));return n},ot=function(t,a,r,e){for(var m=0;t>m;m++)r[e+m]=r[e+m].mul(a)},lt=function(t,a){var r=Math.abs(t),e=Math.abs(a),m=mt(Math.sqrt(t*t+a*a),r>e?t:a),n=0==m?1:t/m,i=0==m?0:a/m,o=r>e?i:0==m?0:0==n?1:1/n;return[m,o,n,i]},ut=function(t,a,r,e,m,n,i){for(var o=0;t>o;o++){var l=a[r+o],u=e[m+o];a[r+o]=l.mulr(n).add(u.mulr(i)),e[m+o]=u.mulr(n).sub(l.mulr(i))}},Jt=function(t,a,r,e,m){for(var n=0;t>n;n++){var i=a[n+r];a[n+r]=e[n+m],e[n+m]=i}},st=!1,pt=!1;for(c=Math.floor(s%100/10),q=c>1?Math.min(r,e):r,0!=c&&(st=!0),s%10!=0&&(pt=!0),Q=0,y=Math.min(r-1,e),E=Math.max(0,Math.min(e-2,r)),M=Math.max(y,E),g=0;M>g;g++){for(_=g+1,y>g&&(m[g]=Jmat.Complex(j(r-g,t,g+g*a)),rt(m[g])||(rt(t[g+g*a])||(m[g]=et(m[g],t[g+g*a])),O=Jmat.Complex(1).div(m[g]),ot(r-g,O,t,g+g*a),t[g+g*a]=t[g+g*a].addr(1)),m[g]=m[g].neg()),f=_;e>f;f++)y>g&&(rt(m[g])||(O=it(r-g,t,g+g*a,t,g+f*a).neg().div(t[g+g*a]),nt(r-g,O,t,g+g*a,t,g+f*a))),n[f]=t[g+f*a].conj();if(st&&y>g)for(p=g;r>p;p++)i[p+g*o]=t[p+g*a];if(E>g){if(n[g]=Jmat.Complex(j(e-g-1,n,_)),rt(n[g])||(rt(n[_])||(n[g]=et(n[g],n[_])),O=Jmat.Complex(1).div(n[g]),ot(e-g-1,O,n,_),n[_]=Jmat.Complex(1).add(n[_])),n[g]=n[g].conj().neg(),r>_&&!rt(n[g])){for(f=_;r>f;f++)J[f]=Jmat.Complex(0);for(f=_;e>f;f++)nt(r-g-1,n[f],t,_+f*a,J,_);for(f=_;e>f;f++)nt(r-g-1,n[f].neg().div(n[_]).conj(),J,_,t,_+f*a)}if(pt)for(p=_;e>p;p++)l[p+g*u]=n[p]}}if(w=Math.min(e,r+1),e>y&&(m[y]=t[y+y*a]),w>r&&(m[w-1]=Jmat.Complex(0)),w>E+1&&(n[E]=t[E+(w-1)*a]),n[w-1]=Jmat.Complex(0),st){for(f=y;q>f;f++){for(p=0;r>p;p++)i[p+f*o]=Jmat.Complex(0);i[f+f*o]=Jmat.Complex(1)}for(h=0;y>h;h++)if(g=y-h-1,0==at(m[g])){for(p=0;r>p;p++)i[p+g*o]=Jmat.Complex(0);i[g+g*o]=Jmat.Complex(1)}else{for(_=g+1,f=_;q>f;f++)O=it(r-g,i,g+g*o,i,g+f*o).neg().div(i[g+g*o]),nt(r-g,O,i,g+g*o,i,g+f*o);for(ot(r-g,Jmat.Complex(-1),i,g+g*o),i[g+g*o]=i[g+g*o].inc(),p=0;g>p;p++)i[p+g*o]=Jmat.Complex(0)}}if(pt)for(h=0;e>h;h++){if(g=e-h-1,_=g+1,E>g&&!rt(n[g]))for(f=_;e>f;f++)O=it(e-_,l,_+g*u,l,_+f*u).neg().div(l[_+g*u]),nt(e-_,O,l,_+g*u,l,_+f*u);for(p=0;e>p;p++)l[p+g*u]=Jmat.Complex(0);l[g+g*u]=Jmat.Complex(1)}for(p=0;w>p&&(rt(m[p])||(O=Jmat.Complex.abs(m[p]),S=m[p].div(O),m[p]=O,w>p+1&&(n[p]=n[p].div(S)),st&&ot(r,S,i,p*o)),p+1!=w);p++)rt(n[p])||(O=Jmat.Complex.abs(n[p]),S=O.div(n[p]),n[p]=O,m[p+1]=m[p+1].mul(S),pt&&ot(e,S,l,(p+1)*u));for(B=w,x=0;0!=w;){if(x>=$){Q=w;break}for(h=1;w>=h&&(g=w-h,0!=g);h++)if(U=m[g-1].abs()+m[g].abs(),K=U+n[g-1].abs(),K==U){n[g-1]=Jmat.Complex(0);break}if(g==w-1)d=4;else{for(_=g+1,N=w+1,I=_;N>=I&&(b=w-I+_,b!=g);I++)if(U=0,b!=w&&(U+=n[b-1].abs()),b!=g+1&&(U+=n[b-2].abs()),K=U+m[b-1].abs(),K==U){m[b-1]=Jmat.Complex(0);break}b==g?d=3:b==w?d=1:(d=2,g=b)}if(g++,1==d)for(R=w-1,k=tt(n[w-2]),n[w-2]=Jmat.Complex(0),v=g;R>=v;v++)C=R-v+g,W=tt(m[C-1]),X=lt(W,k),W=X[0],k=X[1],T=X[2],H=X[3],m[C-1]=Jmat.Complex(W),C!=g&&(k=-H*tt(n[C-2]),n[C-2]=n[C-2].mulr(T)),pt&&ut(e,l,(C-1)*u,l,(w-1)*u,T,H);else if(2==d)for(k=tt(n[g-2]),n[g-2]=Jmat.Complex(0),C=g;w>=C;C++)W=tt(m[C-1]),X=lt(W,k),W=X[0],k=X[1],T=X[2],H=X[3],m[C-1]=Jmat.Complex(W),k=-H*tt(n[C-1]),n[C-1]=n[C-1].mulr(T),st&&ut(r,i,(C-1)*o,i,(g-2)*o,T,H);else if(3==d){for(D=Math.max(Math.max(Math.max(Math.max(m[w-1].abs(),m[w-2].abs()),n[w-2].abs()),m[g-1].abs()),n[g-1].abs()),V=tt(m[w-1])/D,L=tt(m[w-2])/D,F=tt(n[w-2])/D,G=tt(m[g-1])/D,z=tt(n[g-1])/D,P=((L+V)*(L-V)+F*F)/2,A=V*F*V*F,Y=0,(0!=P||0!=A)&&(Y=Math.sqrt(P*P+A),0>P&&(Y=-Y),Y=A/(P+Y)),k=(G+V)*(G-V)+Y,Z=G*z,R=w-1,C=g;R>=C;C++)X=lt(k,Z),k=X[0],Z=X[1],T=X[2],H=X[3],C!=g&&(n[C-2]=Jmat.Complex(k)),k=T*tt(m[C-1])+H*tt(n[C-1]),n[C-1]=n[C-1].mulr(T).sub(m[C-1].mulr(H)),Z=H*tt(m[C]),m[C]=m[C].mulr(T),pt&&ut(e,l,(C-1)*u,l,C*u,T,H),X=lt(k,Z),k=X[0],Z=X[1],T=X[2],H=X[3],m[C-1]=Jmat.Complex(k),k=T*tt(n[C-1])+H*tt(m[C]),m[C]=n[C-1].mulr(-H).add(m[C].mulr(T)),Z=H*tt(n[C]),n[C]=n[C].mulr(T),st&&r>C&&ut(r,i,(C-1)*o,i,C*o,T,H);n[w-2]=Jmat.Complex(k),x++}else if(4==d){for(tt(m[g-1])<0&&(m[g-1]=m[g-1].neg(),pt&&ot(e,Jmat.Complex(-1),l,(g-1)*u));g!=B&&!(tt(m[g])<=tt(m[g-1]));)O=m[g-1],m[g-1]=m[g],m[g]=O,pt&&e>g&&Jt(e,l,(g-1)*u,l,g*u),st&&r>g&&Jt(r,i,(g-1)*o,i,g*o),g++;x=0,w--}}return Q},Jmat.Matrix.svd=function(t){for(var a=[],r=0;rs;s++){if(l[s]!=s){var p=a.e[s][0];a.e[s][0]=a.e[l[s]][0],a.e[l[s]][0]=p}J.e[s][0]=a.e[s][0];for(var x=0;s>x;x++)J.e[s][0]=J.e[s][0].sub(J.e[x][0].mul(o.e[s][x]))}for(var s=u-1;s>=0;s--){if(l[s]!=s){var p=a.e[s][0];a.e[s][0]=a.e[l[s]][0],a.e[l[s]][0]=p}for(var x=s+1;u>x;x++)J.e[s][0]=J.e[s][0].sub(J.e[x][0].mul(o.e[s][x]));o.e[s][s].eqr(0)||(J.e[s][0]=J.e[s][0].div(o.e[s][s]))}return J},Jmat.Matrix.rref=function(t){var a=Jmat.Complex,r=t.h,e=t.w;t=Jmat.Matrix.copy(t);for(var m=function(t,a,r){for(var m=0;e>m;m++){var n=t.e[a][m];t.e[a][m]=t.e[r][m],t.e[r][m]=n}},n=function(t,a,r,m){for(var n=a;e>n;n++)t.e[r][n]=t.e[r][n].mul(m)},i=function(t,a,r,e,m){for(var n=t.e[0].length,i=a;n>i;i++)t.e[m][i]=t.e[m][i].sub(t.e[r][i].mul(e))},o=[],l=0,u=0;e>u;u++){var J=Jmat.Real.argmax(l,r,function(a){return t.e[a][u].abssq()});if(!t.e[J][u].eqr(0)){J!=l&&m(t,l,J),n(t,u,l,t.e[l][u].inv());for(var s=l+1;r>s;s++)t.e[s][u].eqr(0)||(i(t,u+1,l,t.e[s][u],s),t.e[s][u]=a(0));if(o.push(u),l++,l>=r)break}}for(var u=0;u=0;x--)i(t,p+1,u,t.e[x][p],x),t.e[x][p]=a(0);return t},Jmat.Matrix.random=function(t,a,r,e,m,n){var i=Jmat.Complex;r=r||a||Math.floor(10*Math.random()+2),a=a||Math.floor(10*Math.random()+2),n=void 0==n?1:n,e=void 0==e?0:e,m=void 0==m?1:m,t=t||{real:!0};for(var o=t.real||t.integer,l=t.integer,u=t.binary,J=t.hermitian,s=function(t){if(n>=1||Math.random().5?1:0);var a=t?i(Math.random()*(m-e)+e):i.random(e,m);return l?i(Math.floor(a.re)):a}return i(0)},p=Jmat.Matrix(a,r),x=0;a>x;x++)for(var f=0;r>f;f++)J&&x>f?p.e[x][f]=p.e[f][x].conj():J&&f==x?p.e[x][f]=s(!0):p.e[x][f]=s(o);return p},/* +Jmat.Matrix.zsvdc_=function(t,a,r,e,m,n,i,o,l,u,J,s){var p,x,f,c,C,d,v,g,h,I,_,b,M,w,B,R,N,y,q,E,Q,O,S,P,A,T,z,F,k,Z,j,D,Y,G,V,H,L,W,U,K,X,$=30,tt=function(t){return t.re},at=function(t){return Math.abs(t.re)+Math.abs(t.im)},rt=function(t){return at(t)<1e-150},et=function(t,a){return a.eqr(0)?Jmat.Complex(0):a.mulr(t.abs()/a.abs())},mt=function(t,a){return 0==a?0:0>a?-Math.abs(t):Math.abs(t)},j=function(t,a,r){for(var e=Jmat.Complex(0),m=0;t>m;m++){var n=a[r+m];e=e.add(n.mul(n.conj()))}return Jmat.Complex.sqrt(e)},nt=function(t,a,r,e,m,n){for(var i=0;t>i;i++)m[n+i]=m[n+i].add(r[e+i].mul(a))},it=function(t,a,r,e,m){for(var n=Jmat.Complex(0),i=0;t>i;i++)n=n.add(a[r+i].conj().mul(e[m+i]));return n},ot=function(t,a,r,e){for(var m=0;t>m;m++)r[e+m]=r[e+m].mul(a)},lt=function(t,a){var r=Math.abs(t),e=Math.abs(a),m=mt(Math.sqrt(t*t+a*a),r>e?t:a),n=0==m?1:t/m,i=0==m?0:a/m,o=r>e?i:0==m?0:0==n?1:1/n;return[m,o,n,i]},ut=function(t,a,r,e,m,n,i){for(var o=0;t>o;o++){var l=a[r+o],u=e[m+o];a[r+o]=l.mulr(n).add(u.mulr(i)),e[m+o]=u.mulr(n).sub(l.mulr(i))}},Jt=function(t,a,r,e,m){for(var n=0;t>n;n++){var i=a[n+r];a[n+r]=e[n+m],e[n+m]=i}},st=!1,pt=!1;for(c=Math.floor(s%100/10),q=c>1?Math.min(r,e):r,0!=c&&(st=!0),s%10!=0&&(pt=!0),Q=0,y=Math.min(r-1,e),E=Math.max(0,Math.min(e-2,r)),M=Math.max(y,E),g=0;M>g;g++){for(_=g+1,y>g&&(m[g]=Jmat.Complex(j(r-g,t,g+g*a)),rt(m[g])||(rt(t[g+g*a])||(m[g]=et(m[g],t[g+g*a])),O=Jmat.Complex(1).div(m[g]),ot(r-g,O,t,g+g*a),t[g+g*a]=t[g+g*a].addr(1)),m[g]=m[g].neg()),f=_;e>f;f++)y>g&&(rt(m[g])||(O=it(r-g,t,g+g*a,t,g+f*a).neg().div(t[g+g*a]),nt(r-g,O,t,g+g*a,t,g+f*a))),n[f]=t[g+f*a].conj();if(st&&y>g)for(p=g;r>p;p++)i[p+g*o]=t[p+g*a];if(E>g){if(n[g]=Jmat.Complex(j(e-g-1,n,_)),rt(n[g])||(rt(n[_])||(n[g]=et(n[g],n[_])),O=Jmat.Complex(1).div(n[g]),ot(e-g-1,O,n,_),n[_]=Jmat.Complex(1).add(n[_])),n[g]=n[g].conj().neg(),r>_&&!rt(n[g])){for(f=_;r>f;f++)J[f]=Jmat.Complex(0);for(f=_;e>f;f++)nt(r-g-1,n[f],t,_+f*a,J,_);for(f=_;e>f;f++)nt(r-g-1,n[f].neg().div(n[_]).conj(),J,_,t,_+f*a)}if(pt)for(p=_;e>p;p++)l[p+g*u]=n[p]}}if(w=Math.min(e,r+1),e>y&&(m[y]=t[y+y*a]),w>r&&(m[w-1]=Jmat.Complex(0)),w>E+1&&(n[E]=t[E+(w-1)*a]),n[w-1]=Jmat.Complex(0),st){for(f=y;q>f;f++){for(p=0;r>p;p++)i[p+f*o]=Jmat.Complex(0);i[f+f*o]=Jmat.Complex(1)}for(h=0;y>h;h++)if(g=y-h-1,0==at(m[g])){for(p=0;r>p;p++)i[p+g*o]=Jmat.Complex(0);i[g+g*o]=Jmat.Complex(1)}else{for(_=g+1,f=_;q>f;f++)O=it(r-g,i,g+g*o,i,g+f*o).neg().div(i[g+g*o]),nt(r-g,O,i,g+g*o,i,g+f*o);for(ot(r-g,Jmat.Complex(-1),i,g+g*o),i[g+g*o]=i[g+g*o].inc(),p=0;g>p;p++)i[p+g*o]=Jmat.Complex(0)}}if(pt)for(h=0;e>h;h++){if(g=e-h-1,_=g+1,E>g&&!rt(n[g]))for(f=_;e>f;f++)O=it(e-_,l,_+g*u,l,_+f*u).neg().div(l[_+g*u]),nt(e-_,O,l,_+g*u,l,_+f*u);for(p=0;e>p;p++)l[p+g*u]=Jmat.Complex(0);l[g+g*u]=Jmat.Complex(1)}for(p=0;w>p&&(rt(m[p])||(O=Jmat.Complex.abs(m[p]),S=m[p].div(O),m[p]=O,w>p+1&&(n[p]=n[p].div(S)),st&&ot(r,S,i,p*o)),p+1!=w);p++)rt(n[p])||(O=Jmat.Complex.abs(n[p]),S=O.div(n[p]),n[p]=O,m[p+1]=m[p+1].mul(S),pt&&ot(e,S,l,(p+1)*u));for(B=w,x=0;0!=w;){if(x>=$){Q=w;break}for(h=1;w>=h&&(g=w-h,0!=g);h++)if(U=m[g-1].abs()+m[g].abs(),K=U+n[g-1].abs(),K==U){n[g-1]=Jmat.Complex(0);break}if(g==w-1)d=4;else{for(_=g+1,N=w+1,I=_;N>=I&&(b=w-I+_,b!=g);I++)if(U=0,b!=w&&(U+=n[b-1].abs()),b!=g+1&&(U+=n[b-2].abs()),K=U+m[b-1].abs(),K==U){m[b-1]=Jmat.Complex(0);break}b==g?d=3:b==w?d=1:(d=2,g=b)}if(g++,1==d)for(R=w-1,k=tt(n[w-2]),n[w-2]=Jmat.Complex(0),v=g;R>=v;v++)C=R-v+g,W=tt(m[C-1]),X=lt(W,k),W=X[0],k=X[1],T=X[2],H=X[3],m[C-1]=Jmat.Complex(W),C!=g&&(k=-H*tt(n[C-2]),n[C-2]=n[C-2].mulr(T)),pt&&ut(e,l,(C-1)*u,l,(w-1)*u,T,H);else if(2==d)for(k=tt(n[g-2]),n[g-2]=Jmat.Complex(0),C=g;w>=C;C++)W=tt(m[C-1]),X=lt(W,k),W=X[0],k=X[1],T=X[2],H=X[3],m[C-1]=Jmat.Complex(W),k=-H*tt(n[C-1]),n[C-1]=n[C-1].mulr(T),st&&ut(r,i,(C-1)*o,i,(g-2)*o,T,H);else if(3==d){for(D=Math.max(Math.max(Math.max(Math.max(m[w-1].abs(),m[w-2].abs()),n[w-2].abs()),m[g-1].abs()),n[g-1].abs()),V=tt(m[w-1])/D,L=tt(m[w-2])/D,F=tt(n[w-2])/D,G=tt(m[g-1])/D,z=tt(n[g-1])/D,P=((L+V)*(L-V)+F*F)/2,A=V*F*V*F,Y=0,(0!=P||0!=A)&&(Y=Math.sqrt(P*P+A),0>P&&(Y=-Y),Y=A/(P+Y)),k=(G+V)*(G-V)+Y,Z=G*z,R=w-1,C=g;R>=C;C++)X=lt(k,Z),k=X[0],Z=X[1],T=X[2],H=X[3],C!=g&&(n[C-2]=Jmat.Complex(k)),k=T*tt(m[C-1])+H*tt(n[C-1]),n[C-1]=n[C-1].mulr(T).sub(m[C-1].mulr(H)),Z=H*tt(m[C]),m[C]=m[C].mulr(T),pt&&ut(e,l,(C-1)*u,l,C*u,T,H),X=lt(k,Z),k=X[0],Z=X[1],T=X[2],H=X[3],m[C-1]=Jmat.Complex(k),k=T*tt(n[C-1])+H*tt(m[C]),m[C]=n[C-1].mulr(-H).add(m[C].mulr(T)),Z=H*tt(n[C]),n[C]=n[C].mulr(T),st&&r>C&&ut(r,i,(C-1)*o,i,C*o,T,H);n[w-2]=Jmat.Complex(k),x++}else if(4==d){for(tt(m[g-1])<0&&(m[g-1]=m[g-1].neg(),pt&&ot(e,Jmat.Complex(-1),l,(g-1)*u));g!=B&&!(tt(m[g])<=tt(m[g-1]));)O=m[g-1],m[g-1]=m[g],m[g]=O,pt&&e>g&&Jt(e,l,(g-1)*u,l,g*u),st&&r>g&&Jt(r,i,(g-1)*o,i,g*o),g++;x=0,w--}}return Q},Jmat.Matrix.svd=function(t){for(var a=[],r=0;rs;s++){if(l[s]!=s){var p=a.e[s][0];a.e[s][0]=a.e[l[s]][0],a.e[l[s]][0]=p}J.e[s][0]=a.e[s][0];for(var x=0;s>x;x++)J.e[s][0]=J.e[s][0].sub(J.e[x][0].mul(o.e[s][x]))}for(var s=u-1;s>=0;s--){if(l[s]!=s){var p=a.e[s][0];a.e[s][0]=a.e[l[s]][0],a.e[l[s]][0]=p}for(var x=s+1;u>x;x++)J.e[s][0]=J.e[s][0].sub(J.e[x][0].mul(o.e[s][x]));o.e[s][s].eqr(0)||(J.e[s][0]=J.e[s][0].div(o.e[s][s]))}return J},Jmat.Matrix.rref=function(t){var a=Jmat.Complex,r=t.h,e=t.w;t=Jmat.Matrix.copy(t);for(var m=function(t,a,r){for(var m=0;e>m;m++){var n=t.e[a][m];t.e[a][m]=t.e[r][m],t.e[r][m]=n}},n=function(t,a,r,m){for(var n=a;e>n;n++)t.e[r][n]=t.e[r][n].mul(m)},i=function(t,a,r,e,m){for(var n=t.e[0].length,i=a;n>i;i++)t.e[m][i]=t.e[m][i].sub(t.e[r][i].mul(e))},o=[],l=0,u=0;e>u;u++){var J=Jmat.Real.argmax(l,r,function(a){return t.e[a][u].abssq()});if(!t.e[J][u].eqr(0)){J!=l&&m(t,l,J),n(t,u,l,t.e[l][u].inv());for(var s=l+1;r>s;s++)t.e[s][u].eqr(0)||(i(t,u+1,l,t.e[s][u],s),t.e[s][u]=a(0));if(o.push(u),l++,l>=r)break}}for(var u=0;u=0;x--)t.e[x][p].eqr(0)||(i(t,p+1,u,t.e[x][p],x),t.e[x][p]=a(0));return t},Jmat.Matrix.random=function(t,a,r,e,m,n){var i=Jmat.Complex;r=r||a||Math.floor(10*Math.random()+2),a=a||Math.floor(10*Math.random()+2),n=void 0==n?1:n,e=void 0==e?0:e,m=void 0==m?1:m,t=t||{real:!0};for(var o=t.real||t.integer,l=t.integer,u=t.binary,J=t.hermitian,s=function(t){if(n>=1||Math.random().5?1:0);var a=t?i(Math.random()*(m-e)+e):i.random(e,m);return l?i(Math.floor(a.re)):a}return i(0)},p=Jmat.Matrix(a,r),x=0;a>x;x++)for(var f=0;r>f;f++)J&&x>f?p.e[x][f]=p.e[f][x].conj():J&&f==x?p.e[x][f]=s(!0):p.e[x][f]=s(o);return p},/* @license License of the kiss_ and kf_ functions below (converted from C to JavaScript): Kiss FFT @@ -25,8 +25,8 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND */ Jmat.Matrix.kiss_fft_state_=function(t,a){this.nfft=t,this.inverse=a,this.factors=[],this.twiddles=[]},Jmat.Matrix.kf_bfly2_=function(t,a,r,e,m){for(var n=0,i=0;m>i;i++){var o=t[a+i+m].mul(e.twiddles[n]);n+=r,t[a+i+m]=t[a+i].sub(o),t[a+i]=t[a+i].add(o)}},Jmat.Matrix.kf_bfly4_=function(t,a,r,e,m){for(var n=[],i=2*m,o=3*m,l=0,u=0,J=0,s=0;m>s;s++)n[0]=t[a+s+m].mul(e.twiddles[l]),n[1]=t[a+s+i].mul(e.twiddles[u]),n[2]=t[a+s+o].mul(e.twiddles[J]),n[5]=t[a+s].sub(n[1]),t[a+s]=t[a+s].add(n[1]),n[3]=n[0].add(n[2]),n[4]=n[0].sub(n[2]),t[a+s+i]=t[a+s].sub(n[3]),l+=r,u+=2*r,J+=3*r,t[a+s]=t[a+s].add(n[3]),e.inverse?(t[a+s+m].re=n[5].re-n[4].im,t[a+s+m].im=n[5].im+n[4].re,t[a+s+o].re=n[5].re+n[4].im,t[a+s+o].im=n[5].im-n[4].re):(t[a+s+m].re=n[5].re+n[4].im,t[a+s+m].im=n[5].im-n[4].re,t[a+s+o].re=n[5].re-n[4].im,t[a+s+o].im=n[5].im+n[4].re)},Jmat.Matrix.kf_bfly3_=function(t,a,r,e,m){for(var n=m,i=2*m,o=0,l=0,u=[],J=e.twiddles[r*m],s=0;n>s;s++)u[1]=t[a+s+m].mul(e.twiddles[o]),u[2]=t[a+s+i].mul(e.twiddles[l]),u[3]=u[1].add(u[2]),u[0]=u[1].sub(u[2]),o+=r,l+=2*r,t[a+s+m].re=t[a+s].re-u[3].re/2,t[a+s+m].im=t[a+s].im-u[3].im/2,u[0]=u[0].mulr(J.im),t[a+s]=t[a+s].add(u[3]),t[a+s+i].re=t[a+s+m].re+u[0].im,t[a+s+i].im=t[a+s+m].im-u[0].re,t[a+s+m].re-=u[0].im,t[a+s+m].im+=u[0].re},Jmat.Matrix.kf_bfly5_=function(t,a,r,e,m){for(var n=[],i=e.twiddles[r*m],o=e.twiddles[2*r*m],l=2*m,u=3*m,J=4*m,s=0;m>s;++s)n[0]=Jmat.Complex(t[a+s]),n[1]=t[a+m+s].mul(e.twiddles[s*r]),n[2]=t[a+l+s].mul(e.twiddles[2*s*r]),n[3]=t[a+u+s].mul(e.twiddles[3*s*r]),n[4]=t[a+J+s].mul(e.twiddles[4*s*r]),n[7]=n[1].add(n[4]),n[10]=n[1].sub(n[4]),n[8]=n[2].add(n[3]),n[9]=n[2].sub(n[3]),t[a+s].re+=n[7].re+n[8].re,t[a+s].im+=n[7].im+n[8].im,n[5]=Jmat.Complex(0),n[5].re=n[0].re+n[7].re*i.re+n[8].re*o.re,n[5].im=n[0].im+n[7].im*i.re+n[8].im*o.re,n[6]=Jmat.Complex(0),n[6].re=n[10].im*i.im+n[9].im*o.im,n[6].im=-n[10].re*i.im-n[9].re*o.im,t[a+m+s]=n[5].sub(n[6]),t[a+J+s]=n[5].add(n[6]),n[11]=Jmat.Complex(0),n[11].re=n[0].re+n[7].re*o.re+n[8].re*i.re,n[11].im=n[0].im+n[7].im*o.re+n[8].im*i.re,n[12]=Jmat.Complex(0),n[12].re=-n[10].im*o.im+n[9].im*i.im,n[12].im=n[10].re*o.im-n[9].re*i.im,t[a+l+s]=n[11].add(n[12]),t[a+u+s]=n[11].sub(n[12])},Jmat.Matrix.kf_bfly_generic_=function(t,a,r,e,m,n){var i,o,l,u,J,s=e.nfft,p=[];for(i=0;m>i;++i){for(o=i,l=0;n>l;++l)p[l]=Jmat.Complex(t[a+o]),o+=m;for(o=i,l=0;n>l;++l){var x=0;for(t[a+o]=p[0],u=1;n>u;++u)x+=r*o,x>=s&&(x-=s),J=p[u].mul(e.twiddles[x]),t[a+o]=t[a+o].add(J);o+=m}}},Jmat.Matrix.kf_work_=function(t,a,r,e,m,n,i,o,l){var u=i[o+0],J=i[o+1],s=0;if(1==J)for(var p=0;u*J>p;p++)t[p+a]=Jmat.Complex(r[e+s]),s+=m*n;else for(var p=0;u*J>p;p+=J)Jmat.Matrix.kf_work_(t,a+p,r,e+s,m*u,n,i,o+2,l),s+=m*n;switch(u){case 2:Jmat.Matrix.kf_bfly2_(t,a,m,l,J);break;case 3:Jmat.Matrix.kf_bfly3_(t,a,m,l,J);break;case 4:Jmat.Matrix.kf_bfly4_(t,a,m,l,J);break;case 5:Jmat.Matrix.kf_bfly5_(t,a,m,l,J);break;default:Jmat.Matrix.kf_bfly_generic_(t,a,m,l,J,u)}},Jmat.Matrix.kf_factor_=function(t,a){var r=0,e=4,m=Math.floor(Math.sqrt(t));do{for(;t%e!=0;){switch(e){case 4:e=2;break;case 2:e=3;break;default:e+=2}e>m&&(e=t)}t=Math.floor(t/e),a[r+0]=e,a[r+1]=t,r+=2}while(t>1)},Jmat.Matrix.kiss_fft_alloc_=function(t,a){for(var r=new Jmat.Matrix.kiss_fft_state_(t,a),e=0;t>e;++e){var m=2*-Math.PI*e/t;r.inverse&&(m*=-1),r.twiddles[e]=new Jmat.Complex(Math.cos(m),Math.sin(m))}return Jmat.Matrix.kf_factor_(t,r.factors),r},Jmat.Matrix.kiss_fft_=function(t,a,r){Jmat.Matrix.kf_work_(r,0,a,0,1,1,t.factors,0,t)},Jmat.Matrix.matrixfft_=function(t,a){var r=new Jmat.Matrix(t.h,t.w);if(t.w>1)for(var e=0;e1)for(var e=0;e=m;m++)e*=m,r=r.mul(t),a=a.add(r.mulr(1/e));return a},Jmat.Matrix.cos=function(t){if(t.h!=t.w)return null;for(var a=Jmat.Matrix.identity(t.w,t.w),r=t.mul(t),e=null,m=1,n=1,i=0;20>i;i++)0==i?m=2:m*=(2*i+1)*(2*i+2),n=-n,e=null==e?r:e.mul(r),a=a.add(e.mulr(n/m));return a},Jmat.Matrix.sin=function(t){if(t.h!=t.w)return null;for(var a=t,r=t.mul(t),e=t,m=1,n=1,i=0;20>i;i++)m*=(2*i+2)*(2*i+3),n=-n,e=e.mul(r),a=a.add(e.mulr(n/m));return a},Jmat.Matrix.sqrt=function(t){if(t.h!=t.w)return null;for(var a=Jmat.Matrix.evd(t),r=a.v,e=a.d,m=0;m1e-7){var e=2*Math.sqrt(r);return new Jmat.Quaternion(.25*e,(a[2][1].re-a[1][2].re)/e,(a[0][2].re-a[2][0].re)/e,(a[1][0].re-a[0][1].re)/e)}if(a[0][0].re>a[1][1].re&&a[0][0].re>a[2][2].re){var e=2*Math.sqrt(1+a[0][0].re-a[1][1].re-a[2][2].re);return new Jmat.Quaternion((a[2][1].re-a[1][2].re)/e,.25*e,(a[1][0].re+a[0][1].re)/e,(a[0][2].re-a[2][0].re)/e)}if(a[1][1].re>a[2][2].re){var e=2*Math.sqrt(1+a[1][1].re-a[0][0].re-a[2][2].re);return new Jmat.Quaternion((a[0][2].re-a[2][0].re)/e,(a[1][0].re+a[0][1].re)/e,.25*e,(a[2][1].re+a[1][2].re)/e)}var e=2*Math.sqrt(1+a[2][2].re-a[0][0].re-a[1][1].re);return new Jmat.Quaternion((a[1][0].re-a[0][1].re)/e,(a[0][2].re+a[2][0].re)/e,(a[2][1].re+a[1][2].re)/e,.5*e)},Jmat.Quaternion.prototype.getVector=function(){return[[this.x],[this.y],[this.z]]},Jmat.Quaternion.prototype.qvector=function(){return new Jmat.Quaternion(0,this.x,this.y,this.z)},Jmat.Quaternion.exp=function(t){var a=Math.exp(t.w),r=t.absv(),e=Math.cos(r),m=Math.sin(r),n=a*m/r;return new Jmat.Quaternion(a*e,n*t.x,n*t.y,n*t.z)},Jmat.Quaternion.log=function(t){var a=t.abs(),r=t.absv();if(0==r)return new Jmat.Quaternion(Math.log(t.w),0,0,0);var e=Math.acos(t.w/a),m=e/r;return new Jmat.Quaternion(Math.log(a),m*t.x,m*t.y,m*t.z)},Jmat.Quaternion.logy=function(t,a){return Jmat.Quaternion.log(t).div(Jmat.Quaternion.log(a))},Jmat.Quaternion.logr=function(t,a){return Jmat.Quaternion.log(t).divr(Math.log(a))},Jmat.Quaternion.log2=function(t){return Jmat.Quaternion.log(t).divr(Math.LN2)},Jmat.Quaternion.log10=function(t){return Jmat.Quaternion.log(t).divr(Math.LN10)},Jmat.Quaternion.pow=function(t,a){var r=Jmat.Quaternion;return r.exp(r.log(t).mul(a))},Jmat.Quaternion.prototype.pow=function(t){return Jmat.Quaternion.pow(this,t)},Jmat.Quaternion.powr=function(t,a){var r=Jmat.Quaternion;return r.exp(r.log(t).mulr(a))},Jmat.Quaternion.prototype.powr=function(t){return Jmat.Quaternion.powr(this,t)},Jmat.Quaternion.sqrt=function(t){return t.powr(.5)},Jmat.Quaternion.eq=function(t,a){return t&&a?t.w==a.w&&t.x==a.x&&t.y==a.y&&t.z==a.z:t==a},Jmat.Quaternion.prototype.eq=function(t){return t&&this.w==t.w&&this.x==t.x&&this.y==t.y&&this.z==t.z},Jmat.Quaternion.eqr=function(t,a){return t&&a?t.w==a&&0==t.x&&0==t.y&&0==t.z:t==a},Jmat.Quaternion.prototype.eqr=function(t){return this.w==t&&0==this.x&&0==this.y&&0==this.z},Jmat.Quaternion.near=function(t,a,r){return t.w-r<=a.w&&t.w+r>=a.w&&t.x-r<=a.x&&t.x+r>=a.x&&t.y-r<=a.y&&t.x+r>=a.y&&t.z-r<=a.z&&t.x+r>=a.z},Jmat.Quaternion.relnear=function(t,a,r){return t.eq(a)?!0:t.sub(a).abs()=2&&a>5)return 1/0;if(0==t&&Jmat.Real.isPositiveInt(a))return Jmat.Complex.isEven(a)?1:0;if(a==1/0&&t>0){var r=Math.log(t);return Jmat.Real.lambertw(-r)/-r}var e=function(t,a,r,e){for(var m,n=a,i=0;r>i;i++){if(n=e?Jmat.Real.logy(n,t):Math.pow(t,n),isNaN(n))return n;if(n==1/0)return n;if(n==m)return n;if(m=n,i>1e3)return NaN}return n};if(Jmat.Real.isPositiveInt(a))return e(t,t,a-1,!1);if(a>-1&&0>=a)return 1+a;if(a>0){var m=a-Math.floor(a);return e(t,m,Math.ceil(a),!1)}if(-1>=a){var m=a-Math.floor(a);return e(t,m,-Math.ceil(a),!0)}return NaN},Jmat.Real.minkowski=function(t){if(t!=t)return NaN;var a,r,e=Math.floor(t),m=1,n=e+1,i=1,o=1,l=e;if(e>t||0>e!=0>=n)return t;for(;(o/=2,l+o!=l)&&(a=e+n,0>a==0>e)&&(r=m+i,!(0>r));)a/r>t?(n=a,i=r):(l+=o,e=a,m=r);return l+o},Jmat.Complex.loggamma=function(t){if(t.re<0){if(0==t.im&&t.re==Math.floor(t.re))return Jmat.Complex(NaN);var a=Jmat.Complex.log(Jmat.Complex.PI.div(Jmat.Complex.sin(Jmat.Complex.PI.mul(t))));return Jmat.Complex.isInfOrNaN(a)&&(a=Jmat.Complex.log(Jmat.Complex.newi(2*Math.PI)).sub(Jmat.Complex.newi(-Math.PI).mul(t.im>0?t:t.neg()))),a.sub(Jmat.Complex.loggamma(Jmat.Complex.ONE.sub(t)))}if(t.im<1&&t.im>-1&&t.re<1&&t.re>=0)return Jmat.Complex.log(Jmat.Complex.gamma(t));var r=Jmat.Complex(.918938533205);return r=r.add(Jmat.Complex.subr(t,.5).mul(Jmat.Complex.log(t))),r=r.sub(t),r=r.add(t.mulr(12).inv()),r=r.sub(Jmat.Complex.powr(t,3).mulr(360).inv()),r=r.add(Jmat.Complex.powr(t,5).mulr(1260).inv()),r=r.sub(Jmat.Complex.powr(t,7).mulr(1680).inv()),r=r.add(Jmat.Complex.powr(t,9).mulr(1188).inv())},Jmat.Complex.gamma_inv=function(t){if(Jmat.Complex.isPositive(t)&&a>.85){var a=t.re,r=.036533814484900416,e=Math.log((a+r)/Math.sqrt(2*Math.PI));return Jmat.Complex(e/Jmat.Real.lambertw(e/Math.E)+.5)}var m=Jmat.Complex.finvert_newton(t,Jmat.Complex.gamma,function(t){return Jmat.Complex.gamma(t).mul(Jmat.Complex.digamma(t))});return Jmat.Complex.near(Jmat.Complex.gamma(m),t,.01)?m:Jmat.Complex(NaN)},Jmat.Complex.digamma=function(t){var a=Jmat.Real.frac(t.re);if(.001>a||a>.999||a>.499&&.501>a){if(t.re<-98)return Jmat.Complex.loggamma(t.addr(3e-4)).sub(Jmat.Complex.loggamma(t.addr(1e-4))).divr(2e-4);var r=Jmat.Complex.gamma(t.addr(1e-4)).sub(Jmat.Complex.gamma(t.subr(1e-4))).divr(2e-4).div(Jmat.Complex.gamma(t));return Jmat.Complex.isInfOrNaN(r)&&!Jmat.Complex.isInf(t)&&0!=t.im?Jmat.Complex.loggamma(t.addr(3e-4)).sub(Jmat.Complex.loggamma(t.addr(1e-4))).divr(2e-4):r}return Jmat.Complex.loggamma(t.addr(1e-4)).sub(Jmat.Complex.loggamma(t.subr(1e-4))).divr(2e-4)},Jmat.Complex.trigamma=function(t){var a=Jmat.Real.frac(t.re);if(.001>a||a>.999||a>.499&&.501>a){var r=Jmat.Complex.gamma(t.addr(-2e-4)),e=Jmat.Complex.gamma(t.addr(-1e-4)),m=Jmat.Complex.gamma(t),n=Jmat.Complex.gamma(t.addr(1e-4)),i=Jmat.Complex.gamma(t.addr(2e-4)),o=r.sub(m).divr(2e-4).div(e),l=m.sub(i).divr(2e-4).div(n);return o.sub(l).divr(2e-4)}var r=Jmat.Complex.loggamma(t.addr(-2e-4)),e=Jmat.Complex.loggamma(t),m=Jmat.Complex.loggamma(t.addr(2e-4)),o=r.sub(e).divr(2e-4),l=e.sub(m).divr(2e-4);return o.sub(l).divr(2e-4)},Jmat.Complex.polygamma=function(t,a){if(t.eqr(0))return Jmat.Complex.digamma(a);if(t.eqr(1))return Jmat.Complex.trigamma(a);var r=Jmat.Complex.hurwitzzeta(t.inc(),a);return Jmat.Complex(-1).pow(t.inc()).mul(Jmat.Complex.factorial(t)).mul(r)},Jmat.Complex.incgamma_lower=function(t,a){if(a.re>0){var r=a.pow(t).div(t).mul(Jmat.Complex.hypergeometric1F1(t,t.inc(),a.neg()));if(!Jmat.Complex.isNaN(r))return r}for(var r=Jmat.Complex(0),e=Jmat.Complex(1),m=a.pow(t),n=1,i=a.abs()>5?50:30,o=0;i>o;o++)o>0&&(e/=o,n=-n,m=m.mul(a)),r=r.add(Jmat.Complex(n*e).mul(m).div(t.addr(o)));return r},Jmat.Complex.incgamma_upper=function(t,a){return Jmat.Complex.isNegativeIntOrZero(t)&&(t=t.addr(1e-7)),Jmat.Complex.gamma(t).sub(Jmat.Complex.incgamma_lower(t,a))},Jmat.Complex.gamma_p_cache_=[],Jmat.Complex.gamma_p=function(t,a){if(Jmat.Complex.isNegativeIntOrZero(t))return Jmat.Complex(1);var r=Jmat.Complex.calcCache_(t,Jmat.Complex.gamma,Jmat.Complex.gamma_p_cache_);return Jmat.Complex.incgamma_lower(t,a).div(r)},Jmat.Complex.gamma_q=function(t,a){return Jmat.Complex.isNegativeIntOrZero(t)?Jmat.Complex(0):Jmat.Complex.ONE.sub(Jmat.Complex.gamma_p(t,a))},Jmat.Complex.gamma_p_inv_series_1_=function(t,a){var r=t.inc(),e=r.mul(r),m=t.addr(2),n=m.mul(m),i=t.mul(t),o=i.mul(t),l=o.mul(t),u=t.addr(3),J=t.addr(4),s=[0,1];s[2]=t.inc().inv(),s[3]=t.mulr(3).addr(5).div(e.mul(m).mulr(2)),s[4]=i.mulr(8).add(t.mulr(33)).addr(31).div(e.mul(r).mul(m).mul(u).mulr(3)),s[5]=l.mulr(125).add(o.mulr(1179)).add(i.mulr(3971)).add(t.mulr(5661)).addr(2888).div(e.mul(e).mul(n).mul(u).mul(J).mulr(24));var p=a.mul(Jmat.Complex.gamma(r)).pow(t.inv());return Jmat.Complex.powerSeries(s,s.length,Jmat.Complex.ZERO,p)},Jmat.Complex.gamma_p_inv=function(t,a){return!Jmat.Complex.isReal(a)||!Jmat.Complex.isReal(t)||a.re<0||a.re>1||t.re<0?Jmat.Complex(NaN):Jmat.Complex.gamma_p_inv_series_1_(t,a)},Jmat.Complex.gamma_q_inva=function(t,a){return Jmat.Complex.rootfind_bisection(Jmat.Complex(0),Jmat.Complex(100),function(r){return Jmat.Complex.gamma_q(r,a).sub(t)})},Jmat.Complex.gammaDiv_=function(t,a){if(t.eq(a))return Jmat.Complex.ONE;if(Jmat.Complex.isInfOrNaN(t)||Jmat.Complex.isInfOrNaN(a))return Jmat.Complex(NaN);if(Jmat.Complex.isNegativeIntOrZero(a)&&(t.re>0||!Jmat.Complex.isInt(t)))return Jmat.Complex.ZERO;if(Jmat.Complex.isInt(t)&&Jmat.Complex.isInt(a)){if(t.re<=0&&a.re<=0){var r=Jmat.Real.isOdd(t.re-a.re)?-1:1;return Jmat.Complex.gammaDiv_(a.rsub(1),t.rsub(1)).mulr(r)}if(t.re>0&&a.re>0&&Jmat.Real.dist(t.re,a.re)<16){if(t.re>a.re){for(var e=a.re,m=a.re+1;m0||!Jmat.Complex.isInt(t))?Jmat.Complex.ZERO:Jmat.Complex.gammaDiv_(t,a).div(Jmat.Complex.gamma(r)):Jmat.Complex.gammaDiv_(t,r).div(Jmat.Complex.gamma(a))},Jmat.Complex.gammaDiv21_=function(t,a,r){return Jmat.Complex.isNegativeIntOrZero(t)?Jmat.Complex.gammaDiv_(t,r).mul(Jmat.Complex.gamma(a)):Jmat.Complex.gammaDiv_(a,r).mul(Jmat.Complex.gamma(t))},Jmat.Complex.gammaDiv22_=function(t,a,r,e){return Jmat.Complex.isNegativeIntOrZero(t)==Jmat.Complex.isNegativeIntOrZero(r)?Jmat.Complex.gammaDiv_(t,r).mul(Jmat.Complex.gammaDiv_(a,e)):Jmat.Complex.gammaDiv_(t,e).mul(Jmat.Complex.gammaDiv_(a,r))},Jmat.Complex.loggammaDiv_=function(t,a){if(t.eq(a))return Jmat.Complex.ZERO;if(Jmat.Complex.isInfOrNaN(t)||Jmat.Complex.isInfOrNaN(a))return Jmat.Complex(NaN);if(Jmat.Complex.isNegativeIntOrZero(a)&&(t.re>0||!Jmat.Complex.isInt(t)))return Jmat.Complex(-(1/0));if(Jmat.Complex.isInt(t)&&Jmat.Complex.isInt(a)&&t.re<=0&&a.re<=0){var r=Jmat.Real.isOdd(t.re-a.re)?-1:1,e=Jmat.Complex.loggammaDiv_(a.rsub(1),t.rsub(1));return-1==r&&(e=e.add(Jmat.Complex.newi(Math.PI))),e}return Jmat.Complex.loggamma(t).sub(Jmat.Complex.loggamma(a))},Jmat.Complex.loggammaDiv12_=function(t,a,r){return Jmat.Complex.isNegativeIntOrZero(a)?Jmat.Complex.isNegativeIntOrZero(r)&&(t.re>0||!Jmat.Complex.isInt(t))?Jmat.Complex(-(1/0)):Jmat.Complex.loggammaDiv_(t,a).sub(Jmat.Complex.loggamma(r)):Jmat.Complex.loggammaDiv_(t,r).sub(Jmat.Complex.loggamma(a))},Jmat.Complex.loggammaDiv21_=function(t,a,r){return Jmat.Complex.isNegativeIntOrZero(t)?Jmat.Complex.loggammaDiv_(t,r).add(Jmat.Complex.loggamma(a)):Jmat.Complex.loggammaDiv_(a,r).add(Jmat.Complex.loggamma(t))},Jmat.Complex.loggammaDiv2_=function(t,a,r,e){return Jmat.Complex.isNegativeIntOrZero(t)==Jmat.Complex.isNegativeIntOrZero(r)?Jmat.Complex.loggammaDiv_(t,r).add(Jmat.Complex.loggammaDiv_(a,e)):Jmat.Complex.loggammaDiv_(t,e).add(Jmat.Complex.loggammaDiv_(a,r))},Jmat.Complex.agmMulSqrt_=function(t,a){return Jmat.Complex.isPositive(t)&&Jmat.Complex.isPositive(a)?Jmat.Complex.sqrt(t.mul(a)):Jmat.Complex(Math.sqrt(t.mul(a).abs())).mul(Jmat.Complex.exp(Jmat.Complex.I.mulr((t.arg()+a.arg())/2)))},Jmat.Complex.agm=function(t,a){if(t.eq(a.neg())||t.eq(Jmat.Complex.ZERO)||a.eq(Jmat.Complex.ZERO))return Jmat.Complex(0);for(var r,e,m=Jmat.Complex.isReal(t)&&Jmat.Complex.isReal(a)&&t.re<0==a.re<0,n=0;60>n&&!t.eq(a);n++)r=t.add(a).divr(2),e=Jmat.Complex.agmMulSqrt_(t,a),t=r,a=e;return m&&(t.im=0),t},Jmat.Complex.ghm=function(t,a){for(var r,e,m=0;60>m&&!t.eq(a);m++)r=Jmat.Complex.agmMulSqrt_(t,a),e=Jmat.Complex.TWO.div(t.inv().add(a.inv())),t=r,a=e;return t},Jmat.Complex.bessel0big_=function(t){for(var a=Jmat.Complex,r=[-.0703125,.112152099609375,-.5725014209747314,.6074042001273483,-110.0171402692467,303.8090510922384,-118838.4262567832,625295.1493434797,-425939216.5047669,3646840080.706556,-3833534661393.944,48540146868529.01],e=[.0732421875,-.2271080017089844,1.727727502584457,-24.38052969955606,551.3358961220206,-18257.75547429318,832859.3040162893,-50069589.53198893,3836255180.230433,-364901081884.9833,42189715702840.96,-5827244631566907],m=t.abs(),n=m>=50?8:m>=35?10:12,i=a.ONE,o=a(-.125).div(t),l=t.inv(),u=l.mul(l),J=a.ONE,s=0;n>s;s++)J=J.mul(u),i=i.add(J.mulr(r[s])),o=o.add(J.mul(l).mulr(e[s]));var p=a.sqrt(t.mulr(Math.PI/2).inv()),x=t.subr(.25*Math.PI),f=p.mul(i.mul(a.cos(x)).sub(o.mul(a.sin(x)))),c=p.mul(i.mul(a.sin(x)).add(o.mul(a.cos(x))));return[f,c]},Jmat.Complex.besselj0_=function(t){var a=Jmat.Complex;if(t.eqr(0))return a(1);if(t.re<0&&(t=t.neg()),t.abs()<12){for(var r=a.ONE,e=a.ONE,m=t.mul(t),n=1;40>=n&&(e=e.mul(m).mulr(-.25/(n*n)),r=r.add(e),!(e.abssq()<1e-30*r.abssq()));n++);return r}return Jmat.Complex.bessel0big_(t)[0]},Jmat.Complex.bessely0_=function(t){var a=Jmat.Complex;if(t.eqr(0))return a(-(1/0));var r,e,m=t.re<0;if(m&&(t=t.neg()),t.abs()<12){r=a.besselj0_(t);for(var n=0,i=a.ONE,o=a.ZERO,l=t.mul(t),u=1;40>=u;u++){n+=1/u,i=i.mulr(-.25/(u*u)).mul(l);var J=i.mulr(n);if(o=o.add(J),J.abssq()<1e-30*o.abssq())break}var s=a(2/Math.PI);e=s.mul(a.log(t.divr(2)).add(a.EM)).mul(r).sub(s.mul(o))}else{var p=Jmat.Complex.bessel0big_(t);r=p[0],e=p[1]}return m&&(e=t.im<=0?e.add(a(0,2).mul(r)):e.sub(a(0,2).mul(r))),e},Jmat.Complex.bessel1big_=function(t){for(var a=Jmat.Complex,r=[.1171875,-.144195556640625,.6765925884246826,-6.883914268109947,121.5978918765359,-3302.272294480852,127641.2726461746,-6656367.718817688,450278600.3050393,-38338575207.4279,4011838599133.198,-506056850331472.7],e=[-.1025390625,.2775764465332031,-1.993531733751297,27.24882731126854,-603.8440767050702,19718.37591223663,-890297.8767070678,53104110.10968522,-4043620325.107754,382701134659.8605,-44064814178522.78,6065091351222699],m=t.abs(),n=m>=50?8:m>=35?10:12,i=a.ONE,o=a(.375).div(t),l=t.inv(),u=l.mul(l),J=a.ONE,s=0;n>s;s++)J=J.mul(u),i=i.add(J.mulr(r[s])),o=o.add(J.mul(l).mulr(e[s]));var p=a.sqrt(t.mulr(Math.PI/2).inv()),x=t.subr(.75*Math.PI),f=p.mul(i.mul(a.cos(x)).sub(o.mul(a.sin(x)))),c=p.mul(i.mul(a.sin(x)).add(o.mul(a.cos(x))));return[f,c]},Jmat.Complex.besselj1_=function(t){var a=Jmat.Complex;if(t.eqr(0))return a(0);var r,e=t.re<0;if(e&&(t=t.neg()),t.abs()<12){r=a.ONE;for(var m=a.ONE,n=t.mul(t),i=1;40>=i&&(m=m.mul(n).mulr(-.25/(i*(i+1))),r=r.add(m),!(m.abssq()<1e-30*r.abssq()));i++);r=r.mul(t).mulr(.5)}else r=Jmat.Complex.bessel1big_(t)[0];return e&&(r=r.neg()),r},Jmat.Complex.bessely1_=function(t){var a=Jmat.Complex;if(t.eqr(0))return a(-(1/0));var r,e,m=t.re<0;if(m&&(t=t.neg()),t.abs()<12){r=a.besselj1_(t);for(var n=0,i=a.ONE,o=a.ONE,l=t.mul(t),u=1;40>=u;u++){n+=1/u,i=i.mulr(-.25/(u*(u+1))).mul(l);var J=i.mulr(2*n+1/(u+1));if(o=o.add(J),J.abssq()<1e-30*o.abssq())break}var s=a(2/Math.PI);e=s.mul(a.log(t.divr(2)).add(a.EM).mul(r).sub(t.inv()).sub(t.mul(o).mulr(.25)))}else{var p=Jmat.Complex.bessel1big_(t);r=p[0],e=p[1]}return m&&(e=t.im<=0?e.add(a(0,2).mul(r)).neg():e.sub(a(0,2).mul(r)).neg()),e},Jmat.Complex.bessel_sqrt_=function(t){return Jmat.Complex.isNegative(t)?Jmat.Complex.sqrt(t).neg():Jmat.Complex.sqrt(t)},Jmat.Complex.bessel_sqrt2piz_=function(t){return Jmat.Complex.bessel_sqrt_(t.rdiv(2/Math.PI))},Jmat.Complex.besselj_miller_=function(t,a){if(a.eqr(0))return Jmat.Complex(0);if(t.eqr(1))return Jmat.Complex.besselj1_(a);if(t.re0;m--){var n=o.mulr(2*m).div(a).sub(l);l=o,o=n,m-1==t.re&&(i=n)}var J=r.div(o);return i.mul(J)},Jmat.Complex.besselj_series_=function(t,a){var r=Jmat.Complex,e=r.isNegativeInt(t);e&&(t=t.neg());for(var m=r(0),n=1,i=r.gamma(t.inc()),o=0;50>o;o++){var l=r(o+1),u=r.gamma(l).mul(i),J=r(n).div(u).mul(a.divr(2).pow(r(2*o).add(t)));n=-n,m=m.add(J),i=i.mul(t.add(l))}return e&&Jmat.Real.isOdd(t.re)&&(m=m.neg()),m},Jmat.Complex.besselj_hankelexpansion_=function(t,a){var r,e=Jmat.Complex,m=Math.PI,n=Math.abs(a.arg())>3;n&&(a=a.neg());for(var i,o=Jmat.Complex.ONE,l=e.ONE,u=a.sub(t.mulr(m/2)).subr(m/4),J=e.ZERO,s=e.ZERO,p=t.mul(t).mulr(4),x=Math.max(4,Math.min(60,Math.abs(t.re))),f=0;x>f;f++){if(f>0){var c=p.subr((2*f-1)*(2*f-1));o=o.mul(c).divr(8*f),l=l.mul(a),i=d}var C=2>f%4?1:-1,d=o.div(l).mulr(C);if(d.abssq()<1e-28)break;f%2==0?s=s.add(d):J=J.add(d)}return d.abssq()>.01?e(NaN):(s=e.cos(u).mul(s),J=e.sin(u).mul(J),r=e.bessel_sqrt2piz_(a).mul(s.sub(J)),n&&(r=r.mul(e.exp(t.muli(m)))),r)},Jmat.Complex.besselj_hypergeom_=function(t,a){var r=Jmat.Complex,e=1;r.isNegativeInt(t)&&(r.isOdd(t)&&(e=-1),t=t.neg()),r.isNegativeInt(t.addr(.5))&&(t=t.abssq()<5?t.addr(1e-12):t.addr(1e-5));var m=r.hypergeometric1F1(t.addr(.5),t.mulr(2).inc(),a.muli(2)),n=r.log(a.mulr(.5)).mul(t).sub(r.loggamma(t.inc())).add(a.muli(-1));return r.exp(n.add(r.log(m))).mulr(e)},Jmat.Complex.besselj_large_nu_=function(t,a){var r=Jmat.Complex,e=r.bessel_sqrt2piz_(t).divr(2),m=r.E.mul(a).div(t).divr(2);return e.mul(m.pow(t))},Jmat.Complex.besselj=function(t,a){var r=Jmat.Complex;if(r.isInf(t))return r(0);if(r.isInf(a))return r(0);if(a.eqr(0))return 0==t.re?r(0==t.im?1:NaN):t.re<0?r(1/0,1/0):r(0);if(t.eqr(0))return r.besselj0_(a);if(t.eqr(1))return r.besselj1_(a);if(t.eqr(.5))return r.bessel_sqrt2piz_(a).mul(r.sin(a));if(t.eqr(-.5))return r.bessel_sqrt2piz_(a).mul(r.cos(a));if(t.re>300&&Math.abs(t.im)50&&r.isReal(a)&&t.re>16*a.abs())return Jmat.Complex.besselj_large_nu_(t,a);if(r.isInt(t)&&Math.abs(t.re)<50){var e;return e=t.re<0?r.besselj_miller_(t.neg(),a).mulr(r.isOdd(t)?-1:1):r.besselj_miller_(t,a)}return a.abs()<25?r.besselj_series_(t,a):a.abssq()>t.abssq()?r.besselj_hankelexpansion_(t,a):t.re>2*a.abs()?Jmat.Complex.besselj_large_nu_(t,a):r.besselj_hypergeom_(t,a)},Jmat.Complex.bessely_miller_=function(t,a){for(var r=Jmat.Complex.bessely0_(a),e=Jmat.Complex.bessely1_(a),m=1;m3;m&&(a=a.neg());for(var n,i=Jmat.Complex.ONE,o=r.ONE,l=a.sub(t.mulr(e/2)).subr(e/4),u=r.ZERO,J=r.ZERO,s=t.mul(t).mulr(4),p=Math.max(4,Math.min(60,Math.abs(t.re))),x=0;p>x;x++){ if(x>0){var f=s.subr((2*x-1)*(2*x-1));i=i.mul(f).divr(8*x),o=o.mul(a),n=C}var c=2>x%4?1:-1,C=i.div(o).mulr(c);if(C.abssq()<1e-28)break;x%2==0?J=J.add(C):u=u.add(C)}if(C.abssq()>.01)return r(NaN);J=r.sin(l).mul(J),u=r.cos(l).mul(u);var d=r.bessel_sqrt2piz_(a).mul(J.add(u));if(m){var v=r.besselj(t,a);d=d.mul(r.exp(t.muli(-e))).add(r.cos(t.mulr(e)).mul(v).muli(2))}return d},Jmat.Complex.bessely=function(t,a){var r=Jmat.Complex;if(r.isInf(t))return r.isInf(a)?r(NaN):r.isPositive(a)?r(-(1/0)):r(1/0,1/0);if(r.isInf(a))return r(0);if(a.eqr(0))return 0==t.re?r(0==t.im?-(1/0):NaN):r(1/0,1/0);if(t.eqr(0))return r.bessely0_(a);if(t.eqr(1))return r.bessely1_(a);if(r.isInt(t)){var e=a.re<0;e&&(a=a.neg());var m;if(m=t.re<0?r.bessely_miller_(t.neg(),a).mulr(r.isOdd(t)?-1:1):r.bessely_miller_(t,a),e){var n=r.besselj(t,a);m=a.im<=0?m.add(r(0,2).mul(n)):m.sub(r(0,2).mul(n)),r.isOdd(t)&&(m=m.neg())}return m}return a.abs()<20?r.bessely_with_besselj_(t,a):a.abssq()>t.abssq()?r.bessely_hankelexpansion_(t,a):r(NaN)},Jmat.Complex.hankelh1=function(t,a){var r=Jmat.Complex;return r.isInf(t)?r(1/0,1/0):r.isInf(a)?r(0):a.eqr(0)?0==t.re&&0!=t.im?r(NaN):r(1/0,1/0):t.im<0?r.exp(t.mul(r.newi(-Math.PI))).mul(r.hankelh1(t.neg(),a)):r.besselj(t,a).add(r.bessely(t,a).mul(r.I))},Jmat.Complex.hankelh2=function(t,a){var r=Jmat.Complex;return r.isInf(t)?r(1/0,1/0):r.isInf(a)?r(0):a.eqr(0)?0==t.re&&0!=t.im?r(NaN):r(1/0,1/0):t.im>0?r.exp(t.mul(r.newi(Math.PI))).mul(r.hankelh2(t.neg(),a)):r.besselj(t,a).sub(r.bessely(t,a).mul(r.I))},Jmat.Complex.besseli=function(t,a){var r=Jmat.Complex;if(r.isInf(t))return r(r.isInf(a)?NaN:0);if(a.eqr(1/0))return r(1/0);if(r.isInf(a))return r(1/0,1/0);if(a.eqr(0))return 0==t.re?r(0==t.im?1:NaN):t.re<0?r(1/0,1/0):r(0);var e=r.I.pow(t.neg()).mul(r.besselj(t,a.mul(r.I)));return 0==a.im&&0==t.im&&Jmat.Real.near(e.im,0,1e-10)&&(e.im=0),e},Jmat.Complex.besselk=function(t,a){var r=Jmat.Complex;if(r.isInf(t))return r.isInf(a)?r(NaN):r.isPositive(a)?r(1/0):r(1/0,1/0);if(a.eqr(1/0))return r(0);if(r.isInf(t))return r(1/0,1/0);if(a.eqr(0))return 0==t.re?r(0==t.im?1/0:NaN):r(1/0,1/0);var e;return e=a.im>=0?r.I.pow(t.inc()).mulr(Math.PI/2).mul(r.hankelh1(t,r.I.mul(a))):r.newi(-1).pow(t.inc()).mulr(Math.PI/2).mul(r.hankelh2(t,r.newi(-1).mul(a))),0==a.im&&0==t.im&&Jmat.Real.near(e.im,0,.001)&&(e.im=0),e},Jmat.Complex.airyloop_=function(t,a,r,e){for(var m=1.3541179394264005,n=.8929795115692493,i=t.mul(t).mul(t),o=Jmat.Complex.ONE,l=t,u=1,J=Jmat.Complex.ZERO,s=0;30>s;s++){s>0&&(u*=s,m*=s+2/3-1,n*=s+4/3-1,a/=9,r/=9,o=o.mul(i),l=l.mul(i));var p=o.mulr(a/u/m),x=l.mulr(r/u/n);if(Jmat.Complex.isNaN(p)||Jmat.Complex.isNaN(x))break;if(p.eqr(0)&&x.eqr(0))break;J=J.add(p).add(x.mulr(e))}return J},Jmat.Complex.airy=function(t){if(t.abs()>8){if(Math.abs(t.arg())<2*Math.PI/3){var a=t.powr(.25).mul(Jmat.Complex.SQRTPI),r=t.powr(1.5).mulr(2/3);return Jmat.Complex.exp(r.neg()).div(a.mulr(2))}var e=t.neg(),a=e.powr(.25).mul(Jmat.Complex.SQRTPI),r=e.powr(1.5).mulr(2/3);return Jmat.Complex.sin(r.addr(Math.PI/4)).div(a)}var m=Math.pow(3,-2/3),n=Math.pow(3,-4/3);return Jmat.Complex.airyloop_(t,m,n,-1)},Jmat.Complex.bairy=function(t){if(t.abs()>10){if(Math.abs(t.arg())s;s++){s>0&&(u*=s,m*=s+1/3-1,n*=s+5/3-1,a/=9,r/=9,o=o.mul(i),l=l.mul(i));var p=o.mulr(a/u/m),x=l.mulr(r/u/n);if(Jmat.Complex.isNaN(p)||Jmat.Complex.isNaN(x))break;if(p.eqr(0)&&x.eqr(0))break;J=J.add(p.mulr(e)).add(x)}return J},Jmat.Complex.airy_deriv=function(t){if(t.abs()>8){if(Math.abs(t.arg())<2*Math.PI/3){var a=t.powr(-1/4).mul(Jmat.Complex.SQRTPI),r=t.powr(1.5).mulr(2/3);return Jmat.Complex.exp(r.neg()).div(a.mulr(2)).neg()}var e=t.neg(),a=e.powr(-1/4).mul(Jmat.Complex.SQRTPI),r=e.powr(1.5).mulr(2/3);return Jmat.Complex.cos(r.addr(Math.PI/4)).div(a).neg()}var m=Math.pow(3,-1/3),n=Math.pow(3,-5/3);return Jmat.Complex.airy_deriv_loop_(t,m,n,-1)},Jmat.Complex.bairy_deriv=function(t){if(t.abs()>10){if(Math.abs(t.arg())1e3)break;r=r.mulr(2)}for(var m=r.re,n=.01,i=Jmat.Complex.ZERO,o=0;m>o;o+=n){var l=a(t,Jmat.Complex(o)).mulr(n);i=i.add(l),n*=1.01}return i.mulr(2).addr(.5).add(t.dec().inv())},Jmat.Complex.zeta=function(t){if(t.eq(Jmat.Complex.ZERO))return Jmat.Complex(-.5);if(t.eqr(-1))return Jmat.Complex(-1/12);if(t.eqr(1))return Jmat.Complex(+(1/0));if(t.eqr(3))return Jmat.Complex(1.202056903159594);if(t.re==+(1/0))return Jmat.Complex(1);if(Jmat.Complex.isEven(t)&&t.re<0)return Jmat.Complex(0);var a=t.dec().abs();if(10>a){for(var r=t.dec(),e=r.inv(),m=Jmat.Complex.ONE,n=5>a?10:30,i=0;n>i;i++)e=e.add(Jmat.Complex(Jmat.Complex.stieltjes_zeta[i]).mul(m)),m=m.mul(r);return e}if(t.re>=5){for(var e=Jmat.Complex(0),i=1;32>i;i++)e=e.add(Jmat.Complex(i).pow(t).inv());return e}if(t.re>=.5){if(Jmat.Complex.near(t,Jmat.Complex(1,18.125),.1))return Jmat.Complex.zetaint_(t);for(var e=Jmat.Complex(0),o=Jmat.Complex.TWO.pow(Jmat.Complex.ONE.sub(t)),l=Jmat.Complex.ONE.div(Jmat.Complex.ONE.sub(o)),u=1,i=1;128>i;i++){var J=Jmat.Complex(u).div(Jmat.Complex(i).pow(t));e=e.add(J),u=-u}return e.mul(l)}var s=Jmat.Complex.ONE.sub(t),l=Jmat.Complex.TWO.pow(t),p=Jmat.Complex.PI.pow(t.subr(1)),x=Jmat.Complex.sin(t.mulr(Math.PI/2)),f=Jmat.Complex.gamma(s),c=Jmat.Complex.zeta(s);return l.mul(p).mul(x).mul(f).mul(c)},Jmat.Complex.eta=function(t){if(t.re<.5){t=t.neg();var a=Jmat.Complex.ONE.sub(Jmat.Complex.TWO.pow(t.neg().subr(1))),r=Jmat.Complex.ONE.sub(Jmat.Complex.TWO.pow(t.neg())),e=a.div(r).mulr(2).mul(Jmat.Complex.PI.pow(t.neg().subr(1))),m=Jmat.Complex.sin(Jmat.Complex.PI.mul(t).divr(2)),n=Jmat.Complex.gamma(t),i=Jmat.Complex.eta(t.inc());return e.mul(t).mul(m).mul(n).mul(i)}for(var o=50,m=function(t,a){for(var r=0,e=0;t>=e;e++){var m=Jmat.Real.factorial(a+e-1)/Jmat.Real.factorial(a-e),n=Math.pow(4,e)/Jmat.Real.factorial(2*e);r+=m*n}return r*a},l=m(o,o),u=Jmat.Complex(0),J=Jmat.Complex(1),s=0;o>s;s++){var a=J.mulr(m(s,o)-l),r=Jmat.Complex(s+1).pow(t);u=u.add(a.div(r)),J=J.neg()}return u.mulr(-1/l)},Jmat.Complex.lambda=function(t){return Jmat.Complex.ONE.sub(Jmat.Complex.TWO.pow(t.neg())).mul(Jmat.Complex.zeta(t))},Jmat.Complex.hurwitzzeta_generate_hasse_table_=function(t){for(var a=[],r=0;t>r;r++){a[r]=0;for(var e=1,m=0;r>=m;m++)a[m]+=e*Jmat.Real.pascal_triangle(r,m)/(r+1),e=-e}return a},Jmat.Complex.hurwitzzeta_hasse_tables_=[],Jmat.Complex.hurwitzzeta_hasse_series_=function(t,a){var r=30;Jmat.Complex.hurwitzzeta_hasse_tables_[r]||(Jmat.Complex.hurwitzzeta_hasse_tables_[r]=Jmat.Complex.hurwitzzeta_generate_hasse_table_(r));for(var e=Jmat.Complex.hurwitzzeta_hasse_tables_[r],m=Jmat.Complex.ZERO,n=0;r>n;n++)m=m.add(a.addr(n).pow(Jmat.Complex.ONE.sub(t)).mulr(e[n]));return m=m.mul(t.dec().inv())},Jmat.Complex.hurwitzzeta_cos_series_=function(t,a){for(var r=t.rsub(1),e=Jmat.Complex.gamma(r).mulr(2).div(Jmat.Complex(2*Math.PI).pow(r)),m=Jmat.Complex.ZERO,n=1;30>n;n++){var i=Jmat.Complex.cos(r.mulr(Math.PI/2).sub(a.mulr(2*Math.PI*n)));m=m.add(i.div(Jmat.Complex(n).pow(r)))}return m.mul(e)},Jmat.Complex.hurwitzzeta_simple_series_=function(t,a){if(Jmat.Complex.isNegativeIntOrZero(a))return Jmat.Complex(1/0);for(var r=Jmat.Complex.ZERO,e=0;30>e;e++){var m=a.addr(e).pow(t).inv();r=r.add(m)}return r},Jmat.Complex.hurwitzzeta_euler_=function(t,a){for(var r=25,e=15,m=a.addr(r).pow(t).inv(),n=t.dec().inv().mul(a.addr(r).pow(t.dec()).inv()),i=Jmat.Complex.ZERO,o=0;r>o;o++){var l=a.addr(o).pow(t).inv();i=i.add(l)}for(var u=t,J=1,s=Jmat.Complex.ZERO,o=1;e>=o;o++){J*=2*(2*o-1)*o,u=u.mul(t.addr(2*o-1)).mul(t.addr(2*o));var p=u.div(a.addr(r).pow(t.addr(2*o+1))).neg();s=s.add(p.mulr(Jmat.Complex.bernoulli[2*o]/J))}return i.sub(s).add(m.divr(2)).add(n)},Jmat.Complex.hurwitzzeta=function(t,a){if(t.eqr(0))return Jmat.Complex(.5).sub(a);if(t.eqr(-1))return Jmat.Complex(-1/12).add(a.mulr(.5)).add(a.mul(a).mulr(-.5));if(a.eqr(1))return Jmat.Complex.zeta(t);if(t.re>2&&a.re>0)return Jmat.Complex.hurwitzzeta_simple_series_(t,a);if(t.re>=0&&a.re>-10)return Jmat.Complex.hurwitzzeta_euler_(t,a);if(t.re<0&&0==a.im&&a.re>0&&a.re<=1)return Jmat.Complex.hurwitzzeta_cos_series_(t,a);if(a.re>2)return Jmat.Complex.hurwitzzeta_hasse_series_(t,a);if(a.re>-40&&!a.eqr(0)){var r=t.re<0&&0==a.im?Math.ceil(-a.re):Math.ceil(2-a.re+.5),e=Jmat.Complex.ZERO;if(r>0)for(var m=0;r>m;m++){var n=a.addr(m).pow(t).inv();Jmat.Complex.isNaN(n)||(e=e.add(n))}else for(var m=0;-r>m;m++){var n=a.addr(m).addr(r).pow(t).inv();Jmat.Complex.isNaN(n)||(e=e.add(n))}var i=Jmat.Complex.hurwitzzeta(t,a.addr(r));return r>0?i.add(e):i.sub(e)}return Jmat.Complex(NaN)},Jmat.Complex.beta=function(t,a){return t.re<50&&t.re>-50&&a.re<50&&a.re>-50?Jmat.Complex.gammaDiv21_(t,a,t.add(a)):Jmat.Complex.exp(Jmat.Complex.loggammaDiv21_(t,a,t.add(a)))},Jmat.Complex.incbeta=function(t,a,r){if(t.eqr(1))return Jmat.Complex.beta(a,r);if(Jmat.Complex.isPositive(t)&&t.re<.75&&Jmat.Complex.isPositive(a)&&Jmat.Complex.isPositive(r)){for(var e,m,n=Jmat.Complex.ONE.sub(r),i=0;30>i&&(0==i?(e=Jmat.Complex(1),m=Jmat.Complex(0)):(e=e.mul(n.addr(i-1)),e=e.mul(t),e=e.divr(i)),!e.eqr(0));i++)m=m.add(e.div(a.addr(i)));return t.pow(a).mul(m)}return t.pow(a).div(a).mul(Jmat.Complex.hypergeometric2F1(a,Jmat.Complex.ONE.sub(r),a.inc(),t))},Jmat.Complex.beta_i=function(t,a,r){return Jmat.Complex.isNegativeIntOrZero(a)&&!Jmat.Complex.isNegativeIntOrZero(r)?Jmat.Complex(1):Jmat.Complex.isNegativeIntOrZero(r)&&!Jmat.Complex.isNegativeIntOrZero(a)?Jmat.Complex(0):Jmat.Complex.isNegativeIntOrZero(r.add(a))&&t.eqr(1)?Jmat.Complex(1):Jmat.Complex.incbeta(t,a,r).div(Jmat.Complex.beta(a,r))},Jmat.Complex.beta_i_inv=function(t,a,r){if(!(Jmat.Complex.isPositiveOrZero(t)&&Jmat.Complex.isPositiveOrZero(a)&&Jmat.Complex.isPositiveOrZero(r)))return Jmat.Complex(NaN);for(var e=Jmat.Complex.beta(a,r),m=Jmat.Complex.ZERO,n=Jmat.Complex.ZERO,i=Jmat.Complex.ONE;!Jmat.Complex.near(n,i,1e-6);)m=n.add(i).divr(2),Jmat.Complex.incbeta(m,a,r).div(e).re>t.re?i=m:n=m;return m},Jmat.Complex.hypergeometric0F1=function(t,a){var r=Jmat.Complex;if(r.isNegativeInt(t))return r(1/0,1/0);if(a.re<-80&&t.abssq()s&&(s>0&&(u.eqr(0)||(u=u.div(t.addr(s-1))),u=u.mul(a).divr(s)),!u.eqr(0));s++)J=J.add(u);return J},Jmat.Complex.hypergeometric1F1_series_=function(t,a,r){for(var e=Jmat.Complex,m=t.div(a).mul(r).divr(1),n=e(1),i=1;200>i&&(i>1&&(m=m.mul(t.addr(i-1)),m.eqr(0)||(m=m.div(a.addr(i-1))),m=m.mul(r),m=m.divr(i)),!(m.eqr(0)||m.abssq()/n.abssq()<1e-28));i++)n=n.add(m);return n},Jmat.Complex.hypergeometric1F1_asymp_=function(t,a,r){var e=Jmat.Complex;if(e.isNegativeInt(a))return e(NaN);for(var m=e.ONE,n=e.ONE,i=e.ONE,o=e.ONE,l=1;30>l&&(i=i.mul(t.addr(l-1)).mul(t.sub(a).addr(l)).divr(l).div(r.neg()),o=o.mul(a.sub(t).addr(l-1)).mul(t.rsub(l)).divr(l).div(r),m=m.add(i),n=n.add(o),!(i.abssq()<1e-28&&o.abssq()<1e-28));l++);if(i.abssq()>1e-10||o.abssq()>1e-10)return e(NaN);var u=r.arg()<=0?-1:1;if(r.abs()<100){var J=e.gammaDiv_(a,a.sub(t)).mul(e.exp(t.muli(u*Math.PI))).div(r.pow(t)),s=e.gammaDiv_(a,t).mul(e.exp(r)).mul(r.pow(t.sub(a)));return J.mul(m).add(s.mul(n))}var J=e.loggammaDiv_(a,a.sub(t)).add(t.muli(u*Math.PI)).sub(e.log(r).mul(t)),s=e.loggammaDiv_(a,t).add(r).add(e.log(r).mul(t.sub(a)));return e.exp(J.add(e.log(m))).add(e.exp(s.add(e.log(n))))},Jmat.Complex.hypergeometric1F1_rational_=function(t,a,r){var e=Jmat.Complex,m=function(t,a,r){for(var m,n,i=r.mul(r),o=i.mul(r),l=a.mul(a.inc()),u=e(1),J=e(1).add(t.inc().mul(r).div(a).divr(2)),s=e(1).add(t.addr(2).mul(r).div(a.inc()).divr(2)).add(t.inc().mul(t.addr(2)).mul(i).div(l).divr(12)),p=t.mul(r).div(a),x=e(1),f=J.sub(p),c=t.addr(2).mul(r).div(a.inc()).divr(2).inc(),C=t.mul(t.inc()).mul(i).div(l).divr(2),d=s.sub(p.mul(c)).add(C),v=3;50>v;v++){var g=2*v,h=t.rsub(v-2).div(a.addr(v-1).mulr(2*(g-3))),I=t.addr(v).mul(t.addr(v-1)).div(a.addr(v-1).mul(a.addr(v-2)).mulr(4*(g-3)*(g-1))),_=t.addr(v-2).mul(t.addr(v-1)).mul(t.rsub(v-2)).div(a.addr(v-3).mul(a.addr(v-2)).mul(a.addr(v-1)).mulr(8*(g-3)*(g-3)*(g-5))).neg(),b=t.addr(v-1).mul(a.rsub(v-1)).div(a.addr(v-2).mul(a.addr(v-1)).mulr(2*(g-3))).neg(),M=h.mul(r).inc(),w=I.mul(r).add(b).mul(r),B=_.mul(o);m=d.mul(M).add(f.mul(w)).add(x.mul(B)),n=s.mul(M).add(J.mul(w)).add(u.mul(B)),x=f,f=d,d=m,u=J,J=s,s=n}var R=f.div(J),N=m.div(n);return R.sub(N).abs()>1e-10?e(NaN):N};return m(t,a,r.neg())},Jmat.Complex.hypergeometric1F1=function(t,a,r){var e=Jmat.Complex;if(a.sub(t).abssq()=a.re))return e(1/0);if(t.eqr(0))return e(1);if(r.eqr(0))return e(1);if(r.eqr(1/0))return e(1/0,1/0);var m=r.mul(t).div(a).abs();if(8>m)return e.hypergeometric1F1_series_(t,a,r);var n=e.hypergeometric1F1_asymp_(t,a,r);return e.isNaN(n)&&(n=e.hypergeometric1F1_rational_(t,a,r)),n},Jmat.Complex.hypergeometric2F1=function(t,a,r,e){if(e.abs()>1.0001){var m=e.div(e.dec());if(m.abs()<.75)return Jmat.Complex.ONE.sub(e).pow(t.neg()).mul(Jmat.Complex.hypergeometric2F1(t,r.sub(a),r,m));var n=function(t){return Jmat.Complex.isNegativeIntOrZero(t)?t.addr(1e-5):t},i=e.inv(),o=e.neg().pow(t.neg()),l=e.neg().pow(a.neg()),u=Jmat.Complex.gammaDiv22_(n(r),n(a.sub(t)),n(a),n(r.sub(t))),J=Jmat.Complex.gammaDiv22_(n(r),n(t.sub(a)),n(t),n(r.sub(a))),s=Jmat.Complex.hypergeometric2F1(t,Jmat.Complex.ONE.sub(r).add(t),n(Jmat.Complex.ONE.sub(a).add(t)),i),p=Jmat.Complex.hypergeometric2F1(a,Jmat.Complex.ONE.sub(r).add(a),n(Jmat.Complex.ONE.sub(t).add(a)),i),x=u.mul(o).mul(s),f=J.mul(l).mul(p);return x.add(f)}var m=e.div(e.dec());if(m.abs().5&&(c=60),e.abs()>.75&&(c=100);for(var C=t.mul(a).div(r).mul(e).divr(1),d=Jmat.Complex(1),v=1;c>v&&(v>1&&(C=C.mul(t.addr(v-1)),C=C.mul(a.addr(v-1)),C.eqr(0)||(C=C.div(r.addr(v-1))),C=C.mul(e),C=C.divr(v)),!C.eqr(0))&&!Jmat.Complex.near(C,Jmat.Complex.ZERO,1e-15);v++)d=d.add(C);return d},Jmat.Complex.hypergeometric=function(t,a,r){if(r.eqr(0))return Jmat.Complex(1);if(0==t.length&&0==a.length)return Jmat.Complex.exp(r);if(1==t.length&&0==a.length)return Jmat.Complex.pow(r.rsub(1),t[0].neg());if(0==t.length&&1==a.length)return Jmat.Complex.hypergeometric0F1(a[0],r);if(1==t.length&&1==a.length)return Jmat.Complex.hypergeometric1F1(t[0],a[0],r);if(2==t.length&&1==a.length)return Jmat.Complex.hypergeometric2F1(t[0],t[1],a[0],r);for(var e=r,m=0;mi;i++){if(i>1){for(var m=0;m=r?30:50,n=1;m>n;n++){var i=e.divr(n*n);if(a=a.add(i),Jmat.Complex.near(i,Jmat.Complex.ZERO,1e-15))break;e=e.mul(t)}return a},r=t.abs();if(.5>r)return a(t);if(.5>1/r){var e=a(t.inv()).neg(),m=Jmat.Complex.log(t.neg());return e.sub(m.mul(m).divr(2)).sub(Jmat.Complex.PIPI6_)}var n=Jmat.Complex.ONE.sub(t),i=n.abs(),o=Jmat.Complex.ONE.sub(t).inv(),l=o.abs(),u=t.div(t.dec()),J=u.abs(),s=r,p=0;if(s>1/r&&(s=1/r,p=1),s>i&&(s=i,p=2),s>l&&(s=l,p=3),s>J&&(s=J,p=4),.8>s){if(0==p)return a(t);if(1==p){var e=a(t.inv()).neg(),m=Jmat.Complex.log(t.neg());return e.sub(m.mul(m).divr(2)).sub(Jmat.Complex.PIPI6_)}if(2==p){var e=a(n).neg(),x=Jmat.Complex.log(n),f=Jmat.Complex.log(t);return e.sub(x.mul(f)).add(Jmat.Complex.PIPI6_)}if(3==p){var e=a(o),x=Jmat.Complex.log(Jmat.Complex.ONE.sub(t)),f=Jmat.Complex.log(t.neg());return e.add(x.mul(x).divr(2)).sub(f.mul(x)).sub(Jmat.Complex.PIPI6_)}if(4==p){var e=a(u).neg(),m=Jmat.Complex.log(Jmat.Complex.ONE.sub(t));return e.sub(m.mul(m).divr(2))}}return Jmat.Complex.dilog(t.mul(t)).divr(2).sub(Jmat.Complex.dilog(t.neg()))},Jmat.Complex.trilog=function(t){if(t.eqr(0))return Jmat.Complex.ZERO;if(t.eqr(1))return Jmat.Complex.APERY;if(t.eqr(+(1/0)))return Jmat.Complex(-(1/0));if(t.eqr(-(1/0)))return Jmat.Complex(-(1/0));var a=function(t){for(var a=Jmat.Complex.ZERO,e=t,m=.5>r?30:50,n=1;m>n;n++){var i=e.divr(n*n*n);if(a=a.add(i),Jmat.Complex.near(i,Jmat.Complex.ZERO,1e-15))break;e=e.mul(t)}return a},r=t.abs();if(.75>r)return a(t);if(.75>1/r){var e=a(t.inv()),m=Jmat.Complex.log(t.neg());return e.sub(m.mul(m).mul(m).divr(6)).sub(Jmat.Complex.PIPI6_.mul(m))}return Jmat.Complex.polylog_integral_(Jmat.Complex(3),t)},Jmat.Complex.bernoulli=[1,-0.5,1/6,0,-1/30,0,1/42,0,-1/30,0,5/66,0,-691/2730,0,7/6,0,-3617/510,0,43867/798,0,-174611/330,0,854513/138,0,-23749461029/2730,0,8615841276005/6,0,-8861288553.122988,0,179980998.3498813,0],Jmat.Complex.stieltjes=[.5772156649015329,-.07281584548367673,-.00969036319287232,.002053834420303346,.0023253700654673,.0007933238173010627,-.0002387693454301996,-.000527289567057751,-.0003521233538030395,-3439477441808805e-20,.0002053328149090648,.0002701844395439035,.0001672729121051402,-27463806603760158e-21,-.00020920926205929996,-.0002834686553202414,-.00019969685830896976,26277037109918338e-21,.0003073684081492528,.0005036054530473557,.00046634356151155945,.00010443776975600011,-.0005415995822039977,-.0012439620904082457,-.0015885112789035616,-.0010745919527384888,.0006568035186371545,.0034778369136185382,.00640006853170063,.007371151770472239,.003557728855573161,-.007513325997815229],Jmat.Complex.stieltjes_zeta=[.5772156649015329,.07281584548367673,-.00484518159643616,-.00034230573671722433,9689041939447084e-20,-66110318108421895e-22,-3.316240908752772e-7,1.0462094584479188e-7,-8.733218100273798e-9,9.47827778276236e-11,5.658421927608708e-11,-6.768689863513697e-12,3.4921159366720317e-13,4.4104247417577536e-15,-2.3997862217709992e-15,2.1677312200726828e-16,-9.544466076366965e-18,-7.387676660538637e-20,4.800850782488065e-20,-4.139956737713306e-21,1.9168201593991233e-22,-2.0441543122262165e-24,-4.818498501107353e-25,4.8118570515125666e-26,-2.560263310318815e-27,6.927840895304667e-29,1.6286075504855866e-30,-3.1939375611532554e-31,2.0991515893634255e-32,-8.33674529544144e-34,1.3412593772192187e-35,9.137143891298173e-37],Jmat.Complex.polylog_integral_=function(t,a){if(t.re>1&&Math.abs(t.im).1){var r=Jmat.Complex.gamma(t),e=Jmat.Complex.integrate(Jmat.Complex(0),Jmat.Complex(20),function(r){var e=r.pow(t.dec()).div(Jmat.Complex.exp(r).sub(a));return Jmat.Complex.isNaN(e)&&(e=Jmat.Complex.ZERO),e},100);return a.div(r).mul(e)}if(Jmat.Complex.isNegative(t)&&Math.abs(a.arg())>.1){var m=Jmat.Complex.log(a.neg()),e=Jmat.Complex.integrate(Jmat.Complex(0),Jmat.Complex(20),function(a){var r=a.pow(t.neg()),e=Jmat.Complex.sin(t.mulr(Math.PI/2).sub(a.mul(m))),n=Jmat.Complex.sinh(a.mulr(Math.PI)),i=r.mul(e).div(n);return Jmat.Complex.isNaN(i)&&(i=Jmat.Complex.ZERO),i},100);return e}if(a.im<=0||t.re>0&&Math.abs(t.im)0){var i=Jmat.Complex.log(a),n=function(a){var r=Jmat.Complex.sin(t.mul(Jmat.Complex.atan(a)).sub(a.mul(i))),e=Jmat.Complex.ONE.add(a.mul(a)).pow(t.divr(2)),m=Jmat.Complex.exp(a.mulr(2*Math.PI)).sub(1),n=r.div(e).div(m);return Jmat.Complex.isNaN(n)&&(n=Jmat.Complex.ZERO),n},e=Jmat.Complex.ZERO;e=e.add(Jmat.Complex.integrate(Jmat.Complex(0),Jmat.Complex(5),n,50)),e=e.add(Jmat.Complex.integrate(Jmat.Complex(5),Jmat.Complex(20),n,20)),e=e.add(Jmat.Complex.integrate(Jmat.Complex(20),Jmat.Complex(100),n,10));var r=Jmat.Complex.incgamma_upper(Jmat.Complex.ONE.sub(t),i.neg()),o=i.neg().pow(Jmat.Complex.ONE.sub(t));return a.mulr(.5).add(r.div(o)).add(a.mulr(2).mul(e))}return Jmat.Complex(NaN)},Jmat.Complex.polylog_borwein_=function(t,a){var r=a.mul(a).div(a.dec()).abs();if(r>=3.7)return Jmat.Complex(NaN);var e=Math.floor(Math.min(31,16/r)),m=[];m[0]=Jmat.Complex.ONE;for(var n=Jmat.Complex.ONE,i=Jmat.Complex.ONE,o=Jmat.Complex.ZERO,l=1;e>=l;l++){i=i.mul(a);var u=i.div(Jmat.Complex(l).pow(t));o=o.add(u);var J=Jmat.Complex.binomial(Jmat.Complex(e),Jmat.Complex(l)),s=J.mul(i);l%2&&(s=s.neg()),n=n.add(s),m[l]=n}var p=Jmat.Complex.ZERO;for(l=e+1;2*e>=l;l++){i=i.mul(a);var u=i.div(Jmat.Complex(l).pow(t));n=m[2*e-l],u=u.mul(n),p=p.add(u)}var x=a.dec().inv().powr(e);p=p.mul(x);var f;return f=e%2?o.sub(p):o.add(p)},Jmat.Complex.polylog_borwein_ok_=function(t,a){var r=a.mul(a).div(a.dec()).abs();return t.re>=-5&&0==a.im&&1.5>=r||t.re>=0&&Math.abs(t.im)=r||a.abs()<=.5},Jmat.Complex.polylog_residue_=function(t,a){var r=!1,e=a;0==t.im&&0==a.im&&(a=a.add(Jmat.Complex.newi(-1e-4)),(Jmat.Complex.isNegativeInt(t)||a.re<0)&&(r=!0));for(var m=Jmat.Complex.log(a),n=Jmat.Complex.gamma(Jmat.Complex.ONE.sub(t)),i=Jmat.Complex.ZERO,o=0;30>o;o++)i=e.im>0?i.add(Jmat.Complex.newi(2*o*Math.PI).sub(m).pow(t.dec())):i.add(Jmat.Complex.newi(-2*o*Math.PI).sub(m).pow(t.dec()));var l=n.mul(i);return r&&0!=l.im&&(l=Jmat.Complex(l.re)),l},Jmat.Complex.polylog=function(t,a){if(Jmat.Complex.isInt(t)){if(t.eqr(0))return a.div(Jmat.Complex.ONE.sub(a));if(t.eqr(1))return Jmat.Complex.log(Jmat.Complex.ONE.sub(a)).neg();if(t.eqr(2))return Jmat.Complex.dilog(a);if(t.eqr(3))return Jmat.Complex.trilog(a);if(t.eqr(-1)){var r=Jmat.Complex.ONE.sub(a);return a.div(r).div(r)}if(t.eqr(-2)){var r=Jmat.Complex.ONE.sub(a);return a.mul(a.inc()).div(r).div(r).div(r)}if(t.eqr(-3)){var r=Jmat.Complex.ONE.sub(a),e=r.mul(r);return a.mul(Jmat.Complex.ONE.add(a.mulr(4)).add(a.mul(a))).div(e).div(e)}if(t.eqr(-4)){var r=Jmat.Complex.ONE.sub(a),e=r.mul(r);return a.mul(a.inc()).mul(Jmat.Complex.ONE.add(a.mulr(10)).add(a.mul(a))).div(e).div(e).div(r)}}if(t.re>1&&a.eqr(0))return Jmat.Complex(0);if(t.re>1&&a.eqr(1))return Jmat.Complex.zeta(t);var m=a.abs();if(.5>=m&&t.re>=-10||.75>m&&t.re>=-2||.9>m&&t.re>-1){for(var n=Jmat.Complex.ZERO,i=a,o=.5>=m?30:50,l=1;o>l;l++){var u=i.div(Jmat.Complex(l).pow(t));if(n=n.add(u),Jmat.Complex.near(u,Jmat.Complex.ZERO,1e-15))break;i=i.mul(a)}return n}if(Jmat.Complex.polylog_borwein_ok_(t,a))return Jmat.Complex.polylog_borwein_(t,a);if(t.re<0)return Jmat.Complex.polylog_residue_(t,a);if(Jmat.Complex.isNegativeInt(t)&&m>1){var J=Jmat.Complex.isOdd(t)?1:-1;return Jmat.Complex.polylog(t,a.inv()).mulr(J)}return Jmat.Complex.polylog_integral_(t,a)},Jmat.Complex.theta1=function(t,a){if(t.im>1)return Jmat.Complex.theta1(t.neg(),a).neg();for(var r=Jmat.Complex(0),e=Jmat.Complex(1),m=0;20>m;m++){var n=a.powr((m+.5)*(m+.5)),i=Jmat.Complex.sin(t.mulr(2*m+1));r=r.add(e.mul(n).mul(i)),e=e.neg()}return r.mulr(2)},Jmat.Complex.theta2=function(t,a){if(t.im>1)return Jmat.Complex.theta2(t.neg(),a);for(var r=Jmat.Complex(0),e=0;20>e;e++){var m=a.powr((e+.5)*(e+.5)),n=Jmat.Complex.cos(t.mulr(2*e+1));r=r.add(m.mul(n))}return r.mulr(2)},Jmat.Complex.theta3=function(t,a){if(t.im>1)return Jmat.Complex.theta3(t.neg(),a);for(var r=Jmat.Complex(0),e=0;20>e;e++){var m=a.powr(e*e),n=Jmat.Complex.cos(t.mulr(2*e));r=r.add(m.mul(n))}return r.mulr(2).addr(1)},Jmat.Complex.theta4=function(t,a){if(t.im>1)return Jmat.Complex.theta4(t.neg(),a);for(var r=Jmat.Complex(0),e=Jmat.Complex(1),m=0;20>m;m++){var n=a.powr(m*m),i=Jmat.Complex.cos(t.mulr(2*m));r=r.add(e.mul(n).mul(i)),e=e.neg()}return r.mulr(2).addr(1)},Jmat.Complex.tetration=function(t,a){if(Jmat.Complex.isPositive(t)&&Jmat.Complex.isPositiveInt(a)&&a.re!=1/0)return Jmat.Complex(Jmat.Real.tetration(t.re,a.re));if(a.eqr(0))return Jmat.Complex(1);if(a.eqr(1))return t;if(a.eqr(2))return t.pow(t);if(Jmat.Complex.isReal(t)&&t.re>=2&&a>5)return Jmat.Complex(1/0);if(t.eqr(0)&&Jmat.Complex.isPositiveInt(a))return Jmat.Complex.isEven(a)?Jmat.Complex(1):Jmat.Complex(0);if(a.eqr(1/0)){if(t.eqr(1))return Jmat.Complex(1);var r=Jmat.Complex.log(t);return Jmat.Complex.lambertw(r.neg()).div(r.neg())}var e=function(t,a,r,e){for(var m,n=a,i=0;r>i;i++){if(n=e?Jmat.Complex.logy(n,t):t.pow(n),Jmat.Complex.isNaN(n))return n;if(n.eq(m))return n;if(m=n,i>1e3)return Jmat.Complex(NaN)}return n};if(Jmat.Complex.isPositiveInt(a))return e(t,t,a.re-1,!1);if(Jmat.Complex.isReal(a)){if(a.eqr(-1))return Jmat.Complex(0);if(a.re>-1&&a.re<=0)return a.inc();if(a.re>0){var m=a.sub(Jmat.Complex.floor(a));return e(t,m,Math.ceil(a.re),!1)}if(a.re<=-1){var m=a.sub(Jmat.Complex.floor(a));return e(t,m,-Math.ceil(a.re),!0)}}if(Jmat.Complex.near(t,Jmat.Complex.E,1e-15)){var m,n=[.30685281944005,.59176735125832,.3964832129017,.17078658150959,.08516537613999,.03804195209047,.01734090876306,.00755271038865,.00328476064839,.0013936174017,.00058758348148,.00024379186661,.00024379186661,.00010043966462,1654344436e-14,663102846e-14,264145664e-14,104446533e-14,4.1068839e-7,1.6048059e-7,6.239367e-8,2.412797e-8,9.28797e-9,3.5585e-9,1.35774e-9,5.1587e-10],i=[Jmat.Complex(.37090658903229,1.33682167078891),Jmat.Complex(.01830048268799,.06961107694975),Jmat.Complex(-.0422210796016,.02429633404907),Jmat.Complex(-.01585164381085,-.01478953595879),Jmat.Complex(.00264738081895,-.0065755813052),Jmat.Complex(.00182759574799,-.00025319516391),Jmat.Complex(.0003656299477,.0002824651581),Jmat.Complex(2689538943e-14,.00014180498091),Jmat.Complex(-3139436775e-14,3583704949e-14),Jmat.Complex(-1376358453e-14,-183512708e-14),Jmat.Complex(-18029098e-13,-314787679e-14),Jmat.Complex(2.639887e-7,-9.2613311e-7),Jmat.Complex(2.4961828e-7,-1.3664223e-7),Jmat.Complex(6.37479e-9,2.270476e-8),Jmat.Complex(-3.41142e-9,5.12289e-9),Jmat.Complex(-1.62203e-9,3.1619e-10),Jmat.Complex(-3.8743e-10,-2.7282e-10),Jmat.Complex(-1.201e-11,-1.344e-10),Jmat.Complex(2.57e-11,-2.543e-11),Jmat.Complex(9.35e-12,4.5e-13),Jmat.Complex(1.7e-12,1.86e-12),Jmat.Complex(-5e-14,7.1e-13),Jmat.Complex(-1.6e-13,1.2e-13),Jmat.Complex(-5e-14,-1e-14),Jmat.Complex(-1e-14,-1e-14)],o=[Jmat.Complex(.31813150520476413,1.3372357014306895),Jmat.Complex(1),Jmat.Complex(-.15131489715565175,-.2967488367322413),Jmat.Complex(-.03697630940906762,.09873054431149697),Jmat.Complex(.02581159797314014,-.017386962126530753),Jmat.Complex(-.0079444196,.00057925018)],l=function(t){var a=Jmat.Complex(1.077961437528,-.94654096394782),r=Jmat.Complex(.12233176,-.02366108),e=o[0],m=Jmat.Complex.exp(e.mul(t).add(a)),n=r.mul(m).mul(Jmat.Complex.exp(t.mul(Jmat.Complex.newi(2*Math.PI))));return Jmat.Complex.powerSeries(o,o.length,Jmat.Complex.ZERO,m).add(n)},u=Jmat.Complex(Jmat.Real.fracn(a.re),a.im);return m=a.im<-4.5?l(u.conj()).conj():a.im<-1.5?Jmat.Complex.powerSeries(i,i.length,Jmat.Complex.newi(3),u.conj()).conj():a.im<1.5?Jmat.Complex.log(u.addr(2)).add(Jmat.Complex.powerSeries(n,n.length,Jmat.Complex.ZERO,u)):a.im<4.5?Jmat.Complex.powerSeries(i,i.length,Jmat.Complex.newi(3),u):l(u),a.re>0?e(t,m,Math.floor(a.re),!1):e(t,m,-Math.ceil(a.re),!0)}return Jmat.Complex(NaN)},Jmat.Complex.erf_inv=function(t){if(0!=t.im&&Math.abs(t.re)>1){var a=function(t){return Jmat.Complex.TWO.divr(Jmat.Real.SQRTPI).mul(Jmat.Complex.exp(t.mul(t).neg()))},r=t.re<0;r&&(t=t.neg());var e=Jmat.Complex.sqrt(Jmat.Complex.log(t.mulr(Jmat.Real.SQRTPI).mul(Jmat.Complex.ONE.sub(t))).neg()),m=Jmat.Complex.finvert_newton(t,Jmat.Complex.erf,a,e);return r&&(m=m.neg()),m}if(0==t.im){if(0==t.re)return Jmat.Complex(0);if(1==t.re)return Jmat.Complex(1/0);if(-1==t.re)return Jmat.Complex(-(1/0))}var n=[.886226899,-1.645349621,.914624893,-.140543331],i=[1,-2.118377725,1.442710462,-.329097515,.012229801],o=[-1.970840454,-1.62490649,3.429567803,1.641345311],l=[1,3.5438892,1.6370678],u=t.abs();if(.7>=u){var J=t.mul(t),s=t.mul(J.mulr(n[3]).addr(n[2]).mul(J).addr(n[1]).mul(J).addr(n[0]));s=s.div(J.mulr(i[4]).addr(i[3]).mul(J).addr(i[2]).mul(J).addr(i[1]).mul(J).addr(i[0]))}else{var p=Jmat.Complex.sqrt(Jmat.Complex.log(Jmat.Complex.ONE.sub(t).divr(2)).neg()),s=p.mulr(o[3]).addr(o[2]).mul(p).addr(o[1]).mul(p).addr(o[0]);s=s.div(p.mulr(l[2]).addr(l[1]).mul(p).addr(l[0]))}return s},Jmat.Complex.erfc_inv=function(t){return Jmat.Complex.erf_inv(Jmat.Complex.ONE.sub(t))},Jmat.Complex.minkowski=function(t){return Jmat.Complex(Jmat.Real.minkowski(t.re),Jmat.Real.minkowski(t.im))},Jmat.Complex.rootfind_bisection=function(t,a,r,e,m){var n=void 0==e?256:e,i=void 0==m?1e-9:m,o=t.re,l=a.re;if(o>l){var u=o;o=l,l=u}if(l-o==1/0)return Jmat.Complex(NaN);for(var J=NaN,s=NaN,p=0,x=0,f=0;n>f;f++){var c=o+f*(l-o)/n,C=r(Jmat.Complex(c)).re;if(Jmat.Real.near(C,0,i))return Jmat.Complex(c);C>p&&(J=c,p=C),x>C&&(s=c,x=C)}if(s!=s||J!=J)return Jmat.Complex(NaN);for(;;){var c=(s+J)/2,C=r(Jmat.Complex(c)).re;if(Jmat.Real.near(C,0,i))return Jmat.Complex(c);if(C>0&&(J=c),0>C&&(s=c),Jmat.Real.near(s,J,i))return Jmat.Complex(NaN)}},Jmat.Complex.rootfind_secant=function(t,a,r,e,m){e=e||30,m=m||1e-15;for(var n=r(t),i=r(a),o=0;e>o;o++){var l=t.mul(i).sub(a.mul(n)).div(i.sub(n));Jmat.Complex.isInfOrNaN(l);var u=r(l);if(Jmat.Real.near(u,0,m))return l;t=a,n=i,a=l,i=u}return a},Jmat.Complex.rootfind=function(t,a){a||(a={});var r=a.z0||Jmat.Complex.ZERO,e=a.maxit||30,m=void 0==a.prec?1e-9:a.prec;return a.real&&void 0!=a.z1?Jmat.Complex.rootfind_bisection(r,a.z1,t,e,m):a.df?Jmat.Complex.rootfind_newton(t,a.df,r,e):Jmat.Complex.rootfind_newton_noderiv(t,r,e)},Jmat.Complex.newtonStartValues_=[Jmat.Complex(0),Jmat.Complex(.1),Jmat.Complex(-.1),Jmat.Complex.newi(.1),Jmat.Complex.newi(-.1),Jmat.Complex(.1,.1),Jmat.Complex(.1,-.1),Jmat.Complex(-.1,.1),Jmat.Complex(-.1,-.1),Jmat.Complex(1),Jmat.Complex(-1),Jmat.Complex.newi(1),Jmat.Complex.newi(-1)],Jmat.Complex.newtonStartValue_=function(t){for(var a=Jmat.Complex.newtonStartValues_,r=1/0,e=Jmat.Complex(NaN),m=0;mo&&(r=o,e=n)}return e},Jmat.Complex.newtonStartValuesAround_=[Jmat.Complex(1),Jmat.Complex(-1),Jmat.Complex.newi(1),Jmat.Complex.newi(-1)],Jmat.Complex.newtonStartValueAround_=function(t,a,r){for(var e=Jmat.Complex.newtonStartValuesAround_,m=1/0,n=Jmat.Complex(NaN),i=0;iu&&(m=u,n=o)}return n},Jmat.Complex.rootfind_newton=function(t,a,r,e){r||(r=Jmat.Complex.ZERO),e||(e=30);for(var m=r,n=m,i=1/0,o=Jmat.Complex(NaN),l=0;e>l;l++){ -var u=t(m),J=Jmat.Complex.manhattan(u,Jmat.Complex.ZERO);if(Jmat.Real.near(J,0,1e-15))return m;i>J&&(i=J,o=m);var s=m.sub(u.div(a(m)));if(Jmat.Complex.isInfOrNaN(s)){var J=Jmat.Complex.manhattan(m,n);s=Jmat.Complex.newtonStartValueAround_(t,m,J?J:.1)}m=s,n=m}return o},Jmat.Complex.rootfind_newton_noderiv=function(t,a,r){return Jmat.Complex.rootfind_newton(t,function(a){return Jmat.Complex.differentiate_stencil5(a,t)},a,r)},Jmat.Complex.finvert_newton=function(t,a,r,e,m){return Jmat.Complex.rootfind_newton(function(r){return a(r).sub(t)},r,e,m)},Jmat.Complex.finvert_newton_noderiv=function(t,a,r,e){return Jmat.Complex.rootfind_newton_noderiv(function(r){return a(r).sub(t)},r,e)},Jmat.Real.integrate_simpson=function(t,a,r,e,m){for(var n=(a-t)/r,i=0,o=0,l=0;r>=l;l++){var u=t+(l-1)*n,J=t+l*n,s=e((u+J)/2),p=e(J);if(l>0&&(i+=(J-u)/6*(o+4*s+p)),o=p,m&&l%50==49&&m())return NaN}return i},Jmat.Real.integrate=function(t,a,r,e){return e||(e=30),Jmat.Real.integrate_simpson(t,a,e,r)},Jmat.Complex.integrate_simpson=function(t,a,r,e,m){for(var n,i,o=a.sub(t).divr(r),l=Jmat.Complex(0),u=null,J=0;r>=J;J++){a.eqr(1/0)?(n=i?i:t,i=i?i.mulr(2):t.addr(.1)):(n=t.add(o.mulr(J-1)),i=t.add(o.mulr(J)));var s=e(n.add(i).divr(2)),p=e(i);if(J>0){var x=i.sub(n).divr(6).mul(u.add(s.mulr(4)).add(p));l=l.add(x)}if(u=p,m&&J%50==49&&m())return Jmat.Complex(NaN)}return l},Jmat.Complex.integrate=function(t,a,r,e){return e||(e=30),Jmat.Complex.integrate_simpson(t,a,e,r)},Jmat.Complex.differentiate_newton_noderiv=function(t,a){var r=Math.max(.01,Math.abs(t.re))/1e3,e=a(t.addr(r/2)),m=a(t.subr(r/2));return e.sub(m).divr(r)},Jmat.Complex.differentiate_stencil5=function(t,a){var r=Math.max(.01,Math.abs(t.re))/1e3,e=a(t.addr(2*r)).neg(),m=a(t.addr(r)).mulr(8),n=a(t.subr(r)).mulr(-8),i=a(t.subr(2*r));return e.add(m).add(n).add(i).divr(12*r)},Jmat.Complex.differentiate2nd_stencil5=function(t,a){var r=Jmat.Complex(Math.max(.01,Math.abs(t.re))/1e3),e=a(t.add(r.mulr(2))).neg(),m=a(t.add(r)).mulr(16),n=a(t).mulr(-30),i=a(t.sub(r)).mulr(16),o=a(t.sub(r.mulr(2))).neg();return e.add(m).add(n).add(i).add(o).div(r.mul(r).mulr(12))},Jmat.Complex.differentiate=function(t,a){return Jmat.Complex.differentiate_stencil5(t,a)},Jmat.Complex.doSummation=function(t,a,r,e,m){if(0==r)return Jmat.Complex(NaN);if(0>r)return Jmat.Complex(NaN);if(!Jmat.Complex.isReal(t)||!Jmat.Complex.isReal(a))return Jmat.Complex(NaN);for(var n=t.re,o=a.re,l=Jmat.Complex(0),u=n;o+r/4>=u;u+=r){var J=e(Jmat.Complex(u));if(l=l.add(J),m&&i%50==49&&m())return Jmat.Complex(NaN)}return l},Jmat.Complex.doProduct=function(t,a,r,e,m){if(0==r)return Jmat.Complex(NaN);if(0>r)return Jmat.Complex(NaN);if(!Jmat.Complex.isReal(t)||!Jmat.Complex.isReal(a))return Jmat.Complex(NaN);for(var n=t.re,o=a.re,l=Jmat.Complex.ONE,u=n;o+r/4>=u;u+=r){var J=e(Jmat.Complex(u));if(l=l.mul(J),m&&i%50==49&&m())return Jmat.Complex(NaN)}return l},Jmat.Complex.powerSeries=function(t,a,r,e){for(var m=void 0==t[0].re,n=Jmat.Complex.ZERO,i=Jmat.Complex.ONE,o=0;a>o;o++)n=m?n.add(i.mulr(t[o])):n.add(i.mul(t[o])),i=i.mul(e.sub(r));return n},Jmat.Complex.pdf_uniform=function(t,a,r){return t.re>=a.re&&t.re<=r.re?r.sub(a).inv():Jmat.Complex(0)},Jmat.Complex.cdf_uniform=function(t,a,r){return t.re=a.re&&e.re<=r.re?e:Jmat.Complex(NaN)},Jmat.Complex.pdf_standardnormal=function(t){return Jmat.Complex.exp(t.mul(t).mulr(-.5)).mul(Jmat.Complex.INVSQRT2PI)},Jmat.Complex.cdf_standardnormal=function(t){return Jmat.Complex.erf(t.div(Jmat.Complex.SQRT2)).addr(1).mulr(.5)},Jmat.Complex.qf_standardnormal=function(t){return Jmat.Complex.erf_inv(t.mulr(2).subr(1)).mul(Jmat.Complex.SQRT2)},Jmat.Complex.pdf_normal=function(t,a,r){var e=Jmat.Complex.INVSQRT2PI.div(r),m=t.sub(a).mul(t.sub(a)).div(r.mul(r).mulr(2));return e.mul(Jmat.Complex.exp(m.neg()))},Jmat.Complex.cdf_normal=function(t,a,r){var e=t.sub(a).divr(r.abs()).div(Jmat.Complex.SQRT2);return Jmat.Complex.erf(e).addr(1).mulr(.5)},Jmat.Complex.qf_normal=function(t,a,r){return Jmat.Complex.exp(a.add(r.mul(Jmat.Complex.qf_standardnormal(t))))},Jmat.Complex.pdf_lognormal=function(t,a,r){var e=Jmat.Complex.INVSQRT2PI.div(r).div(t),m=Jmat.Complex.log(t).sub(a);return e.mul(Jmat.Complex.exp(m.mul(m).div(r.mul(r).mulr(2)).neg()))},Jmat.Complex.cdf_lognormal=function(t,a,r){var e=Jmat.Complex.log(t).sub(a).div(Jmat.Complex.SQRT2.mul(r));return Jmat.Complex.erf(e).addr(1).mulr(.5)},Jmat.Complex.qf_lognormal=function(t,a,r){var e=Jmat.Complex.log(t).sub(a).div(Jmat.Complex.SQRT2.mul(r));return Jmat.Complex.erf(e).addr(1).mulr(.5)},Jmat.Complex.pdf_cauchy=function(t,a,r){var e=t.sub(a),m=e.mul(e).add(r.mul(r)).mulr(Math.PI);return r.div(m)},Jmat.Complex.cdf_cauchy=function(t,a,r){return Jmat.Complex.atan(t.sub(a).div(r)).divr(Math.PI).addr(.5)},Jmat.Complex.qf_cauchy=function(t,a,r){return a.add(r.mul(Jmat.Complex.tan(t.subr(.5).divr(Math.PI))))},Jmat.Complex.pdf_studentt_cache_=[],Jmat.Complex.pdf_studentt_cachefun_=function(t){var a=t.inc().divr(2);return Jmat.Complex.gammaDiv_(a,t.divr(2))},Jmat.Complex.pdf_studentt=function(t,a){if(a.eqr(1))return t.mul(t).addr(1).mulr(Math.PI).inv();if(a.eqr(2))return t.mul(t).addr(2).powr(1.5).inv();if(a.eqr(3)){var r=10.392304845413264,e=t.mul(t).addr(3);return Jmat.Complex(r).div(e.mul(e).mulr(Math.PI))}if(a.eqr(1/0))return Jmat.Complex.pdf_standardnormal(t);var m=a.inc().divr(2),n=Jmat.Complex.calcCache_(a,Jmat.Complex.pdf_studentt_cachefun_,Jmat.Complex.pdf_studentt_cache_),i=Jmat.Complex.sqrt(Jmat.Complex.PI.mul(a)).inv(),o=n.mul(i);Jmat.Complex.isNaN(o)&&a.re>100&&(o=Jmat.Complex(Jmat.Complex.INVSQRT2PI));var l=t.mul(t).div(a).inc();return o.mul(l.pow(m.neg()))},Jmat.Complex.cdf_studentt=function(t,a){if(a.eqr(1))return Jmat.Complex.atan(t).divr(Math.PI).addr(.5);if(a.eqr(2))return t.div(Jmat.Complex.sqrt(t.mul(t).addr(2)).mulr(2)).addr(.5);if(a.eqr(1/0))return Jmat.Complex.cdf_standardnormal(t);if(t.eqr(0))return Jmat.Complex(.5);var r=Jmat.Complex.calcCache_(a,Jmat.Complex.pdf_studentt_cachefun_,Jmat.Complex.pdf_studentt_cache_),e=Jmat.Complex.incbeta(t.mul(t).div(a).neg(),Jmat.Complex(.5),Jmat.Complex.ONE.sub(a).mulr(.5)),m=Jmat.Complex.I.mul(t).mul(e),n=Jmat.Complex(t.abs()).mulr(2).mul(Jmat.Complex.SQRTPI);return Jmat.Complex(.5).sub(r.mul(m).div(n))},Jmat.Complex.qf_studentt=function(t,a){if(a.eqr(1))return Jmat.Complex.tan(Jmat.Complex.PI.mul(t.subr(.5)));if(a.eqr(2)){var r=t.mulr(4).mul(Jmat.Complex.ONE.sub(t));return t.subr(.5).mulr(2).mul(Jmat.Complex.sqrt(Jmat.Complex(2).div(r)))}if(a.eqr(4)&&Jmat.Complex.isReal(t)){var r=t.mulr(4).mul(Jmat.Complex.ONE.sub(t)),e=Jmat.Complex.sqrt(r),m=Jmat.Complex.cos(Jmat.Complex(1/3).mul(Jmat.Complex.acos(e))).div(e);return Jmat.Complex.sign(t.subr(.5)).mulr(2).mul(Jmat.Complex.sqrt(m.dec()))}if(a.eqr(1/0))return Jmat.Complex.qf_standardnormal(t);if(Jmat.Real.near(t.im,0,1e-15)&&(t=Jmat.Complex(t.re)),Jmat.Real.near(a.im,0,1e-15)&&(a=Jmat.Complex(a.re)),Jmat.Complex.isPositive(a)&&Jmat.Complex.isPositive(t)&&t.re<1){if(t.re<.5){var n=Jmat.Complex.beta_i_inv(t.mulr(2),a.divr(2),Jmat.Complex(.5));return Jmat.Complex.sqrt(a.mul(n.inv().subr(1))).neg()}var n=Jmat.Complex.beta_i_inv(Jmat.Complex.ONE.sub(t).mulr(2),a.divr(2),Jmat.Complex(.5));return Jmat.Complex.sqrt(a.mul(n.inv().subr(1)))}return Jmat.Complex(NaN)},Jmat.Complex.pdf_chi_square=function(t,a){var r=a.divr(2),e=r.eqr(1)?Jmat.Complex(2):Jmat.Complex(2).pow(r),m=Jmat.Complex.isNegativeInt(r)?Jmat.Complex(1/0):Jmat.Complex.gamma(r),n=t.pow(r.dec()).mul(Jmat.Complex.exp(t.divr(-2)));return e.mul(m).inv().mul(n)},Jmat.Complex.cdf_chi_square=function(t,a){return Jmat.Complex.gamma_p(a.divr(2),t.divr(2))},Jmat.Complex.qf_chi_square=function(t,a){return Jmat.Complex.gamma_p_inv(a.divr(2),t).mulr(2)},Jmat.Complex.pdf_logistic=function(t,a,r){var e=Jmat.Complex.exp(t.sub(a).div(r).neg()),m=e.inc();return e.div(r.mul(m).mul(m))},Jmat.Complex.cdf_logistic=function(t,a,r){return Jmat.Complex.tanh(t.sub(a).div(r).divr(2)).mulr(.5).addr(.5)},Jmat.Complex.qf_logistic=function(t,a,r){var e=t.div(Jmat.Complex.ONE.sub(t));return a.add(r.mul(Jmat.Complex.log(e)))},Jmat.Complex.pdf_gamma_cache_=[],Jmat.Complex.pdf_gamma=function(t,a,r){var e=t.pow(a.dec()),m=Jmat.Complex.exp(t.div(r).neg()),n=r.pow(a),i=Jmat.Complex.calcCache_(a,Jmat.Complex.gamma,Jmat.Complex.pdf_gamma_cache_);return e.mul(m).div(n).div(i)},Jmat.Complex.cdf_gamma=function(t,a,r){return Jmat.Complex.gamma_p(a,t.div(r))},Jmat.Complex.qf_gamma=function(t,a,r){return Jmat.Complex.gamma_p_inv(a,t).mul(r)},Jmat.Complex.pdf_beta=function(t,a,r){var e=t.pow(a.dec()),m=t.rsub(1).pow(r.dec()),n=Jmat.Complex.beta(a,r);return e.mul(m).div(n)},Jmat.Complex.cdf_beta=function(t,a,r){return Jmat.Complex.beta_i(t,a,r)},Jmat.Complex.qf_beta=function(t,a,r){return Jmat.Complex.beta_i_inv(t,a,r)},Jmat.Complex.pdf_fisher=function(t,a,r){var e=a.mul(t).pow(a).mul(r.pow(r)),m=a.mul(t).add(r).pow(a.add(r)),n=t.mul(Jmat.Complex.beta(a.divr(2),r.divr(2)));return Jmat.Complex.sqrt(e.div(m)).div(n)},Jmat.Complex.cdf_fisher=function(t,a,r){var e=a.mul(t).div(a.mul(t).add(r));return Jmat.Complex.beta_i(e,a.divr(2),r.divr(2))},Jmat.Complex.qf_fisher=function(t,a,r){var e=Jmat.Complex.beta_i_inv(t,a.divr(2),r.divr(2)),m=Jmat.Complex.ONE.sub(e);return r.mul(e).div(a.mul(m))},Jmat.Complex.pdf_weibull=function(t,a,r){var e=r.div(a),m=t.div(a).pow(r.dec()),n=t.div(a).pow(r).neg();return e.mul(m).mul(Jmat.Complex.exp(n))},Jmat.Complex.cdf_weibull=function(t,a,r){var e=t.div(a).pow(r).neg();return Jmat.Complex.ONE.sub(Jmat.Complex.exp(e))},Jmat.Complex.qf_weibull=function(t,a,r){var e=Jmat.Complex.ONE.sub(t),m=Jmat.Complex.log(e).neg().pow(r.inv());return a.mul(m)},Jmat.Complex.pdf_exponential=function(t,a){return t.re<0?Jmat.Complex(0):a.mul(Jmat.Complex.exp(t.mul(a).neg()))},Jmat.Complex.cdf_exponential=function(t,a){return t.re<0?Jmat.Complex(0):Jmat.Complex.ONE.sub(Jmat.Complex.exp(t.mul(a).neg()))},Jmat.Complex.qf_exponential=function(t,a){return Jmat.Complex.log(t.rsub(1)).neg().div(a)},Jmat.Complex.pdf_laplace=function(t,a,r){var e=Jmat.Complex.exp(Jmat.Complex(t.sub(a).abs()).neg().div(r));return r.mulr(2).inv().mul(e)},Jmat.Complex.cdf_laplace=function(t,a,r){var e=Jmat.Complex.exp(Jmat.Complex(t.sub(a).abs()).neg().div(r)),m=Jmat.Complex.sign(t.sub(a));return e.rsub(1).mul(m).mulr(.5).addr(.5)},Jmat.Complex.qf_laplace=function(t,a,r){var e=Jmat.Complex.log(Jmat.Complex(t.subr(.5).abs()).mulr(2).rsub(1)),m=Jmat.Complex.sign(t.subr(.5));return a.sub(r.mul(m).mul(e))},Jmat.Complex.pmf_bernoulli=function(t,a){return t.eqr(0)?a.rsub(1):t.eqr(1)?a:a.pow(t).mul(a.rsub(1).pow(t.rsub(1)))},Jmat.Complex.cdf_bernoulli=function(t,a){return t.re<0?Jmat.Complex.ZERO:t.re>=1?Jmat.Complex.ONE:a.rsub(1)},Jmat.Complex.qf_bernoulli=function(t,a){return t.re<1-a.re?Jmat.Complex.ZERO:Jmat.Complex.ONE},Jmat.Complex.pmf_binomial=function(t,a,r){var e=Jmat.Complex.binomial(a,t);return e.mul(r.pow(t)).mul(r.rsub(1).pow(a.sub(t)))},Jmat.Complex.cdf_binomial=function(t,a,r){return Jmat.Complex.beta_i(r,a.sub(t),t.addr(1))},Jmat.Complex.qf_binomial=function(t,a,r){if(r.eqr(0))return Jmat.Complex.ZERO;if(r.eqr(1))return a;var e=Jmat.Complex,m=Jmat.Complex.rootfind_bisection(e(0),a,function(e){return Jmat.Complex.cdf_binomial(e,a,r).sub(t)},100,1e-14);return Jmat.Complex.round(m)},Jmat.Complex.pmf_poisson=function(t,a){var r=a.pow(t),e=Jmat.Complex.factorial(t),m=Jmat.Complex.exp(a.neg());return r.mul(m).div(e)},Jmat.Complex.cdf_poisson=function(t,a){return Jmat.Complex.gamma_q(t.addr(1),a)},Jmat.Complex.qf_poisson=function(t,a){return Jmat.Complex.gamma_q_inva(a,t).subr(1)},Jmat.BigInt=function(t,a,r){return this instanceof Jmat.BigInt?(this.a=t||[],this.radix=a||Jmat.BigInt.ARRAYBASE_,this.minus=r||!1,void 0):Jmat.BigInt.make(t,a,r)},Jmat.BigInt.ARRAYBASE_=32768,Jmat.BigInt.ARRAYBASE_BITS_=15,Jmat.BigInt.STRINGBASE_=10,Jmat.BigInt.make=function(t,a,r){return void 0==t?new Jmat.Bigum(t,a,r):"number"==typeof t?Jmat.BigInt.fromInt(t,a):"string"==typeof t?Jmat.BigInt.parse(t,Jmat.BigInt.STRINGBASE_,a):void 0!=t.length?new Jmat.BigInt(t,a,r):void 0!=t.re?Jmat.BigInt.fromInt(t.re,a):void 0!=t.w?Jmat.BigInt.fromInt(t.w,a):a&&t.radix!=a?Jmat.BigInt.convertBase(t,a):Jmat.BigInt.copy(t)},Jmat.BigInt.cast=function(t,a,r){return void 0==t?new Jmat.BigInt(void 0,a,r):void 0==t.a||a&&t.radix!=a?t.radix&&a?Jmat.BigInt.convertBase(t,a):Jmat.BigInt(t,a,r):t},Jmat.BigInt.copy=function(t){return new Jmat.BigInt(t.a.slice(0),t.radix,t.minus)},Jmat.BigInt.parse=function(t,a,r){var e=a||Jmat.BigInt.STRINGBASE_,m=r||Jmat.BigInt.ARRAYBASE_,n=!1;"-"==t[0]&&(n=!0,t=t.substr(1));var i=Jmat.BigInt.stringToArray(t,m,e);return new Jmat.BigInt(i,m,n)},Jmat.BigInt.toString=function(t,a){if(!t||!t.a)return"invalid";var r=t.minus?"-":"";return r+Jmat.BigInt.arrayToString(t.a,t.radix,a)},Jmat.BigInt.prototype.toString=function(t){return Jmat.BigInt.toString(this,t)},Jmat.BigInt.stringToArray=function(t,a,r){for(var e=a||Jmat.BigInt.ARRAYBASE_,m=r||Jmat.BigInt.STRINGBASE_,n=[],i=0;i0;)a.push(1&t),t>>=1;return Jmat.BigInt.mirror_(a),new Jmat.BigInt(a,2)},Jmat.BigInt.convertArrayBase=function(t,a,r,e){if(t.length>8&&10==r&&Jmat.Real.isPOT(a)){var m=Jmat.BigInt.convertArrayBase(t,a,1e6);return Jmat.BigInt.convertArrayBase(m,1e6,10)}var n=Jmat.Real,i=Jmat.BigInt;if(a==r)return t;var o=[];if(t=i.maybecopystrip_(t),2147483648>=a&&2147483648>=r&&n.isPOT(a)&&n.isPOT(r)){for(var l=n.ilog2(a),u=n.ilog2(r),J=Math.ceil(t.length*l/u),s=0;J>s;s++)o[s]=0;if(r>a)for(var p=J-1,x=0,s=t.length-1;s>=0;s--)if(x+l>u){var m=u-x;0!=m&&(o[p]|=(t[s]&(1<>m,x=l-m}else o[p]|=t[s]<=0;s--)if(x+u>l){var m=l-x;o[s]=t[p]>>x,p--,o[s]|=(t[p]&f)<>x&f,x+=u;return i.stripInPlace_(o),o}var c=n.isPowerOf(a,r);if(c){for(var s=0;sd;d++)o.push(Math.floor(C/(c-d-1))%r);for(var d=c-1;d>=0;d--)o[s*c+d]=C%r,C=Math.floor(C/r)}return i.stripInPlace_(o),o}if(c=n.isPowerOf(r,a)){for(var v=Math.ceil(t.length/c),s=0;v>s;s++){var g=1;o[v-1-s]=0;for(var d=0;c>d;d++){var h=t.length-1-s*c-d;if(0>h)break;o[v-1-s]+=t[h]*g,g*=a}}return i.stripInPlace_(o),o}if(t.length>8){for(var I=n.idiv(t.length,2),_=[],b=[],s=0;I>s;s++)_[s]=t[s];for(var s=I;sp;p++)pp;p++)p>=a&&p=m&&pp;p++)i+=r*t[t.length-p-1],u[p]=(i+o)%o,i=Math.floor(i/o);if(i==1/0)throw"infinite overflow";for(;i>0;)u.push((i+o)%o),i=Math.floor(i/o);if(l){for(;u.length>s&&0==u[u.length-1];)u.length--;for(;u.length1&&0==u[u.length-1];)u.length--;return Jmat.BigInt.mirror_(u),u},Jmat.BigInt.intToArray=function(t,a){if(t>Jmat.Real.BIGGESTJSINT)throw"too large integer literal for JS";for(var r=a||Jmat.BigInt.ARRAYBASE_,e=[];t>0;)e.push(t%r),t=Math.floor(t/r);return 0==e.length&&(e=[0]),e.length>1&&Jmat.BigInt.mirror_(e),e},Jmat.BigInt.arrayToInt=function(t,a){for(var r=a||Jmat.BigInt.ARRAYBASE_,e=0,m=1,n=0;nt&&(e=!0,t=-t),new Jmat.BigInt(Jmat.BigInt.intToArray(t,r),r,e)},Jmat.BigInt.toInt=function(t){return Jmat.BigInt.arrayToInt(t.a,t.radix)*(t.minus?-1:1)},Jmat.BigInt.prototype.toInt=function(){return Jmat.BigInt.arrayToInt(this.a,this.radix)*(this.minus?-1:1)},Jmat.BigInt.ZERO=Jmat.BigInt(0),Jmat.BigInt.ONE=Jmat.BigInt(1),Jmat.BigInt.TWO=Jmat.BigInt(2),Jmat.BigInt.convertBase=function(t,a){return t.radix==a?t:new Jmat.BigInt(Jmat.BigInt.convertArrayBase(t.a,t.radix,a),a,t.minus)},Jmat.BigInt.cloneArray=function(t){return t.slice(0)},Jmat.BigInt.cloneArrayTo=function(t,a){a.length=t.length;for(var r=0;ra)return Jmat.BigInt.rshift_radix(t,-a);for(var r=Jmat.BigInt.copy(t),e=0;a>e;e++)r.a.push(0);return r},Jmat.BigInt.prototype.lshift_radix=function(t){return Jmat.BigInt.lshift_radix(this,t)},Jmat.BigInt.rshift_radix=function(t,a){if(0==a)return t;if(0>a)return Jmat.BigInt.lshift_radix(t,-a);var r=Jmat.BigInt.copy(t);return r.a=r.a.slice(0,-a),r},Jmat.BigInt.prototype.rshift_radix=function(t){return Jmat.BigInt.rshift_radix(this,t)},Jmat.BigInt.lshift=function(t,a){var r=Jmat.BigInt;if(0==a)return t;if(0>a)return r.rshift(t,-a);t=r.cast(t,Jmat.BigInt.ARRAYBASE_);var e=new r([],t.radix),m=Math.floor(a/r.ARRAYBASE_BITS_),n=a%r.ARRAYBASE_BITS_;if(0==n){for(var i=0;ii;i++)e.a.push(0)}else{e.a=[];for(var o=(1<0?t.a[i-1]:0,J=i>r.ARRAYBASE_BITS_&l,p=u<i;i++)e.a.push(0);0==e.a.length&&(e.a=[0])}return t.minus&&(e=e.neg()),e},Jmat.BigInt.prototype.lshift=function(t){return Jmat.BigInt.lshift(this,t)},Jmat.BigInt.rshift=function(t,a){var r=Jmat.BigInt;if(0==a)return t;if(0>a)return r.lshift(t,-a);t=r.cast(t,Jmat.BigInt.ARRAYBASE_);var e=new r([],t.radix),m=Math.floor(a/r.ARRAYBASE_BITS_),n=a%r.ARRAYBASE_BITS_;if(0==n){e.a=[];for(var i=0;i0?t.a[i-1]:0,J=i>n&o,p=J>>n&l;e.a.push(s|p)}0==e.a.length&&(e.a=[0])}return t.minus&&(e=e.neg()),e},Jmat.BigInt.prototype.rshift=function(t){return Jmat.BigInt.rshift(this,t)},Jmat.BigInt.bitand=function(t,a){var r=Jmat.BigInt;if(t=r.cast(t,r.ARRAYBASE_),a=r.cast(a,r.ARRAYBASE_),t.minus||a.minus){var e=Math.max(r.getNumBits(t),r.getNumBits(a));t.minus&&(t=t.addr(1).bitnot(e)),a.minus&&(a=a.addr(1).bitnot(e))}for(var m=new r([],r.ARRAYBASE_),n=Math.min(t.a.length,a.a.length),i=0;n>i;i++){var o=t.a[t.a.length-1-i]||0,l=a.a[a.a.length-1-i]||0;m.a[n-1-i]=o&l}return m},Jmat.BigInt.prototype.bitand=function(t){return Jmat.BigInt.bitand(this,t)},Jmat.BigInt.bitandr=function(t,a){var r=Jmat.BigInt;return t.minus?r.bitand(t,r(a)).toInt():(t=r.cast(t,ai;i++){var o=t.a[t.a.length-1-i]||0,l=a.a[a.a.length-1-i]||0;m.a[n-1-i]=o|l}return m},Jmat.BigInt.prototype.bitor=function(t){return Jmat.BigInt.bitor(this,t)},Jmat.BigInt.bitxor=function(t,a){var r=Jmat.BigInt;if(t=r.cast(t,r.ARRAYBASE_),a=r.cast(a,r.ARRAYBASE_),t.minus||a.minus){var e=Math.max(r.getNumBits(t),r.getNumBits(a));t.minus&&(t=t.addr(1).bitnot(e)),a.minus&&(a=a.addr(1).bitnot(e))}for(var m=new r([],r.ARRAYBASE_),n=Math.max(t.a.length,a.a.length),i=0;n>i;i++){var o=t.a[t.a.length-1-i]||0,l=a.a[a.a.length-1-i]||0;m.a[n-1-i]=o^l}return m},Jmat.BigInt.prototype.bitxor=function(t){return Jmat.BigInt.bitxor(this,t)},Jmat.BigInt.bitneg=function(t){var a=Jmat.BigInt;return t=a.cast(t,Jmat.BigInt.ARRAYBASE_),t=t.addr(1),t=t.neg()},Jmat.BigInt.prototype.bitneg=function(){return Jmat.BigInt.bitneg(this)},Jmat.BigInt.bitnot=function(t,a){if(0>=a)return t;var r=Jmat.BigInt;t=r.cast(t,r.ARRAYBASE_);var e,m=r.maybecopystrip_(t.a),n=r.ARRAYBASE_-1;if(void 0!=a){e=r(0);for(var i=a%r.ARRAYBASE_BITS_,o=Math.ceil(a/r.ARRAYBASE_BITS_),l=(1<u;u++){var J=m[m.length-o+u]||0;e.a[u]=J^n,0==u&&0!=i&&(e.a[u]&=l)}}else{if(!m.length)return t;var i=Jmat.Real.ilog2(m[0])+1;if(0==i){e=r(1);for(var u=0;ua);return r.a=Jmat.BigInt.baseloop_(t.a,0,a,[],0,1,0,r.radix,!1),r},Jmat.BigInt.prototype.mulr=function(t){var a=new Jmat.BigInt([],this.radix,this.minus!=0>t);return a.a=Jmat.BigInt.baseloop_(this.a,0,t,[],0,1,0,a.radix,!1),a},Jmat.BigInt.karatsuba_=function(t,a,r){if(t.length<=1||a.length<=1)return Jmat.BigInt.schoolmul_(t,a,r);if(t.length=m?[0]:a.slice(0,m),l=0>=m?a:a.slice(m,a.length);if(0>=m){var u=Jmat.BigInt.karatsuba_(n,l,r),J=Jmat.BigInt.karatsuba_(i,l,r);return Jmat.BigInt.baseloop_(u,t.length-e,1,J,0,1,0,r,!1)}var s=Jmat.BigInt.baseloop_(n,0,1,i,0,1,0,r,!1),p=Jmat.BigInt.baseloop_(o,0,1,l,0,1,0,r,!1),u=Jmat.BigInt.karatsuba_(n,o,r),J=Jmat.BigInt.karatsuba_(i,l,r),x=Jmat.BigInt.karatsuba_(s,p,r),f=Jmat.BigInt.baseloop_(u,0,1,J,0,1,0,r,!1),c=Jmat.BigInt.baseloop_(x,0,1,f,0,-1,0,r,!1),C=t.length-e,d=2*C,v=Jmat.BigInt.baseloop_(c,C,1,J,0,1,0,r,!1);return Jmat.BigInt.baseloop_(u,d,1,v,0,1,0,r,!1)},Jmat.BigInt.schoolmul_=function(t,a,r){if(1==t.length&&0==t[0])return[0];if(1==t.length&&1==t[0])return a;if(1==a.length&&0==a[0])return[0];if(1==a.length&&1==a[0])return t;if(t.lengtha?-1:1}t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix));for(var e=Math.max(this.a.length,t.a.length),m=0;e>m;m++){var n=m-e+this.a.length,i=m-e+t.a.length,o=this.a[n]||0,l=t.a[i]||0;if(l>o)return-1*this.getSign();if(o>l)return 1*this.getSign()}return 0},Jmat.BigInt.comparer=function(t,a){return t.comparer(a)},Jmat.BigInt.prototype.comparer=function(t){if(0>t!=this.minus){var a=this.sign(),r=Math.sign(t);return a==r?0:r>a?-1:1}var e=this.getSign();t=Math.abs(t);for(var m=Jmat.BigInt.getNumDigits(this),n=0,i=0;m>i&&t>=n;i++)n*=this.radix,n+=this.a[i];return(t>n?-1:n==t?0:1)*e},Jmat.BigInt.eq=function(t,a){return 0==Jmat.BigInt.compare(t,a)},Jmat.BigInt.prototype.eq=function(t){return 0==Jmat.BigInt.compare(this,t)},Jmat.BigInt.eqr=function(t,a){return 0==Jmat.BigInt.comparer(t,a)},Jmat.BigInt.prototype.eqr=function(t){return 0==Jmat.BigInt.comparer(this,t)},Jmat.BigInt.neq=function(t,a){return 0!=Jmat.BigInt.compare(t,a)},Jmat.BigInt.prototype.neq=function(t){return 0!=Jmat.BigInt.compare(this,t)},Jmat.BigInt.neqr=function(t,a){return 0!=Jmat.BigInt.comparer(t,a)},Jmat.BigInt.prototype.neqr=function(t){return 0!=Jmat.BigInt.comparer(this,t)},Jmat.BigInt.gt=function(t,a){return Jmat.BigInt.compare(t,a)>0},Jmat.BigInt.prototype.gt=function(t){return Jmat.BigInt.compare(this,t)>0},Jmat.BigInt.gtr=function(t,a){return Jmat.BigInt.comparer(t,a)>0},Jmat.BigInt.prototype.gtr=function(t){return Jmat.BigInt.comparer(this,t)>0},Jmat.BigInt.lt=function(t,a){return Jmat.BigInt.compare(t,a)<0},Jmat.BigInt.prototype.lt=function(t){return Jmat.BigInt.compare(this,t)<0},Jmat.BigInt.ltr=function(t,a){return Jmat.BigInt.comparer(t,a)<0},Jmat.BigInt.prototype.ltr=function(t){return Jmat.BigInt.comparer(this,t)<0},Jmat.BigInt.gte=function(t,a){return Jmat.BigInt.compare(t,a)>=0},Jmat.BigInt.prototype.gte=function(t){return Jmat.BigInt.compare(this,t)>=0},Jmat.BigInt.gter=function(t,a){return Jmat.BigInt.comparer(t,a)>=0},Jmat.BigInt.prototype.gter=function(t){return Jmat.BigInt.comparer(this,t)>=0},Jmat.BigInt.lte=function(t,a){return Jmat.BigInt.compare(t,a)<=0},Jmat.BigInt.prototype.lte=function(t){return Jmat.BigInt.compare(this,t)<=0},Jmat.BigInt.lter=function(t,a){return Jmat.BigInt.comparer(t,a)<=0},Jmat.BigInt.prototype.lter=function(t){return Jmat.BigInt.comparer(this,t)<=0},Jmat.BigInt.sqrt=function(t){var a=Jmat.BigInt;if(t.eqr(0))return a(0);if(t.minus)return void 0;var r=a([0],t.radix),e=Jmat.BigInt.copystrip_(t);1==e.a.length&&1==e.a[0]&&(r=a([1],t.radix)),e.a=e.a.slice(0,Math.ceil(e.a.length/2)+1),t.radix>16&&(e.a[0]=Math.min(e.a[0],Math.ceil(Math.sqrt(e.a[0]+1))));for(var m,n=a([1],t.radix);;){var i=r.add(e).divr(2),o=i.mul(i),l=a.compare(o,t);if(0==l){m=i;break}if(0>l?r=i:e=i,a.compare(e.sub(r),n)<=0){m=r;break}}return m},Jmat.BigInt.isOdd=function(t){return t.bitand(Jmat.BigInt.ONE).eqr(1)},Jmat.BigInt.isEven=function(t){return t.bitand(Jmat.BigInt.ONE).eqr(0)},Jmat.BigInt.root=function(t,a){var r=a.toInt();return 0>=r?void 0:r>Jmat.Real.BIGGESTJSINT?t.eqr(0)?B(0):B.isEven(a)&&t.minus?void 0:B(t.minus?-1:1):Jmat.BigInt.rootr(t,r)},Jmat.BigInt.rootr=function(t,a){var r=Jmat.BigInt;if(0>=a)return void 0;if(t.eqr(0))return r(0);if(1==a)return t;if(2==a)return r.sqrt(t);if(Jmat.Real.isEven(a)&&t.minus)return void 0;if(a>r.log2(t.abs()).toInt())return r(t.minus?-1:1);var e=r([0],t.radix),m=Jmat.BigInt.copystrip_(t);1==m.a.length&&1==m.a[0]&&(e=r([1],t.radix)),m.a=m.a.slice(0,Math.ceil(m.a.length/a)+1),t.radix>16&&(m.a[0]=Math.min(m.a[0],Math.ceil(Jmat.Real.root(m.a[0]+1,a))));for(var n,i=r([1],t.radix);;){var o=e.add(m).divr(2),l=r.powr(o,a),u=r.compare(l,t);if(0==u){n=o;break}if(0>u?e=o:m=o,r.compare(m.sub(e),i)<=0){n=e;break}}return n},Jmat.BigInt.perfectsquare=function(t){var a=Jmat.BigInt;if(t.minus)return null;var r=a.bitandr(t,15);if(0!=r&&1!=r&&4!=r&&9!=r)return null;var e=a.sqrt(t);return e.mul(e).eq(t)?e:null},Jmat.BigInt.perfectpow=function(t,a,r,e){var m=Jmat.BigInt,n=e?m.cast(e):void 0,i=r?m.cast(r):void 0;if(t.minus)return void 0;if(r&&e)return[i.pow(n),i,n];if(r){if(t.lter(1)&&a)return[i.mul(i),i,m(2)];var o="number"!=typeof r?r:i.toInt(),l=m.logr(t,o);a&&(l=l.addr(1));var u=i.pow(l);return[u,i,l]}if(e){var o="number"!=typeof e?e:n.toInt(),J=m.rootr(t,o);a&&(J=J.addr(1));var u=J.powr(o);return[u,J,n]}if(t.ltr(5)){var o=t.toInt();return a?0==o?[m(1),m(1),m(2)]:4==o?[m(8),m(2),m(3)]:[m(4),m(2),m(2)]:0==o?void 0:4==t?[m(4),m(2),m(2)]:[m(1),m(1),m(2)]}var l=m.log2(t).toInt();a&&l++;for(var s=t,p=0,x=m(0),f=m(0),c=2;l>=c;c++)if(c>5&&c%5==0)c++;else if(c>3&&c%3==0)c++;else{var J=m.rootr(t,c);J.eqr(2)&&(c=l),a&&(J=J.addr(1));var u=J.powr(c),C=t.sub(u).abs();if(C.lt(s)&&(s=C,p=c,x=J,f=u,C.eqr(0)))break;c>2&&c++}if(2==p||3==p||5==p){var d=Jmat.BigInt.perfectpow(x);d[0].eq(x)&&(x=d[1],p*=d[2].toInt())}return[f,x,m(p)]},Jmat.BigInt.mulmany_=function(t){if(0==t.length)return Jmat.BigInt.ONE;for(;t.length>1;){for(var a=Math.floor(t.length/2),r=[],e=0;a>e;e++)r.push(t[e].mul(t[t.length-e-1]));t.length%2==1&&r.push(t[a]),t=r}return t[0]},Jmat.BigInt.factorial=function(t){var a=Jmat.BigInt,r=t.toInt();if(r==1/0)return void 0;if(20>r)return a(Jmat.Real.factorial(r));for(var e=Jmat.Real.eratosthenes(r),m=[],n=0;n0;)l+=o,o=Math.floor(o/i);m[n]=a.powr(a(i),l)}return a.mulmany_(m)},Jmat.BigInt.primorial=function(t){var a=Jmat.BigInt,r=t.toInt();if(r==1/0)return void 0;var e=Jmat.Real.eratosthenes(r);return a.mulmany_(e)},Jmat.BigInt.nearestPrime=function(t){var a=Jmat.BigInt;if(t.lter(2))return a(2);if(t.lter(4))return a(3);var r=a.previousPrime(t),e=t.sub(r);return a.previousPrime(t.add(e).subr(1))},Jmat.BigInt.nextPrime=function(t){var a=Jmat.BigInt;if(t.ltr(2))return a(2);if(t.ltr(3))return a(3);var r=t.modr(6).toInt(),e=2;for(0==r||5==r?(t=t.addr(0==r?1:2),e=4):t=t.addr(5-r);;){if(a.isPrime(t))return t;t=t.addr(e),e^=6}},Jmat.BigInt.previousPrime=function(t){var a=Jmat.BigInt;if(t.lter(7))return t.lter(2)?void 0:a(t.lter(3)?2:t.lter(5)?3:5);var r=t.modr(6).toInt(),e=2;for(0==r||1==r?(t=t.subr(r+1),e=4):t=t.subr(r-1);;){if(a.isPrime(t))return t;t=t.subr(e),e^=6}},Jmat.BigInt.min=function(t,a){return t.lt(a)?t:a},Jmat.BigInt.max=function(t,a){return t.gt(a)?t:a},Jmat.BigInt.primeCache_=[],Jmat.BigInt.factorize=function(t){var a=Jmat.BigInt;if(t.eqr(0))return[a(0)];if(t.eqr(1))return[a(1)];for(var r=function(t){if(a.isPrime(t))return t;for(var e=Math.min(1e6,a.sqrt(t).toInt()),m=1,n=0;n>=a.primeCache_.length&&(a.primeCache_[n]=Jmat.Real.nextPrime(m)),m=a.primeCache_[n],n++,!(m!=m||m>e);)if(t.modr(m).eqr(0))return a(m);var i=a.perfectpow(t);return i[0].eq(t)&&i[1].lt(t)?r(i[1]):a(0)},e=[];;){var m=r(t);if(m.eqr(0))return e.push(a(0)),e;if(e.push(m),m.eqr(t))return e;t=t.div(m)}},Jmat.BigInt.logy=function(t,a){return Jmat.BigInt.logr(t,a.toInt())},Jmat.BigInt.logr=function(t,a){if(t.eqr(a))return Jmat.BigInt(1);if(t.minus||0>a)return void 0;if(t.eqr(0))return void 0;if(1==a)return t;if(2==a)return Jmat.BigInt.log2(t);var r=Jmat.BigInt.convertBase(t,a),e=Jmat.BigInt.fromInt(Jmat.BigInt.getNumDigits(r)-1,t.radix); -return e},Jmat.BigInt.log2=function(t){if(t.minus)return void 0;var a=Jmat.BigInt.getNumBits(t);return 0==a?void 0:Jmat.BigInt.fromInt(a-1)},Jmat.BigInt.log10=function(t){return Jmat.BigInt.logr(t,10)},Jmat.BigInt.rlog2=function(t){var a=Jmat.BigInt.getNumBits(t);return a>128?(t=Jmat.BigInt.rshift(t,a-128),Jmat.Real.log2(t.toInt())+a-128):Jmat.Real.log2(t.toInt())},Jmat.BigInt.rlog=function(t){return Jmat.BigInt.rlog2(t)*Math.LN2},Jmat.BigInt.rlog10=function(t){return Jmat.BigInt.rlog2(t)/3.321928094887362},Jmat.BigInt.div=function(t,a){return t.div(a)},Jmat.BigInt.prototype.div=function(t){return t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix)),Jmat.BigInt.divmod_(this,t)[0]},Jmat.BigInt.mod=function(t,a){return t.mod(a)},Jmat.BigInt.prototype.mod=function(t){return t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix)),Jmat.BigInt.divmod_(this,t)[1]},Jmat.BigInt.divmod=function(t,a){return t.divmod(a)},Jmat.BigInt.prototype.divmod=function(t){return t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix)),t.abs().ltr(65536)?Jmat.BigInt.divsmall_(this,t.toInt()):Jmat.BigInt.divmod_(this,t)},Jmat.BigInt.divr=function(t,a){return 0==a?void 0:1==a?t:-1==a?t.neg():t.abs().ltr(Math.abs(a))?Jmat.BigInt(0):t.eqr(a)?Jmat.BigInt(1):Math.abs(a)<65536?Jmat.BigInt.divsmall_(t,a)[0]:Jmat.BigInt.div(t,Jmat.BigInt(a))},Jmat.BigInt.prototype.divr=function(t){return Jmat.BigInt.divr(this,t)},Jmat.BigInt.half_=function(t){if(Jmat.Real.isPOT(t.radix)){var a=t.a[t.a.length-1]%2;return[Jmat.BigInt.rshift(t,1),Jmat.BigInt(a)]}for(var r=[],e=t.radix,m=0,n=0;n0||r.length>0)&&r.push(o)}return[new Jmat.BigInt(r,e,t.minus),0==m?Jmat.BigInt(0,e):Jmat.BigInt(1,e)]},Jmat.BigInt.divsmall_=function(t,a){if(a==t.radix)return[t.rshift_radix(t),Jmat.BigInt(0)];if(2==a)return Jmat.BigInt.half_(t);if(-2==a){var r=Jmat.BigInt.half_(t);return[r[0].neg(),r[1].neg()]}var e=t.minus,m=0>a,n=t.minus!=0>a;a=Math.abs(a);for(var i=[],o=t.radix,l=0,u=0;u0||i.length>0)&&i.push(s)}var p=Jmat.BigInt(l,o);return l&&(e&&m?p=p.neg():m?p=p.subr(a):e&&(p=p.subr(a).neg())),[new Jmat.BigInt(i,o,n),p]},Jmat.BigInt.modr=function(t,a){return 0==a?void 0:1==a||-1==a?Jmat.BigInt(0):Math.abs(a)>=1;for(u=r-u,a=a.lshift(u),f=f.lshift(u),a.a.splice(0,0,0),e=Math.max(m,f.a.length);f.a.length=m;n--){var d=f.a.length-1,v=c.a.length-1,g=a.a.length-1;for(f.a[d-n]==a.a[g-(m-1)]?c.a[v-(n-m)]=x:c.a[v-(n-m)]=Math.floor((f.a[d-n]*p+f.a[d-(n-1)])/a.a[g-(m-1)]);o=(m>1?a.a[g-(m-2)]:0)*c.a[v-(n-m)],l=o>>r,o&=x,i=l+c.a[v-(n-m)]*a.a[g-(m-1)],l=i>>r,i&=x,l==f.a[d-n]?i==f.a[d-(n-1)]?o>(n>1?f.a[d-(n-2)]:0):i>f.a[d-(n-1)]:l>f.a[d-n];)c.a[v-(n-m)]--;var h=a.lshift_radix(n-m),I=h.mulr(c.a[v-(n-m)]);f.lt(I)?(f.a=Jmat.BigInt.baseloop_(f.a,0,1,h.a,0,1,0,p,!0),f.a=Jmat.BigInt.baseloop_(f.a,0,1,I.a,0,-1,0,p,!0),c.a[v-(n-m)]--):f.a=Jmat.BigInt.baseloop_(f.a,0,1,I.a,0,-1,0,p,!0)}return f=f.rshift(u),[c,f]},Jmat.BigInt.divmod_=function(t,a,r){var e=Jmat.BigInt;if(a.eqr(0))return void 0;if(a.eqr(1))return[t,e(0)];if(a.eqr(-1))return[t.neg(),e(0)];if(a.abs().ltr(65536))return Jmat.BigInt.divsmall_(t,a.toInt());if(a.abs().gt(t.abs()))return[e(0),t];if(a.eq(t))return[e(1),e(0)];var m=t.minus!=a.minus;t=t.abs(),a=a.abs(),r||(t=e.cast(t,e.ARRAYBASE_),a=e.cast(a,e.ARRAYBASE_));var n=e.leemondiv_(t,a,r||e.ARRAYBASE_BITS_),i=n[0],o=n[1];return i=i.strip(),o=o.strip(),m&&(i=i.neg(),o=o.add(a),o.minus&&o.eqr(0)&&(o.minus=!1)),[i,o]},Jmat.BigInt.pow=function(t,a){var r=a;a=Jmat.BigInt.cast(a,2);var e=t.radix;if(a.minus)return Jmat.BigInt(0,e);var m=!1;t.minus&&a.modr(2).eqr(1)&&(m=!0),t=t.abs();for(var n=Jmat.BigInt.maybecopystrip_(a.a,a!=r),i=Jmat.BigInt(1,e),o=t,l=n.length,u=0;l>u;u++)0==n[u]?(o=i.mul(o),i=i.mul(i)):(i=i.mul(o),o=o.mul(o));return m&&(i=i.neg()),i},Jmat.BigInt.prototype.pow=function(t){return Jmat.BigInt.pow(this,t)},Jmat.BigInt.powr=function(t,a){return Jmat.BigInt.pow(t,Jmat.BigInt.fromInt(a))},Jmat.BigInt.prototype.powr=function(t){return Jmat.BigInt.pow(this,Jmat.BigInt.fromInt(t))},Jmat.BigInt.gcd=function(t,a){var r=Jmat.BigInt;for(t=t.abs(),a=a.abs();;){if(a.eqr(0))return t;var e=r.mod(t,a);t=a,a=e}},Jmat.BigInt.egcd=function(t,a){for(var r,e=Jmat.BigInt,m=e(0),n=e(1),i=e(1),o=e(0),l=t,u=a;!l.eqr(0);){var J=u.div(l);r=l,l=u.sub(J.mul(l)),u=r,r=m,m=n.sub(J.mul(m)),n=r,r=i,i=o.sub(J.mul(i)),o=r}return(i.sign()!=t.sign()||m.sign()!=a.sign())&&(r=i,i=m,m=r,r=o,o=n,n=r,i.sign()!=t.sign()&&(i=i.neg()),m.sign()!=a.sign()&&(m=m.neg())),[u,n,o,i,m]},Jmat.BigInt.invmod=function(t,a){for(var r,e=Jmat.BigInt,m=a,n=e(1),i=e(0);;){if(t.eqr(1)){r=n;break}if(t.eqr(0)){r=e(0);break}var o=a.divmod(t);if(i=i.sub(n.mul(o[0])),a=o[1],a.eqr(1)){r=i;break}if(a.eqr(0)){r=e(0);break}o=t.divmod(a),n=n.sub(i.mul(o[0])),t=o[1]}return r.minus&&(r=m.add(r)),r},Jmat.BigInt.monred_=function(t,a,r,e,m){var n=t.mul(m).bitand(r),i=t.add(n.mul(e)).rshift(a);return i.gte(e)&&(i=i.sub(e)),i},Jmat.BigInt.genmonred_=function(t){var a=Jmat.BigInt.getNumBits(t),r=Jmat.BigInt.lshift(Jmat.BigInt(1),a),e=r.subr(1),m=Jmat.BigInt.invmod(t,r).neg().bitand(e),n=r.lshift(a).mod(t);return function(r,i){return i?Jmat.BigInt.monred_(r.mul(n),a,e,t,m):Jmat.BigInt.monred_(r,a,e,t,m)}},Jmat.BigInt.modpow=function(t,a,r,e){var m=Jmat.BigInt,n=a;a=m.cast(a,2);var i=m.maybecopystrip_(a.a,a!=n),o=m.ONE,l=t,u=i.length;if(r.modr(2).eqr(1)&&u>1){var J=e||m.genmonred_(r);o=J(o,!0),l=J(l,!0);for(var s=0;u>s;s++)0==i[s]?(l=o.mul(l),o=o.mul(o)):(o=o.mul(l),l=l.mul(l)),o=J(o),l=J(l);return o=J(o)}for(var s=0;u>s;s++)0==i[s]?(l=o.mul(l).mod(r),o=o.mul(o).mod(r)):(o=o.mul(l).mod(r),l=l.mul(l).mod(r));return o},Jmat.BigInt.randomBits=function(t){for(var a=Jmat.BigInt([],Jmat.BigInt.ARRAYBASE_),r=Math.ceil(t/Jmat.BigInt.ARRAYBASE_BITS_),e=0;r>e;e++)a.a[e]=Math.floor(Jmat.BigInt.ARRAYBASE_*Math.random());for(var m=t*(Jmat.BigInt.ARRAYBASE_BITS_-1)%Jmat.BigInt.ARRAYBASE_BITS_,n=Jmat.BigInt.ARRAYBASE_-1,e=0;m>e;e++)n=Math.floor(n/2);return n+1=r)a=t.ltr(1373653)?[2,3]:t.ltr(9080191)?[31,73]:t.ltr(4759123141)?[2,7,61]:t.ltr(1122004669633)?[2,13,23,1662803]:t.ltr(2152302898747)?[2,3,5,7,11]:t.ltr(3474749660383)?[2,3,5,7,11,13]:t.ltr(341550071728321)?[2,3,5,7,11,13,17]:t.ltr(0xd655278977733)?[2,2570940,880937,610386380,4130785767]:[2,325,9375,28178,450775,9780504,1795265022];else{a=[2,3];for(var e=0;18>e;e++)a.push(Jmat.BigInt.randomBits(r-1))}return a},Jmat.BigInt.isPrime=function(t){var a=Jmat.BigInt.isPrimeSimple(t);if(-1!=a)return!!a;var r=Jmat.BigInt.chooseMillerRabinBase_(t);return Jmat.BigInt.isPrimeMillerRabin(t,r)},Jmat.BigInt.d_=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],Jmat.BigInt.di_=function(t){var a=t.charCodeAt(0);return 57>=a?a-48:(a>90&&(a-=32),a-65+10)},Jmat.BigInt.mirror_=function(t){for(var a=0;a0){var m=Jmat.Real.ilog2(t.radix);e+=m*(r.length-1)}return e},Jmat.BigInt.getNumDigits=function(t){for(var a=0;a1;)t.shift()},Jmat.BigInt.copystrip_=function(t){for(var a=0,r=0;r1&&Jmat.BigInt.enrichFunction_(a,r-1,2));if(4==e)return Jmat.BigInt.enrichFunction_(a,r,1),void(r>1&&Jmat.BigInt.enrichFunction_(a,r-1,2));var m=2==e?Jmat.BigInt.prototype[a]:Jmat.BigInt[a],n=function(){for(var t=Jmat.BigInt.getFormat(arguments[0]),a=0;r>a;a++)arguments[a]=Jmat.BigInt.cast(arguments[a]);var n=m.apply(this,arguments);return 1==e?Jmat.BigInt.toFormat(n,t):n};2==m.length&&2==r&&1==e&&(n=function(t,a){var r=m(Jmat.BigInt.cast(t),Jmat.BigInt.cast(a));return Jmat.BigInt.toFormat(r,Jmat.BigInt.getFormat(t))}),1==m.length&&1==r&&2==e&&(n=function(t){return m.call(this,Jmat.BigInt.cast(t))}),2==e?t.prototype[a]=n:t[a]=n},Jmat.BigInt.enrichFunctions_=function(){var t=0,a=!0;if(a){Jmat.BigIntC=function(){return Jmat.BigInt.apply(this,arguments)};for(var r in Jmat.BigInt)Jmat.BigIntC[r]=Jmat.BigInt[r];for(var r in Jmat.BigInt.prototype)Jmat.BigIntC.prototype[r]=Jmat.BigInt.prototype[r]}var e=a?Jmat.BigIntC:Jmat.BigInt;Jmat.BigInt.enrichFunction_(e,"add",2,1+t),Jmat.BigInt.enrichFunction_(e,"addr",1,1+t),Jmat.BigInt.enrichFunction_(e,"sub",2,1+t),Jmat.BigInt.enrichFunction_(e,"subr",1,1+t),Jmat.BigInt.enrichFunction_(e,"mul",2,1+t),Jmat.BigInt.enrichFunction_(e,"mulr",1,1+t),Jmat.BigInt.enrichFunction_(e,"div",2,1+t),Jmat.BigInt.enrichFunction_(e,"divr",1,1+t),Jmat.BigInt.enrichFunction_(e,"mod",2,1+t),Jmat.BigInt.enrichFunction_(e,"modr",1,1+t),Jmat.BigInt.enrichFunction_(e,"divmod",2,0+t),Jmat.BigInt.enrichFunction_(e,"lshift",1,1+t),Jmat.BigInt.enrichFunction_(e,"rshift",1,1+t),Jmat.BigInt.enrichFunction_(e,"bitand",2,1+t),Jmat.BigInt.enrichFunction_(e,"bitor",2,1+t),Jmat.BigInt.enrichFunction_(e,"bitxor",2,1+t),Jmat.BigInt.enrichFunction_(e,"bitneg",1,1+t),Jmat.BigInt.enrichFunction_(e,"bitnot",1,1+t),Jmat.BigInt.enrichFunction_(e,"abs",1,1+t),Jmat.BigInt.enrichFunction_(e,"neg",1,1+t),Jmat.BigInt.enrichFunction_(e,"sign",1,0),Jmat.BigInt.enrichFunction_(e,"getSign",1,0),Jmat.BigInt.enrichFunction_(e,"nonZero",1,0),Jmat.BigInt.enrichFunction_(e,"compare",2,0+t),Jmat.BigInt.enrichFunction_(e,"comparer",1,0+t),Jmat.BigInt.enrichFunction_(e,"sqrt",1,1),Jmat.BigInt.enrichFunction_(e,"root",2,1),Jmat.BigInt.enrichFunction_(e,"rootr",1,1),Jmat.BigInt.enrichFunction_(e,"logy",2,1),Jmat.BigInt.enrichFunction_(e,"logr",1,1),Jmat.BigInt.enrichFunction_(e,"log2",1,1),Jmat.BigInt.enrichFunction_(e,"log10",1,1),Jmat.BigInt.enrichFunction_(e,"rlog2",1,0),Jmat.BigInt.enrichFunction_(e,"rlog",1,0),Jmat.BigInt.enrichFunction_(e,"rlog10",1,0),Jmat.BigInt.enrichFunction_(e,"pow",2,1+t),Jmat.BigInt.enrichFunction_(e,"powr",1,1+t),Jmat.BigInt.enrichFunction_(e,"gcd",2,1),Jmat.BigInt.enrichFunction_(e,"egcd",2,0),Jmat.BigInt.enrichFunction_(e,"invmod",2,1),Jmat.BigInt.enrichFunction_(e,"modpow",3,1),Jmat.BigInt.enrichFunction_(e,"isPrimeSimple",1,0),Jmat.BigInt.enrichFunction_(e,"isPrimeMillerRabin",1,0),Jmat.BigInt.enrichFunction_(e,"isPrime",1,0),Jmat.BigInt.enrichFunction_(e,"perfectpow",1,0),Jmat.BigInt.enrichFunction_(e,"nextPrime",1,1),Jmat.BigInt.enrichFunction_(e,"factorize",1,0),Jmat.BigInt.enrichFunction_(e,"factorial",1,1),Jmat.BigInt.enrichFunction_(e,"primorial",1,1)},Jmat.BigInt.enrichFunctions_(),/* +var u=t(m),J=Jmat.Complex.manhattan(u,Jmat.Complex.ZERO);if(Jmat.Real.near(J,0,1e-15))return m;i>J&&(i=J,o=m);var s=m.sub(u.div(a(m)));if(Jmat.Complex.isInfOrNaN(s)){var J=Jmat.Complex.manhattan(m,n);s=Jmat.Complex.newtonStartValueAround_(t,m,J?J:.1)}m=s,n=m}return o},Jmat.Complex.rootfind_newton_noderiv=function(t,a,r){return Jmat.Complex.rootfind_newton(t,function(a){return Jmat.Complex.differentiate_stencil5(a,t)},a,r)},Jmat.Complex.finvert_newton=function(t,a,r,e,m){return Jmat.Complex.rootfind_newton(function(r){return a(r).sub(t)},r,e,m)},Jmat.Complex.finvert_newton_noderiv=function(t,a,r,e){return Jmat.Complex.rootfind_newton_noderiv(function(r){return a(r).sub(t)},r,e)},Jmat.Real.integrate_simpson=function(t,a,r,e,m){for(var n=(a-t)/r,i=0,o=0,l=0;r>=l;l++){var u=t+(l-1)*n,J=t+l*n,s=e((u+J)/2),p=e(J);if(l>0&&(i+=(J-u)/6*(o+4*s+p)),o=p,m&&l%50==49&&m())return NaN}return i},Jmat.Real.integrate=function(t,a,r,e){return e||(e=30),Jmat.Real.integrate_simpson(t,a,e,r)},Jmat.Complex.integrate_simpson=function(t,a,r,e,m){for(var n,i,o=a.sub(t).divr(r),l=Jmat.Complex(0),u=null,J=0;r>=J;J++){a.eqr(1/0)?(n=i?i:t,i=i?i.mulr(2):t.addr(.1)):(n=t.add(o.mulr(J-1)),i=t.add(o.mulr(J)));var s=e(n.add(i).divr(2)),p=e(i);if(J>0){var x=i.sub(n).divr(6).mul(u.add(s.mulr(4)).add(p));l=l.add(x)}if(u=p,m&&J%50==49&&m())return Jmat.Complex(NaN)}return l},Jmat.Complex.integrate=function(t,a,r,e){return e||(e=30),Jmat.Complex.integrate_simpson(t,a,e,r)},Jmat.Complex.differentiate_newton_noderiv=function(t,a){var r=Math.max(.01,Math.abs(t.re))/1e3,e=a(t.addr(r/2)),m=a(t.subr(r/2));return e.sub(m).divr(r)},Jmat.Complex.differentiate_stencil5=function(t,a){var r=Math.max(.01,Math.abs(t.re))/1e3,e=a(t.addr(2*r)).neg(),m=a(t.addr(r)).mulr(8),n=a(t.subr(r)).mulr(-8),i=a(t.subr(2*r));return e.add(m).add(n).add(i).divr(12*r)},Jmat.Complex.differentiate2nd_stencil5=function(t,a){var r=Jmat.Complex(Math.max(.01,Math.abs(t.re))/1e3),e=a(t.add(r.mulr(2))).neg(),m=a(t.add(r)).mulr(16),n=a(t).mulr(-30),i=a(t.sub(r)).mulr(16),o=a(t.sub(r.mulr(2))).neg();return e.add(m).add(n).add(i).add(o).div(r.mul(r).mulr(12))},Jmat.Complex.differentiate=function(t,a){return Jmat.Complex.differentiate_stencil5(t,a)},Jmat.Complex.doSummation=function(t,a,r,e,m){if(0==r)return Jmat.Complex(NaN);if(0>r)return Jmat.Complex(NaN);if(!Jmat.Complex.isReal(t)||!Jmat.Complex.isReal(a))return Jmat.Complex(NaN);for(var n=t.re,o=a.re,l=Jmat.Complex(0),u=n;o+r/4>=u;u+=r){var J=e(Jmat.Complex(u));if(l=l.add(J),m&&i%50==49&&m())return Jmat.Complex(NaN)}return l},Jmat.Complex.doProduct=function(t,a,r,e,m){if(0==r)return Jmat.Complex(NaN);if(0>r)return Jmat.Complex(NaN);if(!Jmat.Complex.isReal(t)||!Jmat.Complex.isReal(a))return Jmat.Complex(NaN);for(var n=t.re,o=a.re,l=Jmat.Complex.ONE,u=n;o+r/4>=u;u+=r){var J=e(Jmat.Complex(u));if(l=l.mul(J),m&&i%50==49&&m())return Jmat.Complex(NaN)}return l},Jmat.Complex.powerSeries=function(t,a,r,e){for(var m=void 0==t[0].re,n=Jmat.Complex.ZERO,i=Jmat.Complex.ONE,o=0;a>o;o++)n=m?n.add(i.mulr(t[o])):n.add(i.mul(t[o])),i=i.mul(e.sub(r));return n},Jmat.Complex.pdf_uniform=function(t,a,r){return t.re>=a.re&&t.re<=r.re?r.sub(a).inv():Jmat.Complex(0)},Jmat.Complex.cdf_uniform=function(t,a,r){return t.re=a.re&&e.re<=r.re?e:Jmat.Complex(NaN)},Jmat.Complex.pdf_standardnormal=function(t){return Jmat.Complex.exp(t.mul(t).mulr(-.5)).mul(Jmat.Complex.INVSQRT2PI)},Jmat.Complex.cdf_standardnormal=function(t){return Jmat.Complex.erf(t.div(Jmat.Complex.SQRT2)).addr(1).mulr(.5)},Jmat.Complex.qf_standardnormal=function(t){return Jmat.Complex.erf_inv(t.mulr(2).subr(1)).mul(Jmat.Complex.SQRT2)},Jmat.Complex.pdf_normal=function(t,a,r){var e=Jmat.Complex.INVSQRT2PI.div(r),m=t.sub(a).mul(t.sub(a)).div(r.mul(r).mulr(2));return e.mul(Jmat.Complex.exp(m.neg()))},Jmat.Complex.cdf_normal=function(t,a,r){var e=t.sub(a).divr(r.abs()).div(Jmat.Complex.SQRT2);return Jmat.Complex.erf(e).addr(1).mulr(.5)},Jmat.Complex.qf_normal=function(t,a,r){return Jmat.Complex.exp(a.add(r.mul(Jmat.Complex.qf_standardnormal(t))))},Jmat.Complex.pdf_lognormal=function(t,a,r){var e=Jmat.Complex.INVSQRT2PI.div(r).div(t),m=Jmat.Complex.log(t).sub(a);return e.mul(Jmat.Complex.exp(m.mul(m).div(r.mul(r).mulr(2)).neg()))},Jmat.Complex.cdf_lognormal=function(t,a,r){var e=Jmat.Complex.log(t).sub(a).div(Jmat.Complex.SQRT2.mul(r));return Jmat.Complex.erf(e).addr(1).mulr(.5)},Jmat.Complex.qf_lognormal=function(t,a,r){var e=Jmat.Complex.log(t).sub(a).div(Jmat.Complex.SQRT2.mul(r));return Jmat.Complex.erf(e).addr(1).mulr(.5)},Jmat.Complex.pdf_cauchy=function(t,a,r){var e=t.sub(a),m=e.mul(e).add(r.mul(r)).mulr(Math.PI);return r.div(m)},Jmat.Complex.cdf_cauchy=function(t,a,r){return Jmat.Complex.atan(t.sub(a).div(r)).divr(Math.PI).addr(.5)},Jmat.Complex.qf_cauchy=function(t,a,r){return a.add(r.mul(Jmat.Complex.tan(t.subr(.5).divr(Math.PI))))},Jmat.Complex.pdf_studentt_cache_=[],Jmat.Complex.pdf_studentt_cachefun_=function(t){var a=t.inc().divr(2);return Jmat.Complex.gammaDiv_(a,t.divr(2))},Jmat.Complex.pdf_studentt=function(t,a){if(a.eqr(1))return t.mul(t).addr(1).mulr(Math.PI).inv();if(a.eqr(2))return t.mul(t).addr(2).powr(1.5).inv();if(a.eqr(3)){var r=10.392304845413264,e=t.mul(t).addr(3);return Jmat.Complex(r).div(e.mul(e).mulr(Math.PI))}if(a.eqr(1/0))return Jmat.Complex.pdf_standardnormal(t);var m=a.inc().divr(2),n=Jmat.Complex.calcCache_(a,Jmat.Complex.pdf_studentt_cachefun_,Jmat.Complex.pdf_studentt_cache_),i=Jmat.Complex.sqrt(Jmat.Complex.PI.mul(a)).inv(),o=n.mul(i);Jmat.Complex.isNaN(o)&&a.re>100&&(o=Jmat.Complex(Jmat.Complex.INVSQRT2PI));var l=t.mul(t).div(a).inc();return o.mul(l.pow(m.neg()))},Jmat.Complex.cdf_studentt=function(t,a){if(a.eqr(1))return Jmat.Complex.atan(t).divr(Math.PI).addr(.5);if(a.eqr(2))return t.div(Jmat.Complex.sqrt(t.mul(t).addr(2)).mulr(2)).addr(.5);if(a.eqr(1/0))return Jmat.Complex.cdf_standardnormal(t);if(t.eqr(0))return Jmat.Complex(.5);var r=Jmat.Complex.calcCache_(a,Jmat.Complex.pdf_studentt_cachefun_,Jmat.Complex.pdf_studentt_cache_),e=Jmat.Complex.incbeta(t.mul(t).div(a).neg(),Jmat.Complex(.5),Jmat.Complex.ONE.sub(a).mulr(.5)),m=Jmat.Complex.I.mul(t).mul(e),n=Jmat.Complex(t.abs()).mulr(2).mul(Jmat.Complex.SQRTPI);return Jmat.Complex(.5).sub(r.mul(m).div(n))},Jmat.Complex.qf_studentt=function(t,a){if(a.eqr(1))return Jmat.Complex.tan(Jmat.Complex.PI.mul(t.subr(.5)));if(a.eqr(2)){var r=t.mulr(4).mul(Jmat.Complex.ONE.sub(t));return t.subr(.5).mulr(2).mul(Jmat.Complex.sqrt(Jmat.Complex(2).div(r)))}if(a.eqr(4)&&Jmat.Complex.isReal(t)){var r=t.mulr(4).mul(Jmat.Complex.ONE.sub(t)),e=Jmat.Complex.sqrt(r),m=Jmat.Complex.cos(Jmat.Complex(1/3).mul(Jmat.Complex.acos(e))).div(e);return Jmat.Complex.sign(t.subr(.5)).mulr(2).mul(Jmat.Complex.sqrt(m.dec()))}if(a.eqr(1/0))return Jmat.Complex.qf_standardnormal(t);if(Jmat.Real.near(t.im,0,1e-15)&&(t=Jmat.Complex(t.re)),Jmat.Real.near(a.im,0,1e-15)&&(a=Jmat.Complex(a.re)),Jmat.Complex.isPositive(a)&&Jmat.Complex.isPositive(t)&&t.re<1){if(t.re<.5){var n=Jmat.Complex.beta_i_inv(t.mulr(2),a.divr(2),Jmat.Complex(.5));return Jmat.Complex.sqrt(a.mul(n.inv().subr(1))).neg()}var n=Jmat.Complex.beta_i_inv(Jmat.Complex.ONE.sub(t).mulr(2),a.divr(2),Jmat.Complex(.5));return Jmat.Complex.sqrt(a.mul(n.inv().subr(1)))}return Jmat.Complex(NaN)},Jmat.Complex.pdf_chi_square=function(t,a){var r=a.divr(2),e=r.eqr(1)?Jmat.Complex(2):Jmat.Complex(2).pow(r),m=Jmat.Complex.isNegativeInt(r)?Jmat.Complex(1/0):Jmat.Complex.gamma(r),n=t.pow(r.dec()).mul(Jmat.Complex.exp(t.divr(-2)));return e.mul(m).inv().mul(n)},Jmat.Complex.cdf_chi_square=function(t,a){return Jmat.Complex.gamma_p(a.divr(2),t.divr(2))},Jmat.Complex.qf_chi_square=function(t,a){return Jmat.Complex.gamma_p_inv(a.divr(2),t).mulr(2)},Jmat.Complex.pdf_logistic=function(t,a,r){var e=Jmat.Complex.exp(t.sub(a).div(r).neg()),m=e.inc();return e.div(r.mul(m).mul(m))},Jmat.Complex.cdf_logistic=function(t,a,r){return Jmat.Complex.tanh(t.sub(a).div(r).divr(2)).mulr(.5).addr(.5)},Jmat.Complex.qf_logistic=function(t,a,r){var e=t.div(Jmat.Complex.ONE.sub(t));return a.add(r.mul(Jmat.Complex.log(e)))},Jmat.Complex.pdf_gamma_cache_=[],Jmat.Complex.pdf_gamma=function(t,a,r){var e=t.pow(a.dec()),m=Jmat.Complex.exp(t.div(r).neg()),n=r.pow(a),i=Jmat.Complex.calcCache_(a,Jmat.Complex.gamma,Jmat.Complex.pdf_gamma_cache_);return e.mul(m).div(n).div(i)},Jmat.Complex.cdf_gamma=function(t,a,r){return Jmat.Complex.gamma_p(a,t.div(r))},Jmat.Complex.qf_gamma=function(t,a,r){return Jmat.Complex.gamma_p_inv(a,t).mul(r)},Jmat.Complex.pdf_beta=function(t,a,r){var e=t.pow(a.dec()),m=t.rsub(1).pow(r.dec()),n=Jmat.Complex.beta(a,r);return e.mul(m).div(n)},Jmat.Complex.cdf_beta=function(t,a,r){return Jmat.Complex.beta_i(t,a,r)},Jmat.Complex.qf_beta=function(t,a,r){return Jmat.Complex.beta_i_inv(t,a,r)},Jmat.Complex.pdf_fisher=function(t,a,r){var e=a.mul(t).pow(a).mul(r.pow(r)),m=a.mul(t).add(r).pow(a.add(r)),n=t.mul(Jmat.Complex.beta(a.divr(2),r.divr(2)));return Jmat.Complex.sqrt(e.div(m)).div(n)},Jmat.Complex.cdf_fisher=function(t,a,r){var e=a.mul(t).div(a.mul(t).add(r));return Jmat.Complex.beta_i(e,a.divr(2),r.divr(2))},Jmat.Complex.qf_fisher=function(t,a,r){var e=Jmat.Complex.beta_i_inv(t,a.divr(2),r.divr(2)),m=Jmat.Complex.ONE.sub(e);return r.mul(e).div(a.mul(m))},Jmat.Complex.pdf_weibull=function(t,a,r){var e=r.div(a),m=t.div(a).pow(r.dec()),n=t.div(a).pow(r).neg();return e.mul(m).mul(Jmat.Complex.exp(n))},Jmat.Complex.cdf_weibull=function(t,a,r){var e=t.div(a).pow(r).neg();return Jmat.Complex.ONE.sub(Jmat.Complex.exp(e))},Jmat.Complex.qf_weibull=function(t,a,r){var e=Jmat.Complex.ONE.sub(t),m=Jmat.Complex.log(e).neg().pow(r.inv());return a.mul(m)},Jmat.Complex.pdf_exponential=function(t,a){return t.re<0?Jmat.Complex(0):a.mul(Jmat.Complex.exp(t.mul(a).neg()))},Jmat.Complex.cdf_exponential=function(t,a){return t.re<0?Jmat.Complex(0):Jmat.Complex.ONE.sub(Jmat.Complex.exp(t.mul(a).neg()))},Jmat.Complex.qf_exponential=function(t,a){return Jmat.Complex.log(t.rsub(1)).neg().div(a)},Jmat.Complex.pdf_laplace=function(t,a,r){var e=Jmat.Complex.exp(Jmat.Complex(t.sub(a).abs()).neg().div(r));return r.mulr(2).inv().mul(e)},Jmat.Complex.cdf_laplace=function(t,a,r){var e=Jmat.Complex.exp(Jmat.Complex(t.sub(a).abs()).neg().div(r)),m=Jmat.Complex.sign(t.sub(a));return e.rsub(1).mul(m).mulr(.5).addr(.5)},Jmat.Complex.qf_laplace=function(t,a,r){var e=Jmat.Complex.log(Jmat.Complex(t.subr(.5).abs()).mulr(2).rsub(1)),m=Jmat.Complex.sign(t.subr(.5));return a.sub(r.mul(m).mul(e))},Jmat.Complex.pmf_bernoulli=function(t,a){return t.eqr(0)?a.rsub(1):t.eqr(1)?a:a.pow(t).mul(a.rsub(1).pow(t.rsub(1)))},Jmat.Complex.cdf_bernoulli=function(t,a){return t.re<0?Jmat.Complex.ZERO:t.re>=1?Jmat.Complex.ONE:a.rsub(1)},Jmat.Complex.qf_bernoulli=function(t,a){return t.re<1-a.re?Jmat.Complex.ZERO:Jmat.Complex.ONE},Jmat.Complex.pmf_binomial=function(t,a,r){var e=Jmat.Complex.binomial(a,t);return e.mul(r.pow(t)).mul(r.rsub(1).pow(a.sub(t)))},Jmat.Complex.cdf_binomial=function(t,a,r){return Jmat.Complex.beta_i(r,a.sub(t),t.addr(1))},Jmat.Complex.qf_binomial=function(t,a,r){if(r.eqr(0))return Jmat.Complex.ZERO;if(r.eqr(1))return a;var e=Jmat.Complex,m=Jmat.Complex.rootfind_bisection(e(0),a,function(e){return Jmat.Complex.cdf_binomial(e,a,r).sub(t)},100,1e-14);return Jmat.Complex.round(m)},Jmat.Complex.pmf_poisson=function(t,a){var r=a.pow(t),e=Jmat.Complex.factorial(t),m=Jmat.Complex.exp(a.neg());return r.mul(m).div(e)},Jmat.Complex.cdf_poisson=function(t,a){return Jmat.Complex.gamma_q(t.addr(1),a)},Jmat.Complex.qf_poisson=function(t,a){return Jmat.Complex.gamma_q_inva(a,t).subr(1)},Jmat.BigInt=function(t,a,r){return this instanceof Jmat.BigInt?(this.a=t||[],this.radix=a||Jmat.BigInt.ARRAYBASE_,this.minus=r||!1,void 0):Jmat.BigInt.make(t,a,r)},Jmat.BigInt.ARRAYBASE_=32768,Jmat.BigInt.ARRAYBASE_BITS_=15,Jmat.BigInt.STRINGBASE_=10,Jmat.BigInt.make=function(t,a,r){return void 0==t?new Jmat.Bigum(t,a,r):"number"==typeof t?Jmat.BigInt.fromInt(t,a):"string"==typeof t?Jmat.BigInt.parse(t,Jmat.BigInt.STRINGBASE_,a):void 0!=t.length?new Jmat.BigInt(t,a,r):void 0!=t.re?Jmat.BigInt.fromInt(t.re,a):void 0!=t.w?Jmat.BigInt.fromInt(t.w,a):a&&t.radix!=a?Jmat.BigInt.convertBase(t,a):Jmat.BigInt.copy(t)},Jmat.BigInt.cast=function(t,a,r){return void 0==t?new Jmat.BigInt(void 0,a,r):void 0==t.a||a&&t.radix!=a?t.radix&&a?Jmat.BigInt.convertBase(t,a):Jmat.BigInt(t,a,r):t},Jmat.BigInt.copy=function(t){return new Jmat.BigInt(t.a.slice(0),t.radix,t.minus)},Jmat.BigInt.parse=function(t,a,r){var e=a||Jmat.BigInt.STRINGBASE_,m=r||Jmat.BigInt.ARRAYBASE_,n=!1;"-"==t[0]&&(n=!0,t=t.substr(1));var i=Jmat.BigInt.stringToArray(t,m,e);return new Jmat.BigInt(i,m,n)},Jmat.BigInt.toString=function(t,a){if(!t||!t.a)return"invalid";var r=t.minus?"-":"";return r+Jmat.BigInt.arrayToString(t.a,t.radix,a)},Jmat.BigInt.prototype.toString=function(t){return Jmat.BigInt.toString(this,t)},Jmat.BigInt.stringToArray=function(t,a,r){for(var e=a||Jmat.BigInt.ARRAYBASE_,m=r||Jmat.BigInt.STRINGBASE_,n=[],i=0;i0;)a.push(1&t),t>>=1;return Jmat.BigInt.mirror_(a),new Jmat.BigInt(a,2)},Jmat.BigInt.convertArrayBase=function(t,a,r,e){if(t.length>8&&10==r&&Jmat.Real.isPOT(a)){var m=Jmat.BigInt.convertArrayBase(t,a,1e6);return Jmat.BigInt.convertArrayBase(m,1e6,10)}var n=Jmat.Real,i=Jmat.BigInt;if(a==r)return t;var o=[];if(t=i.maybecopystrip_(t),2147483648>=a&&2147483648>=r&&n.isPOT(a)&&n.isPOT(r)){for(var l=n.ilog2(a),u=n.ilog2(r),J=Math.ceil(t.length*l/u),s=0;J>s;s++)o[s]=0;if(r>a)for(var p=J-1,x=0,s=t.length-1;s>=0;s--)if(x+l>u){var m=u-x;0!=m&&(o[p]|=(t[s]&(1<>m,x=l-m}else o[p]|=t[s]<=0;s--)if(x+u>l){var m=l-x;o[s]=t[p]>>x,p--,o[s]|=(t[p]&f)<>x&f,x+=u;return i.stripInPlace_(o),o}var c=n.isPowerOf(a,r);if(c){for(var s=0;sd;d++)o.push(Math.floor(C/(c-d-1))%r);for(var d=c-1;d>=0;d--)o[s*c+d]=C%r,C=Math.floor(C/r)}return i.stripInPlace_(o),o}if(c=n.isPowerOf(r,a)){for(var v=Math.ceil(t.length/c),s=0;v>s;s++){var g=1;o[v-1-s]=0;for(var d=0;c>d;d++){var h=t.length-1-s*c-d;if(0>h)break;o[v-1-s]+=t[h]*g,g*=a}}return i.stripInPlace_(o),o}if(t.length>8){for(var I=n.idiv(t.length,2),_=[],b=[],s=0;I>s;s++)_[s]=t[s];for(var s=I;sp;p++)pp;p++)p>=a&&p=m&&pp;p++)i+=r*t[t.length-p-1],u[p]=(i+o)%o,i=Math.floor(i/o);if(i==1/0)throw"infinite overflow";for(;i>0;)u.push((i+o)%o),i=Math.floor(i/o);if(l){for(;u.length>s&&0==u[u.length-1];)u.length--;for(;u.length1&&0==u[u.length-1];)u.length--;return Jmat.BigInt.mirror_(u),u},Jmat.BigInt.intToArray=function(t,a){if(t>Jmat.Real.BIGGESTJSINT)throw"too large integer literal for JS";for(var r=a||Jmat.BigInt.ARRAYBASE_,e=[];t>0;)e.push(t%r),t=Math.floor(t/r);return 0==e.length&&(e=[0]),e.length>1&&Jmat.BigInt.mirror_(e),e},Jmat.BigInt.arrayToInt=function(t,a){for(var r=a||Jmat.BigInt.ARRAYBASE_,e=0,m=1,n=0;nt&&(e=!0,t=-t),new Jmat.BigInt(Jmat.BigInt.intToArray(t,r),r,e)},Jmat.BigInt.toInt=function(t){return Jmat.BigInt.arrayToInt(t.a,t.radix)*(t.minus?-1:1)},Jmat.BigInt.prototype.toInt=function(){return Jmat.BigInt.arrayToInt(this.a,this.radix)*(this.minus?-1:1)},Jmat.BigInt.ZERO=Jmat.BigInt(0),Jmat.BigInt.ONE=Jmat.BigInt(1),Jmat.BigInt.TWO=Jmat.BigInt(2),Jmat.BigInt.convertBase=function(t,a){return t.radix==a?t:new Jmat.BigInt(Jmat.BigInt.convertArrayBase(t.a,t.radix,a),a,t.minus)},Jmat.BigInt.cloneArray=function(t){return t.slice(0)},Jmat.BigInt.cloneArrayTo=function(t,a){a.length=t.length;for(var r=0;ra)return Jmat.BigInt.rshift_radix(t,-a);for(var r=Jmat.BigInt.copy(t),e=0;a>e;e++)r.a.push(0);return r},Jmat.BigInt.prototype.lshift_radix=function(t){return Jmat.BigInt.lshift_radix(this,t)},Jmat.BigInt.rshift_radix=function(t,a){if(0==a)return t;if(0>a)return Jmat.BigInt.lshift_radix(t,-a);var r=Jmat.BigInt.copy(t);return r.a=r.a.slice(0,-a),r},Jmat.BigInt.prototype.rshift_radix=function(t){return Jmat.BigInt.rshift_radix(this,t)},Jmat.BigInt.lshift=function(t,a){var r=Jmat.BigInt;if(0==a)return t;if(0>a)return r.rshift(t,-a);t=r.cast(t,Jmat.BigInt.ARRAYBASE_);var e=new r([],t.radix),m=Math.floor(a/r.ARRAYBASE_BITS_),n=a%r.ARRAYBASE_BITS_;if(0==n){for(var i=0;ii;i++)e.a.push(0)}else{e.a=[];for(var o=(1<0?t.a[i-1]:0,J=i>r.ARRAYBASE_BITS_&l,p=u<i;i++)e.a.push(0);0==e.a.length&&(e.a=[0])}return t.minus&&(e=e.neg()),e},Jmat.BigInt.prototype.lshift=function(t){return Jmat.BigInt.lshift(this,t)},Jmat.BigInt.rshift=function(t,a){var r=Jmat.BigInt;if(0==a)return t;if(0>a)return r.lshift(t,-a);t=r.cast(t,Jmat.BigInt.ARRAYBASE_);var e=new r([],t.radix),m=Math.floor(a/r.ARRAYBASE_BITS_),n=a%r.ARRAYBASE_BITS_;if(0==n){e.a=[];for(var i=0;i0?t.a[i-1]:0,J=i>n&o,p=J>>n&l;e.a.push(s|p)}0==e.a.length&&(e.a=[0])}return t.minus&&(e=e.neg()),r.stripInPlace_(e.a),e},Jmat.BigInt.prototype.rshift=function(t){return Jmat.BigInt.rshift(this,t)},Jmat.BigInt.bitand=function(t,a){var r=Jmat.BigInt;if(t=r.cast(t,r.ARRAYBASE_),a=r.cast(a,r.ARRAYBASE_),t.minus||a.minus){var e=Math.max(r.getNumBits(t),r.getNumBits(a));t.minus&&(t=t.addr(1).bitnot(e)),a.minus&&(a=a.addr(1).bitnot(e))}for(var m=new r([],r.ARRAYBASE_),n=Math.min(t.a.length,a.a.length),i=0;n>i;i++){var o=t.a[t.a.length-1-i]||0,l=a.a[a.a.length-1-i]||0;m.a[n-1-i]=o&l}return m},Jmat.BigInt.prototype.bitand=function(t){return Jmat.BigInt.bitand(this,t)},Jmat.BigInt.bitandr=function(t,a){var r=Jmat.BigInt;return t.minus?r.bitand(t,r(a)).toInt():(t=r.cast(t,ai;i++){var o=t.a[t.a.length-1-i]||0,l=a.a[a.a.length-1-i]||0;m.a[n-1-i]=o|l}return m},Jmat.BigInt.prototype.bitor=function(t){return Jmat.BigInt.bitor(this,t)},Jmat.BigInt.bitxor=function(t,a){var r=Jmat.BigInt;if(t=r.cast(t,r.ARRAYBASE_),a=r.cast(a,r.ARRAYBASE_),t.minus||a.minus){var e=Math.max(r.getNumBits(t),r.getNumBits(a));t.minus&&(t=t.addr(1).bitnot(e)),a.minus&&(a=a.addr(1).bitnot(e))}for(var m=new r([],r.ARRAYBASE_),n=Math.max(t.a.length,a.a.length),i=0;n>i;i++){var o=t.a[t.a.length-1-i]||0,l=a.a[a.a.length-1-i]||0;m.a[n-1-i]=o^l}return m},Jmat.BigInt.prototype.bitxor=function(t){return Jmat.BigInt.bitxor(this,t)},Jmat.BigInt.bitneg=function(t){var a=Jmat.BigInt;return t=a.cast(t,Jmat.BigInt.ARRAYBASE_),t=t.addr(1),t=t.neg()},Jmat.BigInt.prototype.bitneg=function(){return Jmat.BigInt.bitneg(this)},Jmat.BigInt.bitnot=function(t,a){if(0>=a)return t;var r=Jmat.BigInt;t=r.cast(t,r.ARRAYBASE_);var e,m=r.maybecopystrip_(t.a),n=r.ARRAYBASE_-1;if(void 0!=a){e=r(0);for(var i=a%r.ARRAYBASE_BITS_,o=Math.ceil(a/r.ARRAYBASE_BITS_),l=(1<u;u++){var J=m[m.length-o+u]||0;e.a[u]=J^n,0==u&&0!=i&&(e.a[u]&=l)}}else{if(!m.length)return t;var i=Jmat.Real.ilog2(m[0])+1;if(0==i){e=r(1);for(var u=0;ua);return r.a=Jmat.BigInt.baseloop_(t.a,0,a,[],0,1,0,r.radix,!1),r},Jmat.BigInt.prototype.mulr=function(t){var a=new Jmat.BigInt([],this.radix,this.minus!=0>t);return a.a=Jmat.BigInt.baseloop_(this.a,0,t,[],0,1,0,a.radix,!1),a},Jmat.BigInt.karatsuba_=function(t,a,r){if(t.length<=1||a.length<=1)return Jmat.BigInt.schoolmul_(t,a,r);if(t.length=m?[0]:a.slice(0,m),l=0>=m?a:a.slice(m,a.length);if(0>=m){var u=Jmat.BigInt.karatsuba_(n,l,r),J=Jmat.BigInt.karatsuba_(i,l,r);return Jmat.BigInt.baseloop_(u,t.length-e,1,J,0,1,0,r,!1)}var s=Jmat.BigInt.baseloop_(n,0,1,i,0,1,0,r,!1),p=Jmat.BigInt.baseloop_(o,0,1,l,0,1,0,r,!1),u=Jmat.BigInt.karatsuba_(n,o,r),J=Jmat.BigInt.karatsuba_(i,l,r),x=Jmat.BigInt.karatsuba_(s,p,r),f=Jmat.BigInt.baseloop_(u,0,1,J,0,1,0,r,!1),c=Jmat.BigInt.baseloop_(x,0,1,f,0,-1,0,r,!1),C=t.length-e,d=2*C,v=Jmat.BigInt.baseloop_(c,C,1,J,0,1,0,r,!1);return Jmat.BigInt.baseloop_(u,d,1,v,0,1,0,r,!1)},Jmat.BigInt.schoolmul_=function(t,a,r){if(1==t.length&&0==t[0])return[0];if(1==t.length&&1==t[0])return a;if(1==a.length&&0==a[0])return[0];if(1==a.length&&1==a[0])return t;if(t.lengtha?-1:1}t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix));for(var e=Math.max(this.a.length,t.a.length),m=0;e>m;m++){var n=m-e+this.a.length,i=m-e+t.a.length,o=this.a[n]||0,l=t.a[i]||0;if(l>o)return-1*this.getSign();if(o>l)return 1*this.getSign()}return 0},Jmat.BigInt.comparer=function(t,a){return t.comparer(a)},Jmat.BigInt.prototype.comparer=function(t){if(0>t!=this.minus){var a=this.sign(),r=Math.sign(t);return a==r?0:r>a?-1:1}var e=this.getSign();t=Math.abs(t);for(var m=0,n=0;n=m;n++)m*=this.radix,m+=this.a[n];return(t>m?-1:m==t?0:1)*e},Jmat.BigInt.eq=function(t,a){return 0==Jmat.BigInt.compare(t,a)},Jmat.BigInt.prototype.eq=function(t){return 0==Jmat.BigInt.compare(this,t)},Jmat.BigInt.eqr=function(t,a){return 0==Jmat.BigInt.comparer(t,a)},Jmat.BigInt.prototype.eqr=function(t){return 0==Jmat.BigInt.comparer(this,t)},Jmat.BigInt.neq=function(t,a){return 0!=Jmat.BigInt.compare(t,a)},Jmat.BigInt.prototype.neq=function(t){return 0!=Jmat.BigInt.compare(this,t)},Jmat.BigInt.neqr=function(t,a){return 0!=Jmat.BigInt.comparer(t,a)},Jmat.BigInt.prototype.neqr=function(t){return 0!=Jmat.BigInt.comparer(this,t)},Jmat.BigInt.gt=function(t,a){return Jmat.BigInt.compare(t,a)>0},Jmat.BigInt.prototype.gt=function(t){return Jmat.BigInt.compare(this,t)>0},Jmat.BigInt.gtr=function(t,a){return Jmat.BigInt.comparer(t,a)>0},Jmat.BigInt.prototype.gtr=function(t){return Jmat.BigInt.comparer(this,t)>0},Jmat.BigInt.lt=function(t,a){return Jmat.BigInt.compare(t,a)<0},Jmat.BigInt.prototype.lt=function(t){return Jmat.BigInt.compare(this,t)<0},Jmat.BigInt.ltr=function(t,a){return Jmat.BigInt.comparer(t,a)<0},Jmat.BigInt.prototype.ltr=function(t){return Jmat.BigInt.comparer(this,t)<0},Jmat.BigInt.gte=function(t,a){return Jmat.BigInt.compare(t,a)>=0},Jmat.BigInt.prototype.gte=function(t){return Jmat.BigInt.compare(this,t)>=0},Jmat.BigInt.gter=function(t,a){return Jmat.BigInt.comparer(t,a)>=0},Jmat.BigInt.prototype.gter=function(t){return Jmat.BigInt.comparer(this,t)>=0},Jmat.BigInt.lte=function(t,a){return Jmat.BigInt.compare(t,a)<=0},Jmat.BigInt.prototype.lte=function(t){return Jmat.BigInt.compare(this,t)<=0},Jmat.BigInt.lter=function(t,a){return Jmat.BigInt.comparer(t,a)<=0},Jmat.BigInt.prototype.lter=function(t){return Jmat.BigInt.comparer(this,t)<=0},Jmat.BigInt.sqrt=function(t){var a=Jmat.BigInt;if(t.eqr(0))return a(0);if(t.minus)return void 0;var r=a([0],t.radix),e=Jmat.BigInt.copystrip_(t);1==e.a.length&&1==e.a[0]&&(r=a([1],t.radix)),e.a=e.a.slice(0,Math.ceil(e.a.length/2)+1),t.radix>16&&(e.a[0]=Math.min(e.a[0],Math.ceil(Math.sqrt(e.a[0]+1))));for(var m,n=a([1],t.radix);;){var i=r.add(e).divr(2),o=i.mul(i),l=a.compare(o,t);if(0==l){m=i;break}if(0>l?r=i:e=i,a.compare(e.sub(r),n)<=0){m=r;break}}return m},Jmat.BigInt.isOdd=function(t){return t.bitand(Jmat.BigInt.ONE).eqr(1)},Jmat.BigInt.isEven=function(t){return t.bitand(Jmat.BigInt.ONE).eqr(0)},Jmat.BigInt.root=function(t,a){var r=a.toInt();return 0>=r?void 0:r>Jmat.Real.BIGGESTJSINT?t.eqr(0)?B(0):B.isEven(a)&&t.minus?void 0:B(t.minus?-1:1):Jmat.BigInt.rootr(t,r)},Jmat.BigInt.rootr=function(t,a){var r=Jmat.BigInt;if(0>=a)return void 0;if(t.eqr(0))return r(0);if(1==a)return t;if(2==a)return r.sqrt(t);if(Jmat.Real.isEven(a)&&t.minus)return void 0;if(a>r.log2(t.abs()).toInt())return r(t.minus?-1:1);var e=r([0],t.radix),m=Jmat.BigInt.copystrip_(t);1==m.a.length&&1==m.a[0]&&(e=r([1],t.radix)),m.a=m.a.slice(0,Math.ceil(m.a.length/a)+1),t.radix>16&&(m.a[0]=Math.min(m.a[0],Math.ceil(Jmat.Real.root(m.a[0]+1,a))));for(var n,i=r([1],t.radix);;){var o=e.add(m).divr(2),l=r.powr(o,a),u=r.compare(l,t);if(0==u){n=o;break}if(0>u?e=o:m=o,r.compare(m.sub(e),i)<=0){n=e;break}}return n},Jmat.BigInt.perfectsquare=function(t){var a=Jmat.BigInt;if(t.minus)return null;var r=a.bitandr(t,15);if(0!=r&&1!=r&&4!=r&&9!=r)return null;var e=a.sqrt(t);return e.mul(e).eq(t)?e:null},Jmat.BigInt.perfectpow=function(t,a,r,e){var m=Jmat.BigInt,n=e?m.cast(e):void 0,i=r?m.cast(r):void 0;if(t.minus)return void 0;if(r&&e)return[i.pow(n),i,n];if(r){if(t.lter(1)&&a)return[i.mul(i),i,m(2)];var o="number"!=typeof r?r:i.toInt(),l=m.logr(t,o);a&&(l=l.addr(1));var u=i.pow(l);return[u,i,l]}if(e){var o="number"!=typeof e?e:n.toInt(),J=m.rootr(t,o);a&&(J=J.addr(1));var u=J.powr(o);return[u,J,n]}if(t.ltr(5)){var o=t.toInt();return a?0==o?[m(1),m(1),m(2)]:4==o?[m(8),m(2),m(3)]:[m(4),m(2),m(2)]:0==o?void 0:4==t?[m(4),m(2),m(2)]:[m(1),m(1),m(2)]}var l=m.log2(t).toInt();a&&l++;for(var s=t,p=0,x=m(0),f=m(0),c=2;l>=c;c++)if(c>5&&c%5==0)c++;else if(c>3&&c%3==0)c++;else{var J=m.rootr(t,c);J.eqr(2)&&(c=l),a&&(J=J.addr(1));var u=J.powr(c),C=t.sub(u).abs();if(C.lt(s)&&(s=C,p=c,x=J,f=u,C.eqr(0)))break;c>2&&c++}if(2==p||3==p||5==p){var d=Jmat.BigInt.perfectpow(x);d[0].eq(x)&&(x=d[1],p*=d[2].toInt())}return[f,x,m(p)]},Jmat.BigInt.mulmany_=function(t){if(0==t.length)return Jmat.BigInt.ONE;for(;t.length>1;){for(var a=Math.floor(t.length/2),r=[],e=0;a>e;e++)r.push(t[e].mul(t[t.length-e-1]));t.length%2==1&&r.push(t[a]),t=r}return t[0]},Jmat.BigInt.factorial=function(t){var a=Jmat.BigInt,r=t.toInt();if(r==1/0)return void 0;if(20>r)return a(Jmat.Real.factorial(r));for(var e=Jmat.Real.eratosthenes(r),m=[],n=0;n0;)l+=o,o=Math.floor(o/i);m[n]=a.powr(a(i),l)}return a.mulmany_(m)},Jmat.BigInt.primorial=function(t){var a=Jmat.BigInt,r=t.toInt();if(r==1/0)return void 0;var e=Jmat.Real.eratosthenes(r);return a.mulmany_(e)},Jmat.BigInt.nearestPrime=function(t){var a=Jmat.BigInt;if(t.lter(2))return a(2);if(t.lter(4))return a(3);var r=a.previousPrime(t),e=t.sub(r);return a.previousPrime(t.add(e).subr(1))},Jmat.BigInt.nextPrime=function(t){var a=Jmat.BigInt;if(t.ltr(2))return a(2);if(t.ltr(3))return a(3);var r=t.modr(6).toInt(),e=2;for(0==r||5==r?(t=t.addr(0==r?1:2),e=4):t=t.addr(5-r);;){if(a.isPrime(t))return t;t=t.addr(e),e^=6}},Jmat.BigInt.previousPrime=function(t){var a=Jmat.BigInt;if(t.lter(7))return t.lter(2)?void 0:a(t.lter(3)?2:t.lter(5)?3:5);var r=t.modr(6).toInt(),e=2;for(0==r||1==r?(t=t.subr(r+1),e=4):t=t.subr(r-1);;){if(a.isPrime(t))return t;t=t.subr(e),e^=6}},Jmat.BigInt.min=function(t,a){return t.lt(a)?t:a},Jmat.BigInt.max=function(t,a){return t.gt(a)?t:a},Jmat.BigInt.primeCache_=[],Jmat.BigInt.factorize=function(t){var a=Jmat.BigInt,r=[];if(t.minus&&(t=a.neg(t),r.push(a(-1))),t.lter(2))return 0!=r.length&&t.eqr(1)||r.push(t),r;if(t.ltr(Jmat.Real.BIGGESTJSINT)){for(var e=Jmat.Real.factorize(t),m=0;m=a.primeCache_.length&&(a.primeCache_[m]=Jmat.Real.nextPrime(e)),e=a.primeCache_[m],m++,!(e!=e||e>r);)if(t.modr(e).eqr(0))return a(e);var i=a.perfectpow(t);return i[0].eq(t)&&i[1].lt(t)?n(i[1]):a(0)};;){var i=n(t);if(i.eqr(0))return r.push(a(0)),r;if(r.push(i),i.eqr(t))return r;t=t.div(i)}},Jmat.BigInt.logy=function(t,a){return Jmat.BigInt.logr(t,a.toInt())},Jmat.BigInt.logr=function(t,a){if(t.eqr(a))return Jmat.BigInt(1);if(t.minus||0>a)return void 0;if(t.eqr(0))return void 0; +if(1==a)return t;if(2==a)return Jmat.BigInt.log2(t);var r=Jmat.BigInt.convertBase(t,a),e=Jmat.BigInt.fromInt(Jmat.BigInt.getNumDigits(r)-1,t.radix);return e},Jmat.BigInt.log2=function(t){if(t.minus)return void 0;var a=Jmat.BigInt.getNumBits(t);return 0==a?void 0:Jmat.BigInt.fromInt(a-1)},Jmat.BigInt.log10=function(t){return Jmat.BigInt.logr(t,10)},Jmat.BigInt.rlog2=function(t){var a=Jmat.BigInt.getNumBits(t);return a>128?(t=Jmat.BigInt.rshift(t,a-128),Jmat.Real.log2(t.toInt())+a-128):Jmat.Real.log2(t.toInt())},Jmat.BigInt.rlog=function(t){return Jmat.BigInt.rlog2(t)*Math.LN2},Jmat.BigInt.rlog10=function(t){return Jmat.BigInt.rlog2(t)/3.321928094887362},Jmat.BigInt.div=function(t,a){return t.div(a)},Jmat.BigInt.prototype.div=function(t){return t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix)),Jmat.BigInt.divmod_(this,t)[0]},Jmat.BigInt.mod=function(t,a){return t.mod(a)},Jmat.BigInt.prototype.mod=function(t){return t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix)),Jmat.BigInt.divmod_(this,t)[1]},Jmat.BigInt.divmod=function(t,a){return t.divmod(a)},Jmat.BigInt.prototype.divmod=function(t){return t.radix!=this.radix&&(t=Jmat.BigInt.convertBase(t,this.radix)),t.abs().ltr(65536)?Jmat.BigInt.divsmall_(this,t.toInt()):Jmat.BigInt.divmod_(this,t)},Jmat.BigInt.divr=function(t,a){return 0==a?void 0:1==a?t:-1==a?t.neg():t.abs().ltr(Math.abs(a))?Jmat.BigInt(0):t.eqr(a)?Jmat.BigInt(1):Math.abs(a)<65536?Jmat.BigInt.divsmall_(t,a)[0]:Jmat.BigInt.div(t,Jmat.BigInt(a))},Jmat.BigInt.prototype.divr=function(t){return Jmat.BigInt.divr(this,t)},Jmat.BigInt.half_=function(t){if(Jmat.Real.isPOT(t.radix)){var a=t.a[t.a.length-1]%2;return[Jmat.BigInt.rshift(t,1),Jmat.BigInt(a)]}for(var r=[],e=t.radix,m=0,n=0;n0||r.length>0)&&r.push(o)}return[new Jmat.BigInt(r,e,t.minus),0==m?Jmat.BigInt(0,e):Jmat.BigInt(1,e)]},Jmat.BigInt.divsmall_=function(t,a){if(a==t.radix)return[t.rshift_radix(t),Jmat.BigInt(0)];if(2==a)return Jmat.BigInt.half_(t);if(-2==a){var r=Jmat.BigInt.half_(t);return[r[0].neg(),r[1].neg()]}var e=t.minus,m=0>a,n=t.minus!=0>a;a=Math.abs(a);for(var i=[],o=t.radix,l=0,u=0;u0||i.length>0)&&i.push(s)}var p=Jmat.BigInt(l,o);return l&&(e&&m?p=p.neg():m?p=p.subr(a):e&&(p=p.subr(a).neg())),[new Jmat.BigInt(i,o,n),p]},Jmat.BigInt.modr=function(t,a){return 0==a?void 0:1==a||-1==a?Jmat.BigInt(0):Math.abs(a)>=1;for(u=r-u,a=a.lshift(u),f=f.lshift(u),a.a.splice(0,0,0),e=Math.max(m,f.a.length);f.a.length=m;n--){var d=f.a.length-1,v=c.a.length-1,g=a.a.length-1;for(f.a[d-n]==a.a[g-(m-1)]?c.a[v-(n-m)]=x:c.a[v-(n-m)]=Math.floor((f.a[d-n]*p+f.a[d-(n-1)])/a.a[g-(m-1)]);o=(m>1?a.a[g-(m-2)]:0)*c.a[v-(n-m)],l=o>>r,o&=x,i=l+c.a[v-(n-m)]*a.a[g-(m-1)],l=i>>r,i&=x,l==f.a[d-n]?i==f.a[d-(n-1)]?o>(n>1?f.a[d-(n-2)]:0):i>f.a[d-(n-1)]:l>f.a[d-n];)c.a[v-(n-m)]--;var h=a.lshift_radix(n-m),I=h.mulr(c.a[v-(n-m)]);f.lt(I)?(f.a=Jmat.BigInt.baseloop_(f.a,0,1,h.a,0,1,0,p,!0),f.a=Jmat.BigInt.baseloop_(f.a,0,1,I.a,0,-1,0,p,!0),c.a[v-(n-m)]--):f.a=Jmat.BigInt.baseloop_(f.a,0,1,I.a,0,-1,0,p,!0)}return f=f.rshift(u),[c,f]},Jmat.BigInt.divmod_=function(t,a,r){var e=Jmat.BigInt;if(a.eqr(0))return void 0;if(a.eqr(1))return[t,e(0)];if(a.eqr(-1))return[t.neg(),e(0)];if(a.abs().ltr(65536))return Jmat.BigInt.divsmall_(t,a.toInt());if(a.abs().gt(t.abs()))return[e(0),t];if(a.eq(t))return[e(1),e(0)];var m=t.minus!=a.minus;t=t.abs(),a=a.abs(),r||(t=e.cast(t,e.ARRAYBASE_),a=e.cast(a,e.ARRAYBASE_));var n=e.leemondiv_(t,a,r||e.ARRAYBASE_BITS_),i=n[0],o=n[1];return i=i.strip(),o=o.strip(),m&&(i=i.neg(),o=o.add(a),o.minus&&o.eqr(0)&&(o.minus=!1)),[i,o]},Jmat.BigInt.pow=function(t,a){var r=a;a=Jmat.BigInt.cast(a,2);var e=t.radix;if(a.minus)return Jmat.BigInt(0,e);var m=!1;t.minus&&a.modr(2).eqr(1)&&(m=!0),t=t.abs();for(var n=Jmat.BigInt.maybecopystrip_(a.a,a!=r),i=Jmat.BigInt(1,e),o=t,l=n.length,u=0;l>u;u++)0==n[u]?(o=i.mul(o),i=i.mul(i)):(i=i.mul(o),o=o.mul(o));return m&&(i=i.neg()),i},Jmat.BigInt.prototype.pow=function(t){return Jmat.BigInt.pow(this,t)},Jmat.BigInt.powr=function(t,a){return Jmat.BigInt.pow(t,Jmat.BigInt.fromInt(a))},Jmat.BigInt.prototype.powr=function(t){return Jmat.BigInt.pow(this,Jmat.BigInt.fromInt(t))},Jmat.BigInt.gcd=function(t,a){var r=Jmat.BigInt;for(t=t.abs(),a=a.abs();;){if(a.eqr(0))return t;var e=r.mod(t,a);t=a,a=e}},Jmat.BigInt.egcd=function(t,a){for(var r,e=Jmat.BigInt,m=e(0),n=e(1),i=e(1),o=e(0),l=t,u=a;!l.eqr(0);){var J=u.div(l);r=l,l=u.sub(J.mul(l)),u=r,r=m,m=n.sub(J.mul(m)),n=r,r=i,i=o.sub(J.mul(i)),o=r}return(i.sign()!=t.sign()||m.sign()!=a.sign())&&(r=i,i=m,m=r,r=o,o=n,n=r,i.sign()!=t.sign()&&(i=i.neg()),m.sign()!=a.sign()&&(m=m.neg())),[u,n,o,i,m]},Jmat.BigInt.invmod=function(t,a){for(var r,e=Jmat.BigInt,m=a,n=e(1),i=e(0);;){if(t.eqr(1)){r=n;break}if(t.eqr(0)){r=e(0);break}var o=a.divmod(t);if(i=i.sub(n.mul(o[0])),a=o[1],a.eqr(1)){r=i;break}if(a.eqr(0)){r=e(0);break}o=t.divmod(a),n=n.sub(i.mul(o[0])),t=o[1]}return r.minus&&(r=m.add(r)),r},Jmat.BigInt.monred_=function(t,a,r,e,m){var n=t.mul(m).bitand(r),i=t.add(n.mul(e)).rshift(a);return i.gte(e)&&(i=i.sub(e)),i},Jmat.BigInt.genmonred_=function(t){var a=Jmat.BigInt.getNumBits(t),r=Jmat.BigInt.lshift(Jmat.BigInt(1),a),e=r.subr(1),m=Jmat.BigInt.invmod(t,r).neg().bitand(e),n=r.lshift(a).mod(t);return function(r,i){return i?Jmat.BigInt.monred_(r.mul(n),a,e,t,m):Jmat.BigInt.monred_(r,a,e,t,m)}},Jmat.BigInt.modpow=function(t,a,r,e){var m=Jmat.BigInt,n=a;a=m.cast(a,2);var i=m.maybecopystrip_(a.a,a!=n),o=m.ONE,l=t,u=i.length;if(r.modr(2).eqr(1)&&u>1){var J=e||m.genmonred_(r);o=J(o,!0),l=J(l,!0);for(var s=0;u>s;s++)0==i[s]?(l=o.mul(l),o=o.mul(o)):(o=o.mul(l),l=l.mul(l)),o=J(o),l=J(l);return o=J(o)}for(var s=0;u>s;s++)0==i[s]?(l=o.mul(l).mod(r),o=o.mul(o).mod(r)):(o=o.mul(l).mod(r),l=l.mul(l).mod(r));return o},Jmat.BigInt.randomBits=function(t){for(var a=Jmat.BigInt([],Jmat.BigInt.ARRAYBASE_),r=Math.ceil(t/Jmat.BigInt.ARRAYBASE_BITS_),e=0;r>e;e++)a.a[e]=Math.floor(Jmat.BigInt.ARRAYBASE_*Math.random());for(var m=t*(Jmat.BigInt.ARRAYBASE_BITS_-1)%Jmat.BigInt.ARRAYBASE_BITS_,n=Jmat.BigInt.ARRAYBASE_-1,e=0;m>e;e++)n=Math.floor(n/2);return n+1=r)a=t.ltr(1373653)?[2,3]:t.ltr(9080191)?[31,73]:t.ltr(4759123141)?[2,7,61]:t.ltr(1122004669633)?[2,13,23,1662803]:t.ltr(2152302898747)?[2,3,5,7,11]:t.ltr(3474749660383)?[2,3,5,7,11,13]:t.ltr(341550071728321)?[2,3,5,7,11,13,17]:t.ltr(0xd655278977733)?[2,2570940,880937,610386380,4130785767]:[2,325,9375,28178,450775,9780504,1795265022];else{a=[2,3];for(var e=0;18>e;e++)a.push(Jmat.BigInt.randomBits(r-1))}return a},Jmat.BigInt.isPrime=function(t){if(t.ltr(Jmat.Real.BIGGESTJSPRIME))return Jmat.Real.isPrime(t.toInt());var a=Jmat.BigInt.isPrimeSimple(t);return-1!=a?!!a:Jmat.BigInt.isPrimeMillerRabin(t)},Jmat.BigInt.d_=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],Jmat.BigInt.di_=function(t){var a=t.charCodeAt(0);return 57>=a?a-48:(a>90&&(a-=32),a-65+10)},Jmat.BigInt.mirror_=function(t){for(var a=0;a0){var m=Jmat.Real.ilog2(t.radix);e+=m*(r.length-1)}return e},Jmat.BigInt.getNumDigits=function(t){for(var a=0;a1;)t.shift()},Jmat.BigInt.copystrip_=function(t){for(var a=0,r=0;r1&&Jmat.BigInt.enrichFunction_(a,r-1,2));if(4==e)return Jmat.BigInt.enrichFunction_(a,r,1),void(r>1&&Jmat.BigInt.enrichFunction_(a,r-1,2));var m=2==e?Jmat.BigInt.prototype[a]:Jmat.BigInt[a],n=function(){for(var t=Jmat.BigInt.getFormat(arguments[0]),a=0;r>a;a++)arguments[a]=Jmat.BigInt.cast(arguments[a]);var n=m.apply(this,arguments);return 1==e?Jmat.BigInt.toFormat(n,t):n};2==m.length&&2==r&&1==e&&(n=function(t,a){var r=m(Jmat.BigInt.cast(t),Jmat.BigInt.cast(a));return Jmat.BigInt.toFormat(r,Jmat.BigInt.getFormat(t))}),1==m.length&&1==r&&2==e&&(n=function(t){return m.call(this,Jmat.BigInt.cast(t))}),2==e?t.prototype[a]=n:t[a]=n},Jmat.BigInt.enrichFunctions_=function(){var t=0,a=!0;if(a){Jmat.BigIntC=function(){return Jmat.BigInt.apply(this,arguments)};for(var r in Jmat.BigInt)Jmat.BigIntC[r]=Jmat.BigInt[r];for(var r in Jmat.BigInt.prototype)Jmat.BigIntC.prototype[r]=Jmat.BigInt.prototype[r]}var e=a?Jmat.BigIntC:Jmat.BigInt;Jmat.BigInt.enrichFunction_(e,"add",2,1+t),Jmat.BigInt.enrichFunction_(e,"addr",1,1+t),Jmat.BigInt.enrichFunction_(e,"sub",2,1+t),Jmat.BigInt.enrichFunction_(e,"subr",1,1+t),Jmat.BigInt.enrichFunction_(e,"mul",2,1+t),Jmat.BigInt.enrichFunction_(e,"mulr",1,1+t),Jmat.BigInt.enrichFunction_(e,"div",2,1+t),Jmat.BigInt.enrichFunction_(e,"divr",1,1+t),Jmat.BigInt.enrichFunction_(e,"mod",2,1+t),Jmat.BigInt.enrichFunction_(e,"modr",1,1+t),Jmat.BigInt.enrichFunction_(e,"divmod",2,0+t),Jmat.BigInt.enrichFunction_(e,"lshift",1,1+t),Jmat.BigInt.enrichFunction_(e,"rshift",1,1+t),Jmat.BigInt.enrichFunction_(e,"bitand",2,1+t),Jmat.BigInt.enrichFunction_(e,"bitor",2,1+t),Jmat.BigInt.enrichFunction_(e,"bitxor",2,1+t),Jmat.BigInt.enrichFunction_(e,"bitneg",1,1+t),Jmat.BigInt.enrichFunction_(e,"bitnot",1,1+t),Jmat.BigInt.enrichFunction_(e,"abs",1,1+t),Jmat.BigInt.enrichFunction_(e,"neg",1,1+t),Jmat.BigInt.enrichFunction_(e,"sign",1,0),Jmat.BigInt.enrichFunction_(e,"getSign",1,0),Jmat.BigInt.enrichFunction_(e,"nonZero",1,0),Jmat.BigInt.enrichFunction_(e,"compare",2,0+t),Jmat.BigInt.enrichFunction_(e,"comparer",1,0+t),Jmat.BigInt.enrichFunction_(e,"sqrt",1,1),Jmat.BigInt.enrichFunction_(e,"root",2,1),Jmat.BigInt.enrichFunction_(e,"rootr",1,1),Jmat.BigInt.enrichFunction_(e,"logy",2,1),Jmat.BigInt.enrichFunction_(e,"logr",1,1),Jmat.BigInt.enrichFunction_(e,"log2",1,1),Jmat.BigInt.enrichFunction_(e,"log10",1,1),Jmat.BigInt.enrichFunction_(e,"rlog2",1,0),Jmat.BigInt.enrichFunction_(e,"rlog",1,0),Jmat.BigInt.enrichFunction_(e,"rlog10",1,0),Jmat.BigInt.enrichFunction_(e,"pow",2,1+t),Jmat.BigInt.enrichFunction_(e,"powr",1,1+t),Jmat.BigInt.enrichFunction_(e,"gcd",2,1),Jmat.BigInt.enrichFunction_(e,"egcd",2,0),Jmat.BigInt.enrichFunction_(e,"invmod",2,1),Jmat.BigInt.enrichFunction_(e,"modpow",3,1),Jmat.BigInt.enrichFunction_(e,"isPrimeSimple",1,0),Jmat.BigInt.enrichFunction_(e,"isPrimeMillerRabin",1,0),Jmat.BigInt.enrichFunction_(e,"isPrime",1,0),Jmat.BigInt.enrichFunction_(e,"perfectpow",1,0),Jmat.BigInt.enrichFunction_(e,"nextPrime",1,1),Jmat.BigInt.enrichFunction_(e,"factorize",1,0),Jmat.BigInt.enrichFunction_(e,"factorial",1,1),Jmat.BigInt.enrichFunction_(e,"primorial",1,1)},Jmat.BigInt.enrichFunctions_(),/* @license Jmat.js diff --git a/jmat_bigint.js b/jmat_bigint.js index 1ca1921..f3819ba 100644 --- a/jmat_bigint.js +++ b/jmat_bigint.js @@ -520,6 +520,7 @@ Jmat.BigInt.rshift = function(a, b) { } if(a.minus) result = result.neg(); + B.stripInPlace_(result.a); return result; }; Jmat.BigInt.prototype.rshift = function(b) { @@ -895,9 +896,8 @@ Jmat.BigInt.prototype.comparer = function(b) { var sign = this.getSign(); b = Math.abs(b); - var n = Jmat.BigInt.getNumDigits(this); var r = 0; - for(var i = 0; i < n && r <= b; i++) { + for(var i = 0; i < this.a.length && r <= b; i++) { r *= this.radix; r += this.a[i]; } @@ -1264,12 +1264,25 @@ Jmat.BigInt.primeCache_ = []; // Returns prime factors in array. // Will not factorize if the problem is too difficult (only uses simple checks), last element of result is 0 then to indicate the error. // Result may be probabilistic since a probabilistic prime test is used. +// For inputs smaller than 2, includes the non-composite factors -1, 0 and 1 in the result Jmat.BigInt.factorize = function(a) { var B = Jmat.BigInt; - // avoid infinite loops - if(a.eqr(0)) return [B(0)]; - if(a.eqr(1)) return [B(1)]; + var result = []; + if(a.minus) { + a = B.neg(a); + result.push(B(-1)); + } + if(a.lter(2)) { + if(result.length == 0 || !a.eqr(1)) result.push(a); // return [0] if x is 0, [1] if x is 1. Also avoids infinite loops. + return result; + } + + if (a.ltr(Jmat.Real.BIGGESTJSINT)) { + var r = Jmat.Real.factorize(a); + for(var i = 0; i < r.length; i++) result.push(B(r[i])); + return result; + } // returns a factor, or a itself if end reached (a is prime), or 0 if undetermined because the problem is too hard var f = function(a) { @@ -1303,7 +1316,6 @@ Jmat.BigInt.factorize = function(a) { return B(0); // Not found } - var result = []; for(;;) { var b = f(a); if(b.eqr(0)) { @@ -1852,10 +1864,11 @@ Jmat.BigInt.isPrimeSimple = function(n) { }; //do rounds of Miller-Rabin primality test -//base = the potential witnesses to try as an array, e.g. [2, 3]. The members of the array may be either regular JS number or BigInt +//opt_base = the potential witnesses to try as an array, e.g. [2, 3]. The members of the array may be either regular JS number or BigInt. Optional parameter, if not given, chosen automatically (random) //requires that n is big enough, at least 3. First use Jmat.BigInt.isPrimeSimple, and only use this function if that returns -1. -Jmat.BigInt.isPrimeMillerRabin = function(n, base) { +Jmat.BigInt.isPrimeMillerRabin = function(n, opt_base) { var B = Jmat.BigInt; + var base = opt_base || B.chooseMillerRabinBase_(n); // choose s and odd d such that n = 2^s * d var d = n.divr(2); @@ -1914,11 +1927,11 @@ Jmat.BigInt.chooseMillerRabinBase_ = function(n) { //Is *probably* prime at least. //If you wish to control amount of miller rabin rounds and bases, use isPrimeMillerRabin directly with own bases (first use isPrimeSimple). Jmat.BigInt.isPrime = function(n) { + if(n.ltr(Jmat.Real.BIGGESTJSPRIME)) return Jmat.Real.isPrime(n.toInt()); var init = Jmat.BigInt.isPrimeSimple(n); if(init != -1) return !!init; - var base = Jmat.BigInt.chooseMillerRabinBase_(n); - return Jmat.BigInt.isPrimeMillerRabin(n, base); + return Jmat.BigInt.isPrimeMillerRabin(n); }; /* @@ -1976,6 +1989,7 @@ Jmat.BigInt.getNumDigits = function(x) { }; //strips array a (removing leading zeroes unless it is zero), modifying the object +//NOTE: do not give a BigInt, a must be an array Jmat.BigInt.stripInPlace_ = function(a) { while(a[0] == 0 && a.length > 1) a.shift(); //JS array shift function (a is array, not BigInt) }; @@ -1994,7 +2008,7 @@ Jmat.BigInt.copystrip_ = function(a) { }; //makes copy if needed object needs to be altered, or original if it doesn't have to be stripped -//a is array +//NOTE: do not give a BigInt, a must be an array Jmat.BigInt.maybecopystrip_ = function(a, allowmodify) { if(a.length <= 1 || a[0] != 0) return a; if(!allowmodify) a = Jmat.BigInt.copyarray_(a); diff --git a/jmat_matrix.js b/jmat_matrix.js index cd103db..bf122f4 100644 --- a/jmat_matrix.js +++ b/jmat_matrix.js @@ -2778,8 +2778,10 @@ Jmat.Matrix.rref = function(a) { var p = pivots[k]; // make corresponding elements of row above zero using row operations for(var y = k - 1; y >= 0; y--) { - submul(a, p + 1, k, a.e[y][p], y); - a.e[y][p] = C(0); // make extra-sure it's 0, avoid numerical imprecision + if(!(a.e[y][p].eqr(0))) { + submul(a, p + 1, k, a.e[y][p], y); + a.e[y][p] = C(0); // make extra-sure it's 0, avoid numerical imprecision + } } } diff --git a/jmat_real.js b/jmat_real.js index f9bc03f..31c4717 100644 --- a/jmat_real.js +++ b/jmat_real.js @@ -70,6 +70,7 @@ Jmat.Real.SQRTPI = Math.sqrt(Math.PI); // gamma(0.5) Jmat.Real.EM = 0.57721566490153286060; // Euler-Mascheroni constant Jmat.Real.APERY = 1.2020569; // Apery's constant, zeta(3) Jmat.Real.BIGGESTJSINT = 9007199254740992; // largest number that JS (float64) can represent as integer: 2^53, 0x20000000000000, 9007199254740992 +Jmat.Real.BIGGESTJSPRIME = 9007199254740881; // largest prime number that JS (float64) can represent as integer, that is, the biggest prime smaller than Jmat.Real.BIGGESTJSINT. //////////////////////////////////////////////////////////////////////////////// // Categories @@ -455,12 +456,19 @@ Jmat.Real.smallestPrimeFactor = function(x) { return x; }; -//factorize: returns prime factors as array of real integers, sorted from smallest to largest. x must be real non-negative integer. +//factorize: returns prime factors as array of real integers, sorted from smallest to largest. x must be integer. Jmat.Real.factorize = function(x) { if(x > Jmat.Real.BIGGESTJSINT) return undefined; //too large for the floating point's integer precision, will cause crash - if(x <= 2) return [x]; // return [0] if x is 0, [1] if x is 1 var x = Math.round(x); var result = []; + if(x < 0) { + x = -x; + result.push(-1); + } + if(x <= 2) { + if(result.length == 0 || x != 1) result.push(x); // return [0] if x is 0, [1] if x is 1 + return result; + } for(;;) { if(x < 1) break; var y = Jmat.Real.smallestPrimeFactor(x); @@ -657,6 +665,7 @@ Jmat.Real.pascal_triangle = function(n, p) { //greatest common divisor Jmat.Real.gcd = function(x, y) { if(!Jmat.Real.isInt(x) || !Jmat.Real.isInt(y)) return NaN; //prevents infinite loop if both x and y are NaN. Also, reals are not supported here. + if(Math.abs(x) > Jmat.Real.BIGGESTJSINT || Math.abs(y) > Jmat.Real.BIGGESTJSINT) return NaN; // does not work above JS integer precision //Euclid's algorithm for(;;) { if(y == 0) return Math.abs(x); //if x or y are negative, the result is still positive by the definition