conjugate_gradient.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Conjugate Gradient Example</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <meta name="description" content="">
  8. <meta name="author" content="Ben Frederickson">
  9. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" />
  10. <style>
  11. .ticks {
  12. font: 10px sans-serif;
  13. }
  14. .track,
  15. .track-inset,
  16. .track-overlay {
  17. stroke-linecap: round;
  18. }
  19. .track {
  20. stroke: #000;
  21. stroke-opacity: 0.3;
  22. stroke-width: 10px;
  23. }
  24. .track-inset {
  25. stroke: #ddd;
  26. stroke-width: 8px;
  27. }
  28. .track-overlay {
  29. pointer-events: stroke;
  30. stroke-width: 50px;
  31. cursor: crosshair;
  32. }
  33. .handle {
  34. fill: #fff;
  35. stroke: #000;
  36. stroke-opacity: 0.5;
  37. stroke-width: 1.25px;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <div class="container">
  43. <div class = "row"><div class="col-md-6 col-md-offset-3">
  44. <div id ="cg" >
  45. <div style="text-align:center"><div style="display:inline-block;">
  46. <h4>
  47. <div class="btn-group">
  48. <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
  49. <span class="function_sig">
  50. \(f(x, y) \)
  51. </span>
  52. <span class="caret"></span>
  53. </button>
  54. <ul class="dropdown-menu" role="menu">
  55. <li><a class="function_flower">
  56. \(x^2 + y^2 + x \sin y + y \sin x \)
  57. </a></li>
  58. <li><a class="function_himmelblau">
  59. \((x^2 + y - 11)^2 + (x+y^2 -7)^2\)
  60. </a></li>
  61. <li><a class="function_banana">
  62. \((1-x)^2 + 100 (y - x^2) ^2\)
  63. </a></li>
  64. <li><a class="function_matyas">
  65. \(.26 (x^2 + y^2) + .48 x y \)
  66. </a></li>
  67. </ul>
  68. </div>
  69. <span>\(=\)</span>
  70. <span class="function_label">
  71. \((1-x)^2 + 100 (y - x^2) ^2\)
  72. </span>
  73. </h4>
  74. </div></div>
  75. <div id="vis"></div>
  76. <!--
  77. <div class="row">
  78. <form class="form-inline" role="form">
  79. <div class="form-group col-xs-12 col-md-12">
  80. <div style="text-align:center"><div style="display:inline-block;">
  81. <label class="r-only" for="learningrate">Learning Rate \(\delta\)
  82. <span id="learningratevalue">= 0.05</span>
  83. </label>
  84. </div></div>
  85. <div id="learningrate"></div>
  86. </div>
  87. </form>
  88. </div>
  89. -->
  90. <div style="text-align:center"><div style="display:inline-block;">
  91. <div class="row">
  92. <div class ="iterations"></div>
  93. </div>
  94. </div></div>
  95. </div>
  96. </div>
  97. </div>
  98. </body>
  99. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  100. <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
  101. <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.2.3/d3.min.js"></script>
  102. <script src="../build/fmin.js"></script>
  103. <script src="../build/fmin_vis.js"></script>
  104. <script>
  105. var cg_plot = new fmin_vis.ConjugateGradientContour(d3.select("#cg"));
  106. </script>
  107. <script type="text/x-mathjax-config">
  108. MathJax.Hub.Config({
  109. showMathMenu: false,
  110. extensions: ["tex2jax.js"],
  111. jax: ["input/TeX", "output/HTML-CSS"],
  112. tex2jax: {
  113. inlineMath: [ ['$','$'], ["\\(","\\)"] ],
  114. displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
  115. processEscapes: true
  116. },
  117. "HTML-CSS": { availableFonts: ["TeX"] }
  118. });
  119. </script>
  120. <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
  121. </html>