Skip to content

Commit 168e3e7

Browse files
committed
major maintenance version, new NumPy shorthands
1 parent 266d81a commit 168e3e7

30 files changed

+3498
-872
lines changed

docs/class_examples.html

+53-2
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ <h1>Pizza3 Documentation - Usage Examples</h1>
300300
</header>
301301
<div id='content'>
302302
<div id='nav'>
303-
<p><strong>Version:</strong> Pizza3 v.1.003</p>
303+
<p><strong>Version:</strong> Pizza3 v.1.004</p>
304304
<p><strong>Maintained by:</strong> INRAE\olivier.vitrac@agroparistech.fr</p>
305305
<hr>
306306
<ul>
@@ -353,7 +353,7 @@ <h2>Welcome to Usage Class Examples</h2>
353353
<p>Select a module in the left menu to view usage examples. These examples are not for production and are automatically extracted from the main section of each module.</p>
354354
<p>Back to the <a href='index.html'>Python'Pizza3 documentation</a>.</p>
355355
<p>When no module is selected, you see this welcome page. They are used to test classes with typical codes. The main section often serves as a testing script, example usage block, or self-contained test block. It's a way to demonstrate how the module's functionality works or to run simple unit tests and examples inline.</p>
356-
<p>Generated on: 2025-01-19 19:09:36</p>
356+
<p>Generated on: 2025-01-20 18:47:50</p>
357357

358358
</div>
359359

