mirror of
https://github.com/redoules/redoules.github.io.git
synced 2025-12-13 00:09:33 +00:00
added an article
added an article about eigenvalues extraction
This commit is contained in:
parent
c6b2c47da9
commit
8342e58a2f
@ -286,7 +286,7 @@ maxuploadtarget=5000
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -161,7 +161,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -322,7 +322,7 @@
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<ul>
|
||||
<li>Coming soon.</li>
|
||||
<li><a href="./python/Efficient_extraction_of_eigenvalues_from_a_list_of_tensors.html">Efficient extraction of eigenvalues from a list of tensors</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -548,7 +548,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -144,7 +144,7 @@ However, you can use the following command to do it </p>
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -143,7 +143,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -148,7 +148,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -167,7 +167,7 @@ none 0 0 0 - /config
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -256,7 +256,7 @@ wifi0 Link encap:UNSPEC HWaddr 5C-51-4F-41-7A-AD-00-00-00-00-00-00-00-00-00
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -172,7 +172,7 @@ USER;PID;%CPU;%MEM;VSZ;RSS;TTY;STAT;START;TIME;COMMAND</p>
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -158,7 +158,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -151,7 +151,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -160,7 +160,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -1033,7 +1033,7 @@ Top dislike features:
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -145,7 +145,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -193,7 +193,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -0,0 +1,290 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
||||
<meta name="description" content="Data Science for Political and Social Phenomena">
|
||||
<meta name="author" content="Guillaume Redoulès">
|
||||
<link rel="icon" href="../favicon.ico">
|
||||
|
||||
<title>Efficient extraction of eigenvalues from a list of tensors - Python</title>
|
||||
|
||||
<!-- JQuery -->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
||||
<script>
|
||||
window.jQuery || document.write('<script src="../theme/js/jquery.min.js"><\/script>')
|
||||
</script>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link rel="stylesheet" href="../theme/css/bootstrap.css" />
|
||||
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
<link rel="stylesheet" type="text/css" href="../theme/css/ie10-viewport-bug-workaround.css" />
|
||||
<!-- Custom styles for this template -->
|
||||
<link rel="stylesheet" type="text/css" href="../theme/css/style.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../theme/css/notebooks.css" />
|
||||
<link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700|Roboto:400,500,700' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
|
||||
<meta name="tags" content="Algorithms" />
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="..">Guillaume Redoulès</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse" id="searchbar">
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">About<span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="../pages/about.html">About Guillaume</a></li>
|
||||
<li><a href="https://github.com/redoules">GitHub</a></li>
|
||||
<li><a href="https://www.linkedin.com/in/guillaume-redoul%C3%A8s-33923860/">LinkedIn</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Data Science<span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="..#Blog">Blog</a></li>
|
||||
<li><a href="..#Python">Python</a></li>
|
||||
<li><a href="..#Bash">Bash</a></li>
|
||||
<li><a href="..#SQL">SQL</a></li>
|
||||
<li><a href="..#Mathematics">Mathematics</a></li>
|
||||
<li><a href="..#Machine_Learning">Machine Learning</a></li>
|
||||
<li><a href="..#Projects">Projects</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Projects<span class="caret"></span></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="https://github.com/redoules/redoules.github.io">Notes (Github)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<!--<li class="dropdown">
|
||||
<a href="../feeds/blog.rss.xml">Blog RSS</a>
|
||||
</li>-->
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<form class="navbar-form" action="../search.html" onsubmit="return validateForm(this.elements['q'].value);">
|
||||
<div class="form-group" style="display:inline;">
|
||||
<div class="input-group" style="display:table;">
|
||||
<span class="input-group-addon" style="width:1%;"><span class="glyphicon glyphicon-search"></span></span>
|
||||
<input class="form-control search-query" name="q" id="tipue_search_input" placeholder="e.g. scikit KNN, pandas merge" required autocomplete="off" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<!--/.nav-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- end of header section -->
|
||||
<div class="container">
|
||||
<!-- <div class="alert alert-warning" role="alert">
|
||||
Did you find this page useful? Please do me a quick favor and <a href="#" class="alert-link">endorse me for data science on LinkedIn</a>.
|
||||
</div> -->
|
||||
<section id="content" class="body">
|
||||
<header>
|
||||
<h1>
|
||||
Efficient extraction of eigenvalues from a list of tensors
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<time class="published" datetime="2018-08-22T22:04:00+02:00">
|
||||
22 août 2018
|
||||
</time>
|
||||
</li>
|
||||
<li>Python</li>
|
||||
<li>Algorithms</li>
|
||||
</ol>
|
||||
</header>
|
||||
<div class='article_content'>
|
||||
<p>When you manipulate FEM results you generally have either a:
|
||||
<em> scalar field,
|
||||
</em> vector field,
|
||||
* tensor field.</p>
|
||||
<p>With tensorial results, it is often useful to extract the eigenvalues in order to find the principal values.</p>
|
||||
<p>I have found that it is easier to store the components of the tensors in a 6 column pandas dataframe (because of the symmetric property of stress and strain tensors)</p>
|
||||
<div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
|
||||
<span class="n">node</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1001</span><span class="p">,</span> <span class="mi">1002</span><span class="p">,</span> <span class="mi">1003</span><span class="p">,</span> <span class="mi">1004</span><span class="p">]</span> <span class="c1">#when dealing with FEM results you should remember at which element/node the result is computed (in the example, let's assume that we look at node from 1001 to 1004)</span>
|
||||
<span class="n">tensor1</span><span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span> <span class="c1">#eigen : 1</span>
|
||||
<span class="n">tensor2</span><span class="o">=</span> <span class="p">[</span><span class="mi">4</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span> <span class="c1">#eigen : 5.58443, -1.77931, -0.805118</span>
|
||||
<span class="n">tensor3</span><span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span> <span class="c1">#eigen : 8.85036, 4.46542, -1.31577</span>
|
||||
<span class="n">tensor4</span><span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span> <span class="c1">#eigen : 1, 2, 3</span>
|
||||
<span class="n">df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">([</span><span class="n">tensor1</span><span class="p">,</span> <span class="n">tensor2</span><span class="p">,</span> <span class="n">tensor3</span><span class="p">,</span> <span class="n">tensor4</span><span class="p">],</span> <span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s2">"XX"</span><span class="p">,</span><span class="s2">"YY"</span><span class="p">,</span><span class="s2">"ZZ"</span><span class="p">,</span><span class="s2">"XY"</span><span class="p">,</span><span class="s2">"XZ"</span><span class="p">,</span><span class="s2">"YZ"</span><span class="p">])</span>
|
||||
<span class="n">df</span><span class="o">.</span><span class="n">index</span> <span class="o">=</span> <span class="n">node</span>
|
||||
<span class="n">df</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<div>
|
||||
<style scoped>
|
||||
.dataframe tbody tr th:only-of-type {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.dataframe tbody tr th {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.dataframe thead th {
|
||||
text-align: right;
|
||||
}
|
||||
</style>
|
||||
<table border="1" class="dataframe">
|
||||
<thead>
|
||||
<tr style="text-align: right;">
|
||||
<th></th>
|
||||
<th>XX</th>
|
||||
<th>YY</th>
|
||||
<th>ZZ</th>
|
||||
<th>XY</th>
|
||||
<th>XZ</th>
|
||||
<th>YZ</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>1001</th>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>1002</th>
|
||||
<td>4</td>
|
||||
<td>-1</td>
|
||||
<td>0</td>
|
||||
<td>2</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>1003</th>
|
||||
<td>1</td>
|
||||
<td>6</td>
|
||||
<td>5</td>
|
||||
<td>3</td>
|
||||
<td>3</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>1004</th>
|
||||
<td>1</td>
|
||||
<td>2</td>
|
||||
<td>3</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p>If you want to extract the eigenvalues of a tensor with numpy you have to pass a n by n ndarray to the eigenvalue function. In order to avoid having to loop over each node, this oneliner is highly optimized and will help you invert a large number of tensors efficiently.</p>
|
||||
<p>The steps are basically, create a list of n by n values (here n=3) in the right order => reshape it to a list of tensors => pass it to the eigenvals function</p>
|
||||
<div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
|
||||
<span class="kn">from</span> <span class="nn">numpy</span> <span class="kn">import</span> <span class="n">linalg</span> <span class="k">as</span> <span class="n">LA</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<div class="highlight"><pre><span></span><span class="n">eigenvals</span> <span class="o">=</span> <span class="n">LA</span><span class="o">.</span><span class="n">eigvals</span><span class="p">(</span><span class="n">df</span><span class="p">[[</span><span class="s2">"XX"</span><span class="p">,</span><span class="s2">"XY"</span><span class="p">,</span><span class="s2">"XZ"</span><span class="p">,</span><span class="s2">"XY"</span><span class="p">,</span><span class="s2">"YY"</span><span class="p">,</span><span class="s2">"YZ"</span><span class="p">,</span><span class="s2">"XZ"</span><span class="p">,</span><span class="s2">"YZ"</span><span class="p">,</span><span class="s2">"ZZ"</span><span class="p">]]</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">df</span><span class="p">),</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">))</span>
|
||||
<span class="n">eigenvals</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<div class="highlight"><pre><span></span>array([[ 1. , 1. , 1. ],
|
||||
[ 5.58442834, -0.80511809, -1.77931025],
|
||||
[-1.31577211, 8.85035616, 4.46541595],
|
||||
[ 1. , 2. , 3. ]])
|
||||
</pre></div>
|
||||
</div>
|
||||
<aside>
|
||||
<div class="bug-reporting__panel">
|
||||
<h3>Find an error or bug? Have a suggestion?</h3>
|
||||
<p>Everything on this site is avaliable on GitHub. Head on over and <a href='https://github.com/redoules/redoules.github.io/issues/new'>submit an issue.</a> You can also message me directly by <a href='mailto:guillaume.redoules@gadz.org'>email</a>.</p>
|
||||
</div>
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
<!-- start of footer section -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
</center>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- This jQuery line finds any span that contains code highlighting classes and then selects the parent <pre> tag and adds a border. This is done as a workaround to visually distinguish the code inputs and outputs -->
|
||||
<script>
|
||||
$( ".hll, .n, .c, .err, .k, .o, .cm, .cp, .c1, .cs, .gd, .ge, .gr, .gh, .gi, .go, .gp, .gs, .gu, .gt, .kc, .kd, .kn, .kp, .kr, .kt, .m, .s, .na, .nb, .nc, .no, .nd, .ni, .ne, .nf, .nl, .nn, .nt, .nv, .ow, .w, .mf, .mh, .mi, .mo, .sb, .sc, .sd, .s2, .se, .sh, .si, .sx, .sr, .s1, .ss, .bp, .vc, .vg, .vi, .il" ).parent( "pre" ).css( "border", "1px solid #DEDEDE" );
|
||||
</script>
|
||||
|
||||
|
||||
<!-- Load Google Analytics -->
|
||||
<script>
|
||||
/*
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', 'UA-66582-32', 'auto');
|
||||
ga('send', 'pageview');
|
||||
*/
|
||||
</script>
|
||||
<!-- End of Google Analytics -->
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="../theme/js/bootstrap.min.js"></script>
|
||||
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
<script src="../theme/js/ie10-viewport-bug-workaround.js"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -235,7 +235,7 @@ At line 5 there is a plum which is purple and contains 28 kcal
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -379,7 +379,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -169,7 +169,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -193,7 +193,7 @@ If you try to open a non existing file in read mode 'r', a FileNotFoundError wil
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -176,7 +176,7 @@ conda install numpy --channel intel --override-channels
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -238,7 +238,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -186,7 +186,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -171,7 +171,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -340,7 +340,7 @@ However, exporting to a sql database can prove very useful. Indeed, having a wel
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -338,7 +338,7 @@ http://127.0.0.1:8787/status</p>
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -219,7 +219,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -248,7 +248,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -212,7 +212,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -382,7 +382,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -151,7 +151,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -112,7 +112,7 @@
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -5,7 +5,7 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
|
||||
<url>
|
||||
<loc>redoules.github.io/</loc>
|
||||
<lastmod>2018-08-22T21:37:20-00:00</lastmod>
|
||||
<lastmod>2018-08-22T22:16:59-00:00</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
<priority>0.5</priority>
|
||||
</url>
|
||||
@ -17,6 +17,13 @@ xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<priority>0.5</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>redoules.github.io/python/Efficient_extraction_of_eigenvalues_from_a_list_of_tensors.html</loc>
|
||||
<lastmod>2018-08-22T22:04:00+02:00</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.5</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>redoules.github.io/python/Optimized_numpy_random_intel.html</loc>
|
||||
<lastmod>2018-08-22T21:29:00+02:00</lastmod>
|
||||
|
||||
@ -344,7 +344,7 @@ Done.
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -631,7 +631,7 @@ Done.
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -216,7 +216,7 @@ Done.
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
@ -346,7 +346,7 @@ Done.
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-muted">
|
||||
<center>This project contains 32 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<center>This project contains 33 pages and is available on <a href="https://github.com/redoules/redoules.github.io">GitHub</a>.
|
||||
<br/>
|
||||
Copyright © Guillaume Redoulès,
|
||||
<time datetime="2018">2018</time>.
|
||||
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user