theorem.js
Version:
A Math library for computation in JavaScript
171 lines (162 loc) • 6.7 kB
HTML
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>TheoremJS</title>
<meta name="description" content="A Math framework for computation in JavaScript">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="manifest" href="site.webmanifest">
<link rel="apple-touch-icon" href="icon.png">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<!-- Place favicon.ico in the root directory -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700&subset=latin-ext">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<!-- Twitter card meta -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@arthur_guiot">
<meta name="twitter:creator" content="@arthur_guiot">
<meta name="twitter:title" content="TheoremJS">
<meta name="twitter:description" content="A Math framework for computation in JavaScript">
<meta name="twitter:image" content="https://theorem.js.org/img/marketing.jpg">
<!-- Open graph met atags -->
<meta property="og:title" content="TheoremJS" />
<meta property="og:description" content="A Math framework for computation in JavaScript" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://theorem.js.org/" />
<meta property="og:image" content="https://theorem.js.org/img/marketing.jpg" />
</head>
<body>
<!--[if lte IE 9]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
<![endif]-->
<nav role="navigation">
<div id="menuToggle">
<!--
A fake / hidden checkbox is used as click reciever,
so you can use the :checked selector on it.
-->
<input type="checkbox" />
<!--
Some spans to act as a hamburger.
They are acting like a real hamburger,
not that McDonalds stuff.
-->
<span></span>
<span></span>
<span></span>
<!--
Too bad the menu has to be inside of the button
but hey, it's pure CSS magic.
-->
<ul id="menu">
<a href="https://github.com/arguiot/TheoremJS">
<li>
<lunar-icon icon="github"></lunar-icon> GitHub</li>
</a>
<a href="https://github.com/arguiot/TheoremJS/wiki">
<li>
<lunar-icon icon="book"></lunar-icon> Docs</li>
</a>
<a href="mailto:arguiot@gmail.com">
<li>
<lunar-icon icon="mail"></lunar-icon> Contact</li>
</a>
<hr>
<a href="https://github.com/arguiot/Descartes/wiki">
<li>
<lunar-icon icon="sigma"></lunar-icon> Descartes docs</li>
</a>
</ul>
</div>
</nav>
<div class="header">
<img src="img/TheoremJS.svg" alt="TheoremJS Logo" height="200">
<h1>TheoremJS</h1>
<p>A Math framework for computation in JavaScript</p>
</div>
<article>
<section>
<h2>Tons of functions</h2>
<p>
TheoremJS is packed up with tons of useful mathematical functions. It is composed of functions in most mathematical fields such as algebra, number theory, statistics, etc... It was designed to fit your need, whatever you are trying to do.
</p>
</section>
<section>
<h2>Fast</h2>
<p>
With TheoremJS, you won't feel the need of running the code on a server, you can run it right on the browser, or on a NodeJS notebook (Jupyter like). Even though we loose performances with <a href="http://mikemcl.github.io/bignumber.js/">BigNumber</a>,
our algorithm are well engineered and ensure decent performances on every devices.
</p>
</section>
<section>
<h2>Scalable</h2>
<p>
You can use TheoremJS for every projects, ranging from doing your math homework to launch a rocket into deep space. <i>(Ok, maybe if you're planning to launch a rocket into space, you might want to use other tools in addition to TheoremJS)</i>
</p>
</section>
<section>
<h2>Written in JavaScript ❤️</h2>
<p>
JavaScript is an easy to use scripting language that is perfect for mathematical computation: it's fast and it has a lot of built-in functions. TheoremJS was built on top <a href="http://mikemcl.github.io/bignumber.js/">BigNumber</a> to ensure that
all the math is done with precision.
</p>
</section>
<section class="sep">
<h2 align="center">FAQ</h2>
<h3>Does it fix the floating point precision bug in JS?</h3>
<p>
<b>Yes.</b> We use the <a href="http://mikemcl.github.io/bignumber.js/">BigNumber</a> library to fix that.
</p>
<h3>Can I graph some cool stuff with it? A bit like using matplotlib in Python?</h3>
<p>
<b>Yes, but</b> you won't be able to do it only with <b>TheoremJS</b>. I've built a small library for this, it's called <a href="https://arguiot.github.io/Descartes">Descartes</a>.
</p>
<h3>Can I use it with Jupyter notebooks?</h3>
<p>
While <b>TheoremJS</b> doesn't have an official Jupyter kernel, it should work fine with the <a href="https://github.com/notablemind/jupyter-nodejs">NodeJS kernel</a>. It will also work fine in other "notebooks" such as <a href="https://runkit.com">RunKit</a>.
</p>
</section>
<section class="sep">
<h2>Installation</h2>
<p>
Are you conviced? If yes, open a terminal and write down the code below.
<script src="https://gist.github.com/arguiot/57e74de4b343ac8a03c071509139b5ff.js"></script>
</p>
<p>
Or if you want to do a website:
<script src="https://gist.github.com/arguiot/7a9a465cb9d25137bcbb388ccbd87d45.js" charset="utf-8"></script>
</p>
</section>
</article>
<footer>
<div class="container">
Copyright © 2017 - <span var="year">2018</span> <a href="https://arguiot.github.io">Arthur Guiot</a>
<small>
MIT License
</small>
</div>
</footer>
<script src="https://unpkg.com/lunar-icons/dist/lunar-icons.min.js"></script>
<script>
lunarIcons.replace()
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/DisplayJS/2.3.0/display.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/89/three.min.js"></script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>
<!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
<script>
window.ga = function() {
ga.q.push(arguments)
};
ga.q = [];
ga.l = +new Date;
ga('create', 'UA-109503398-4', 'auto');
ga('send', 'pageview')
</script>
<script src="https://www.google-analytics.com/analytics.js" async defer></script>
</body>
</html>