@@ -1463,6 +1463,57 @@ <h2>Welcome to Usage Class Examples</h2>
14631463
<span class="n">p</span><span class="o">.</span><span class="n">p</span> <span class="o">=</span> <span class="s2">&quot;the value of a[0] is $</span><span class="si">{a[0]}</span><span class="s2">&quot;</span>
14641464
<span class="n">p</span><span class="o">.</span><span class="n">q</span> <span class="o">=</span> <span class="s2">&quot;1+1&quot;</span>
14651465
<span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">p</span><span class="p">))</span>
1466+
</pre>
1467+
</div>
1468+
<p>Example with new NumPy shorthands</p>
1469+
1470+
<button type="button" class="collapsible">Show Code Example 16</button>
1471+
<div class="content">
1472+
<pre class="code"><span class="n">p</span> <span class="o">=</span> <span class="n">param</span><span class="p">(</span><span class="n">debug</span><span class="o">=</span><span class="kc">True</span><span class="p">);</span>
1473+
<span class="n">p</span><span class="o">.</span><span class="n">a</span> <span class="o">=</span> <span class="mf">1.0</span>
1474+
<span class="n">p</span><span class="o">.</span><span class="n">b</span> <span class="o">=</span> <span class="s2">&quot;10.0&quot;</span>
1475+
<span class="n">p</span><span class="o">.</span><span class="n">c</span> <span class="o">=</span> <span class="s2">&quot;$[$</span><span class="si">{a}</span><span class="s2">,2,3]*$</span><span class="si">{b}</span><span class="s2">&quot;</span> <span class="c1"># Create a Numpy vector from an operation</span>
1476+
<span class="n">p</span><span class="o">.</span><span class="n">n</span> <span class="o">=</span> <span class="s2">&quot;$[0,0,1]&quot;</span> <span class="c1"># another one</span>
1477+
<span class="n">p</span><span class="o">.</span><span class="n">o1</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{n}</span><span class="s2">&quot;</span> <span class="c1"># create a copy</span>
1478+
<span class="n">p</span><span class="o">.</span><span class="n">o2</span> <span class="o">=</span> <span class="s2">&quot;$[$</span><span class="si">{a}</span><span class="s2">,2,3]&quot;</span> <span class="c1"># create a Numpy vector</span>
1479+
<span class="n">p</span><span class="o">.</span><span class="n">o3</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{o1}</span><span class="s2"> @ @</span><span class="si">{o2}</span><span class="s2">.T&quot;</span> <span class="c1"># multiplication between two vectots</span>
1480+
<span class="n">p</span><span class="o">.</span><span class="n">d</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{n}</span><span class="s2">.T @ $[[$</span><span class="si">{a}</span><span class="s2">,2,3]]&quot;</span> <span class="c1"># another one</span>
1481+
<span class="n">p</span><span class="o">.</span><span class="n">f</span> <span class="o">=</span> <span class="s2">&quot;($[$</span><span class="si">{a}</span><span class="s2">,2,3]*$</span><span class="si">{b}</span><span class="s2">) @ np.array([[0,0,1]]).T&quot;</span> <span class="c1"># another one using explicitly NumPy</span>
1482+
<span class="n">p</span><span class="o">.</span><span class="n">nT</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{n}</span><span class="s2">.T&quot;</span> <span class="c1"># transpose of a vector/matrix</span>
1483+
<span class="n">p</span><span class="o">.</span><span class="n">m</span> <span class="o">=</span> <span class="s2">&quot;$</span><span class="si">{n.T}</span><span class="s2">*2&quot;</span> <span class="c1"># this operation is illegal and will be kept as a string</span>
1484+
<span class="n">p</span><span class="o">.</span><span class="n">o</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{n}</span><span class="s2">.T*2&quot;</span> <span class="c1"># this one is the correct one</span>
1485+
<span class="n">p</span><span class="o">.</span><span class="n">p</span> <span class="o">=</span> <span class="s2">&quot;$[[1,2],[3,4]]&quot;</span> <span class="c1"># Create a 2D Numpy array</span>
1486+
<span class="n">p</span><span class="o">.</span><span class="n">q</span> <span class="o">=</span> <span class="s2">&quot;$</span><span class="si">{p[1,1]}</span><span class="s2">&quot;</span> <span class="c1"># index a 2D NumPy array</span>
1487+
<span class="n">p</span><span class="o">.</span><span class="n">r</span> <span class="o">=</span> <span class="s2">&quot;$</span><span class="si">{p[:,1]}</span><span class="s2">&quot;</span> <span class="c1"># this is a valid syntax to get the slice as a list</span>
1488+
<span class="n">p</span><span class="o">.</span><span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{p}</span><span class="s2">[:,1]+1&quot;</span> <span class="c1"># use this syntax if you need apply an operation to the slice</span>
1489+
</pre>
1490+
</div>
1491+
<p>more advanced</p>
1492+
1493+
<button type="button" class="collapsible">Show Code Example 17</button>
1494+
<div class="content">
1495+
<pre class="code"><span class="n">p</span><span class="o">.</span><span class="n">V1</span> <span class="o">=</span> <span class="s2">&quot;$[1.0,0.2,0.03]&quot;</span>
1496+
<span class="n">p</span><span class="o">.</span><span class="n">V2</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{V1}</span><span class="s2">+1&quot;</span>
1497+
<span class="n">p</span><span class="o">.</span><span class="n">V3</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{V1}</span><span class="s2">.T @ @</span><span class="si">{V2}</span><span class="s2">&quot;</span>
1498+
<span class="n">p</span><span class="o">.</span><span class="n">V4</span> <span class="o">=</span> <span class="s2">&quot;np.diag(@</span><span class="si">{V3}</span><span class="s2">)&quot;</span>
1499+
<span class="n">p</span><span class="o">.</span><span class="n">V5</span> <span class="o">=</span> <span class="s2">&quot;np.linalg.eig(@</span><span class="si">{V3}</span><span class="s2">)&quot;</span>
1500+
<span class="n">p</span><span class="o">.</span><span class="n">out</span> <span class="o">=</span> <span class="s2">&quot;the first eigenvalue is: $</span><span class="si">{V5.eigenvalues[0]}</span><span class="s2">&quot;</span>
1501+
<span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">p</span><span class="p">))</span>
1502+
</pre>
1503+
</div>
1504+
<p>Advanced NumPy example</p>
1505+
1506+
<button type="button" class="collapsible">Show Code Example 18</button>
1507+
<div class="content">
1508+
<pre class="code"><span class="n">p</span> <span class="o">=</span> <span class="n">param</span><span class="p">(</span><span class="n">debug</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
1509+
<span class="n">p</span><span class="o">.</span><span class="n">p</span> <span class="o">=</span> <span class="s2">&quot;$[[1, 2], [3, 4]]&quot;</span> <span class="c1"># Create a 2D NumPy array</span>
1510+
<span class="n">p</span><span class="o">.</span><span class="n">q</span> <span class="o">=</span> <span class="s2">&quot;$</span><span class="si">{p[1, 1]}</span><span class="s2">&quot;</span> <span class="c1"># Indexing: retrieves 4</span>
1511+
<span class="n">p</span><span class="o">.</span><span class="n">r</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{p}</span><span class="s2">[:,1] + 1&quot;</span> <span class="c1"># Add 1 to the second column</span>
1512+
<span class="n">p</span><span class="o">.</span><span class="n">s</span> <span class="o">=</span> <span class="s2">&quot;@</span><span class="si">{p}</span><span class="s2">[:, 1].reshape(-1, 1) @ @</span><span class="si">{r}</span><span class="s2">&quot;</span> <span class="c1"># perform p(:,1)&#39;*s in Matlab sense</span>
1513+
<span class="n">p</span><span class="o">.</span><span class="n">t</span> <span class="o">=</span> <span class="s2">&quot;np.linalg.eig(@</span><span class="si">{s}</span><span class="s2">)&quot;</span>
1514+
<span class="n">p</span><span class="o">.</span><span class="n">w</span> <span class="o">=</span> <span class="s2">&quot;$</span><span class="si">{t.eigenvalues[0]}</span><span class="s2"> + $</span><span class="si">{t.eigenvalues[1]}</span><span class="s2">&quot;</span> <span class="c1"># sum of eigen values</span>
1515+
<span class="n">p</span><span class="o">.</span><span class="n">x</span> <span class="o">=</span> <span class="s2">&quot;$[[0,$</span><span class="si">{t.eigenvalues[0]}</span><span class="s2">+$</span><span class="si">{t.eigenvalues[1]}</span><span class="s2">]]&quot;</span> <span class="c1"># horizontal concat à la Matlab</span>
1516+
<span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">p</span><span class="p">))</span>
14661517
</pre>
14671518
</div>
14681519
</div>

docs/class_examples_details.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
"full_path": "/home/olivi/han/dev/Pizza3/pizza/private/mstruct.py",
8282
"local_path": "pizza/private/mstruct.py",
8383
"url_anchor": "#pizza_private_mstruct",
84-
"number_of_examples": 15
84+
"number_of_examples": 18
8585
},
8686
"pizza.private.utils": {
8787
"full_path": "/home/olivi/han/dev/Pizza3/pizza/private/utils.py",

docs/datatemplate3.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<div style="border: 2px solid red; padding: 10px; margin-bottom: 20px;">
9797
<h3 style="color: red;">Notice</h3>
9898
<p>This is a raw view of the Python source code due to an error in generating the documentation.</p>
99-
<p><strong>Date of Conversion:</strong> 2025-01-19 19:09:38</p>
99+
<p><strong>Date of Conversion:</strong> 2025-01-20 18:47:53</p>
100100
</div>
101101

102102
<h2></h2>

docs/dump_case4.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<div style="border: 2px solid red; padding: 10px; margin-bottom: 20px;">
9797
<h3 style="color: red;">Notice</h3>
9898
<p>This is a raw view of the Python source code due to an error in generating the documentation.</p>
99-
<p><strong>Date of Conversion:</strong> 2025-01-19 19:09:39</p>
99+
<p><strong>Date of Conversion:</strong> 2025-01-20 18:47:53</p>
100100
</div>
101101

102102
<h2></h2>

docs/dumpreduce.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<div style="border: 2px solid red; padding: 10px; margin-bottom: 20px;">
9797
<h3 style="color: red;">Notice</h3>
9898
<p>This is a raw view of the Python source code due to an error in generating the documentation.</p>
99-
<p><strong>Date of Conversion:</strong> 2025-01-19 19:09:39</p>
99+
<p><strong>Date of Conversion:</strong> 2025-01-20 18:47:54</p>
100100
</div>
101101

102102
<h2></h2>

docs/dumptemplate.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<div style="border: 2px solid red; padding: 10px; margin-bottom: 20px;">
9797
<h3 style="color: red;">Notice</h3>
9898
<p>This is a raw view of the Python source code due to an error in generating the documentation.</p>
99-
<p><strong>Date of Conversion:</strong> 2025-01-19 19:09:40</p>
99+
<p><strong>Date of Conversion:</strong> 2025-01-20 18:47:55</p>
100100
</div>
101101

102102
<h2></h2>

docs/dumptemplate3.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<div style="border: 2px solid red; padding: 10px; margin-bottom: 20px;">
9797
<h3 style="color: red;">Notice</h3>
9898
<p>This is a raw view of the Python source code due to an error in generating the documentation.</p>
99-
<p><strong>Date of Conversion:</strong> 2025-01-19 19:09:40</p>
99+
<p><strong>Date of Conversion:</strong> 2025-01-20 18:47:55</p>
100100
</div>
101101

102102
<h2></h2>

docs/geometry.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
<div style="border: 2px solid red; padding: 10px; margin-bottom: 20px;">
9797
<h3 style="color: red;">Notice</h3>
9898
<p>This is a raw view of the Python source code due to an error in generating the documentation.</p>
99-
<p><strong>Date of Conversion:</strong> 2025-01-19 19:09:48</p>
99+
<p><strong>Date of Conversion:</strong> 2025-01-20 18:48:02</p>
100100
</div>
101101

102102
<h2></h2>

0 commit comments

Comments
 (0)