Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. function A(i,j) {
  2. return 1/((i+j)*(i+j+1)/2+i+1);
  3. }
  4.  
  5. function Au(u,v) {
  6. for (var i=0; i<u.length; ++i) {
  7. var t = 0;
  8. for (var j=0; j<u.length; ++j)
  9. t += A(i,j) * u[j];
  10. v[i] = t;
  11. }
  12. }
  13.  
  14. function Atu(u,v) {
  15. for (var i=0; i<u.length; ++i) {
  16. var t = 0;
  17. for (var j=0; j<u.length; ++j)
  18. t += A(j,i) * u[j];
  19. v[i] = t;
  20. }
  21. }
  22.  
  23. function AtAu(u,v,w) {
  24. Au(u,w);
  25. Atu(w,v);
  26. }
  27.  
  28. function spectralnorm(n) {
  29. var i, u=[], v=[], w=[], vv=0, vBv=0;
  30. for (i=0; i<n; ++i) {
  31. u[i] = 1; v[i] = w[i] = 0;
  32. }
  33. for (i=0; i<10; ++i) {
  34. AtAu(u,v,w);
  35. AtAu(v,u,w);
  36. }
  37. for (i=0; i<n; ++i) {
  38. vBv += u[i]*v[i];
  39. vv += v[i]*v[i];
  40. }
  41. return Math.sqrt(vBv/vv);
  42. }
  43.  
  44. print(spectralnorm(arguments[0]).toFixed(9));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement