Skip to content

Commit f8f6b18

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 347fc9c commit f8f6b18

File tree

3 files changed

+86
-67
lines changed

3 files changed

+86
-67
lines changed

reference/linalg/triangular_matrix_matrix_left_solve.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484

8585
</head>
8686
<body>
87-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;linalg&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;namespace&#34;: [&#34;std::linalg&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;c9133e6d175ee7e771e17c12de2d702c3657bfbf&#34;, &#34;source&#34;: &#34;#include &lt;array&gt;\n#include &lt;functional&gt;\n#include &lt;iostream&gt;\n#include &lt;linalg&gt;\n#include &lt;mdspan&gt;\n#include &lt;vector&gt;\n\ntemplate &lt;class Matrix&gt;\nvoid print_mat(const Matrix&amp; A) {\n for(int i = 0; i &lt; A.extent(0); ++i) {\n for(int j = 0; j &lt; A.extent(1) - 1; ++j) {\n std::cout &lt;&lt; A[i, j] &lt;&lt; &#39; &#39;;\n }\n std::cout &lt;&lt; A[i, A.extent(1) - 1] &lt;&lt; &#39;\\n&#39;;\n }\n}\n\ntemplate &lt;class Matrix&gt;\nvoid init_mat(Matrix&amp; A, typename Matrix::value_type geta = 1) {\n for(int i = 0; i &lt; A.extent(0); ++i) {\n for(int j = 0; j &lt; A.extent(1); ++j) {\n A[i, j] = i * A.extent(1) + j + geta;\n }\n }\n}\n\ntemplate &lt;class Matrix&gt;\nvoid init_tria_mat(Matrix&amp; A) {\n for(int i = 0; i &lt; A.extent(0); ++i) {\n for(int j = i + 1; j &lt; A.extent(1); ++j) {\n A[i, j] = i * A.extent(1) + j;\n }\n }\n}\n\nint main()\n{\n constexpr size_t N = 4;\n\n std::vector&lt;double&gt; A_vec(N * N);\n std::vector&lt;double&gt; X_vec(N * N);\n std::vector&lt;double&gt; B_vec(N * N);\n\n std::mdspan&lt;\n double,\n std::extents&lt;size_t, N, N&gt;,\n std::linalg::layout_blas_packed&lt;\n std::linalg::upper_triangle_t,\n std::linalg::row_major_t&gt;\n &gt; A(A_vec.data());\n std::mdspan X(X_vec.data(), N, N);\n std::mdspan B(B_vec.data(), N, N);\n\n init_mat(A)\n init_mat(B);\n\n // (1)\n std::cout &lt;&lt; \&#34;(1)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X,\n std::divides&lt;void&gt;{});\n print_mat(X);\n\n // (2)\n std::cout &lt;&lt; \&#34;(2)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n std::execution::par,\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X,\n std::divides&lt;void&gt;{});\n print(X);\n\n // (3)\n std::cout &lt;&lt; \&#34;(3)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X);\n print(X);\n\n // (4)\n std::cout &lt;&lt; \&#34;(4)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n std::execution::par,\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X);\n print(X);\n\n return 0;\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;linalg&#34;, &#34;triangular_matrix_matrix_left_solve&#34;]}">
87+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;linalg&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;namespace&#34;: [&#34;std::linalg&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;39e216170f05a708b8a7f31ad41c94d27029c2f9&#34;, &#34;source&#34;: &#34;#include &lt;array&gt;\n#include &lt;functional&gt;\n#include &lt;iostream&gt;\n#include &lt;linalg&gt;\n#include &lt;mdspan&gt;\n#include &lt;vector&gt;\n\ntemplate &lt;class Matrix&gt;\nvoid print_mat(const Matrix&amp; A) {\n for(int i = 0; i &lt; A.extent(0); ++i) {\n for(int j = 0; j &lt; A.extent(1) - 1; ++j) {\n std::cout &lt;&lt; A[i, j] &lt;&lt; &#39; &#39;;\n }\n std::cout &lt;&lt; A[i, A.extent(1) - 1] &lt;&lt; &#39;\\n&#39;;\n }\n}\n\ntemplate &lt;class Matrix&gt;\nvoid init_mat(Matrix&amp; A) {\n for(int i = 0; i &lt; A.extent(0); ++i) {\n for(int j = 0; j &lt; A.extent(1); ++j) {\n A[i, j] = i * A.extent(1) + j;\n }\n }\n}\n\ntemplate &lt;class Matrix&gt;\nvoid init_tria_mat(Matrix&amp; A) {\n for(int i = 0; i &lt; A.extent(0); ++i) {\n for(int j = i + 1; j &lt; A.extent(1); ++j) {\n A[i, j] = i * A.extent(1) + j;\n }\n }\n}\n\nint main()\n{\n constexpr size_t N = 4;\n\n std::vector&lt;double&gt; A_vec(N * N);\n std::vector&lt;double&gt; X_vec(N * N);\n std::vector&lt;double&gt; B_vec(N * N);\n\n std::mdspan&lt;\n double,\n std::extents&lt;size_t, N, N&gt;,\n std::linalg::layout_blas_packed&lt;\n std::linalg::upper_triangle_t,\n std::linalg::row_major_t&gt;\n &gt; A(A_vec.data());\n std::mdspan X(X_vec.data(), N, N);\n std::mdspan B(B_vec.data(), N, N);\n\n init_tria_mat(A);\n init_mat(B);\n\n // (1)\n std::cout &lt;&lt; \&#34;(1)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X,\n std::divides&lt;void&gt;{});\n print_mat(X);\n\n // (2)\n std::cout &lt;&lt; \&#34;(2)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n std::execution::par,\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X,\n std::divides&lt;void&gt;{});\n print_mat(X);\n\n // (3)\n std::cout &lt;&lt; \&#34;(3)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X);\n print_mat(X);\n\n // (4)\n std::cout &lt;&lt; \&#34;(4)\\n\&#34;;\n std::linalg::triangular_matrix_matrix_left_solve(\n std::execution::par,\n A,\n std::linalg::upper_triangle,\n std::linalg::implicit_unit_diagonal,\n B,\n X);\n print_mat(X);\n\n return 0;\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;linalg&#34;, &#34;triangular_matrix_matrix_left_solve&#34;]}">
8888
<nav class="navbar navbar-default" role="navigation">
8989
<div class="container-fluid">
9090
<div class="navbar-header">
@@ -204,8 +204,8 @@
204204

205205
<p class="text-right"><small>
206206
最終更新日時(UTC):
207-
<span itemprop="datePublished" content="2024-07-17T05:31:13">
208-
2024年07月17日 05時31分13秒
207+
<span itemprop="datePublished" content="2024-07-17T05:39:35">
208+
2024年07月17日 05時39分35秒
209209
</span>
210210
<br/>
211211
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -333,7 +333,7 @@ <h2>備考</h2>
333333
</ul>
334334
<h2></h2>
335335
<p><strong>[注意] 処理系にあるコンパイラで確認していないため、間違っているかもしれません。</strong></p>
336-
<p><div class="yata" id="c9133e6d175ee7e771e17c12de2d702c3657bfbf"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../array.html">&lt;array&gt;</a></span><span class="cp"></span>
336+
<p><div class="yata" id="39e216170f05a708b8a7f31ad41c94d27029c2f9"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../array.html">&lt;array&gt;</a></span><span class="cp"></span>
337337
<span class="cp">#include</span> <span class="cpf"><a href="../functional.html">&lt;functional&gt;</a></span><span class="cp"></span>
338338
<span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
339339
<span class="cp">#include</span> <span class="cpf"><a href="../linalg.html">&lt;linalg&gt;</a></span><span class="cp"></span>
@@ -351,10 +351,10 @@ <h2>例</h2>
351351
<span class="p">}</span>
352352

353353
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">Matrix</span><span class="o">&gt;</span>
354-
<span class="kt">void</span> <span class="n">init_mat</span><span class="p">(</span><span class="n">Matrix</span><span class="o">&amp;</span> <span class="n">A</span><span class="p">,</span> <span class="k">typename</span> <span class="n">Matrix</span><span class="o">::</span><span class="n">value_type</span> <span class="n">geta</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
354+
<span class="kt">void</span> <span class="n">init_mat</span><span class="p">(</span><span class="n">Matrix</span><span class="o">&amp;</span> <span class="n">A</span><span class="p">)</span> <span class="p">{</span>
355355
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n"><a href="../mdspan/extents/extent.html">A.extent</a></span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
356356
<span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">j</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n"><a href="../mdspan/extents/extent.html">A.extent</a></span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="o">++</span><span class="n">j</span><span class="p">)</span> <span class="p">{</span>
357-
<span class="n">A</span><span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="n">i</span> <span class="o">*</span> <span class="n"><a href="../mdspan/extents/extent.html">A.extent</a></span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="n">j</span> <span class="o">+</span> <span class="n">geta</span><span class="p">;</span>
357+
<span class="n">A</span><span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="n">i</span> <span class="o">*</span> <span class="n"><a href="../mdspan/extents/extent.html">A.extent</a></span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="n">j</span><span class="p">;</span>
358358
<span class="p">}</span>
359359
<span class="p">}</span>
360360
<span class="p">}</span>
@@ -386,7 +386,7 @@ <h2>例</h2>
386386
<span class="n"><a href="../mdspan/mdspan.html">std::mdspan</a></span> <span class="nf">X</span><span class="p">(</span><span class="n">X_vec</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> <span class="n">N</span><span class="p">,</span> <span class="n">N</span><span class="p">);</span>
387387
<span class="n"><a href="../mdspan/mdspan.html">std::mdspan</a></span> <span class="nf">B</span><span class="p">(</span><span class="n">B_vec</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> <span class="n">N</span><span class="p">,</span> <span class="n">N</span><span class="p">);</span>
388388

389-
<span class="n">init_mat</span><span class="p">(</span><span class="n">A</span><span class="p">)</span>
389+
<span class="n">init_tria_mat</span><span class="p">(</span><span class="n">A</span><span class="p">);</span>
390390
<span class="n">init_mat</span><span class="p">(</span><span class="n">B</span><span class="p">);</span>
391391

392392
<span class="c1">// (1)</span>
@@ -410,7 +410,7 @@ <h2>例</h2>
410410
<span class="n">B</span><span class="p">,</span>
411411
<span class="n">X</span><span class="p">,</span>
412412
<span class="n">std</span><span class="o">::</span><span class="n">divides</span><span class="o">&lt;</span><span class="kt">void</span><span class="o">&gt;</span><span class="p">{});</span>
413-
<span class="n">print</span><span class="p">(</span><span class="n">X</span><span class="p">);</span>
413+
<span class="n">print_mat</span><span class="p">(</span><span class="n">X</span><span class="p">);</span>
414414

415415
<span class="c1">// (3)</span>
416416
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"(3)</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
@@ -420,7 +420,7 @@ <h2>例</h2>
420420
<span class="n"><a href="implicit_unit_diagonal_t.html">std::linalg::implicit_unit_diagonal</a></span><span class="p">,</span>
421421
<span class="n">B</span><span class="p">,</span>
422422
<span class="n">X</span><span class="p">);</span>
423-
<span class="n">print</span><span class="p">(</span><span class="n">X</span><span class="p">);</span>
423+
<span class="n">print_mat</span><span class="p">(</span><span class="n">X</span><span class="p">);</span>
424424

425425
<span class="c1">// (4)</span>
426426
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"(4)</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span>
@@ -431,7 +431,7 @@ <h2>例</h2>
431431
<span class="n"><a href="implicit_unit_diagonal_t.html">std::linalg::implicit_unit_diagonal</a></span><span class="p">,</span>
432432
<span class="n">B</span><span class="p">,</span>
433433
<span class="n">X</span><span class="p">);</span>
434-
<span class="n">print</span><span class="p">(</span><span class="n">X</span><span class="p">);</span>
434+
<span class="n">print_mat</span><span class="p">(</span><span class="n">X</span><span class="p">);</span>
435435

436436
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
437437
<span class="p">}</span>

rss.xml

Lines changed: 75 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,83 @@
22
<feed xmlns="http://www.w3.org/2005/Atom">
33
<title>cpprefjp - C++日本語リファレンス</title>
44
<link href="https://cpprefjp.github.io" />
5-
<updated>2024-07-17T05:35:38.478542</updated>
6-
<id>d202012c-abe4-46e8-ac4a-a0571353d9a5</id>
5+
<updated>2024-07-17T05:42:40.863979</updated>
6+
<id>1d36ff7b-1315-43fc-b0cc-7d04f95d1881</id>
77

88

9+
<entry>
10+
<title>triangular_matrix_matrix_left_solve -- linalg : 例を修正 (#1233)</title>
11+
<link href="https://cpprefjp.github.io/reference/linalg/triangular_matrix_matrix_left_solve.html"/>
12+
<id>c84c78865ce78853654b463989873ec034c97296:reference/linalg/triangular_matrix_matrix_left_solve.md</id>
13+
<updated>2024-07-17T14:39:35+09:00</updated>
14+
15+
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/linalg/triangular_matrix_matrix_left_solve.md b/reference/linalg/triangular_matrix_matrix_left_solve.md
16+
index 89c1074e8..f8c68987a 100644
17+
--- a/reference/linalg/triangular_matrix_matrix_left_solve.md
18+
+++ b/reference/linalg/triangular_matrix_matrix_left_solve.md
19+
@@ -138,10 +138,10 @@ void print_mat(const Matrix&amp;amp; A) {
20+
}
21+
22+
template &amp;lt;class Matrix&amp;gt;
23+
-void init_mat(Matrix&amp;amp; A, typename Matrix::value_type geta = 1) {
24+
+void init_mat(Matrix&amp;amp; A) {
25+
for(int i = 0; i &amp;lt; A.extent(0); ++i) {
26+
for(int j = 0; j &amp;lt; A.extent(1); ++j) {
27+
- A[i, j] = i * A.extent(1) + j + geta;
28+
+ A[i, j] = i * A.extent(1) + j;
29+
}
30+
}
31+
}
32+
@@ -173,7 +173,7 @@ int main()
33+
std::mdspan X(X_vec.data(), N, N);
34+
std::mdspan B(B_vec.data(), N, N);
35+
36+
- init_mat(A)
37+
+ init_tria_mat(A);
38+
init_mat(B);
39+
40+
// (1)
41+
@@ -197,7 +197,7 @@ int main()
42+
B,
43+
X,
44+
std::divides&amp;lt;void&amp;gt;{});
45+
- print(X);
46+
+ print_mat(X);
47+
48+
// (3)
49+
std::cout &amp;lt;&amp;lt; &amp;#34;(3)\n&amp;#34;;
50+
@@ -207,7 +207,7 @@ int main()
51+
std::linalg::implicit_unit_diagonal,
52+
B,
53+
X);
54+
- print(X);
55+
+ print_mat(X);
56+
57+
// (4)
58+
std::cout &amp;lt;&amp;lt; &amp;#34;(4)\n&amp;#34;;
59+
@@ -218,13 +218,12 @@ int main()
60+
std::linalg::implicit_unit_diagonal,
61+
B,
62+
X);
63+
- print(X);
64+
+ print_mat(X);
65+
66+
return 0;
67+
}
68+
```
69+
* A.extent[link /reference/mdspan/extents/extent.md]
70+
-* v.extent[link /reference/mdspan/extents/extent.md]
71+
* std::mdspan[link /reference/mdspan/mdspan.md]
72+
* std::extents[link /reference/mdspan/extents.md]
73+
* std::linalg::layout_blas_packed[link /reference/linalg/layout_blas_packed.md]
74+
&lt;/code&gt;&lt;/pre&gt;</summary>
75+
76+
<author>
77+
<name>Yuya Asano</name>
78+
<email>[email protected]</email>
79+
</author>
80+
</entry>
81+
982
<entry>
1083
<title>triangular_matrix_vector_solve -- linalg : fix typo. (#1233)</title>
1184
<link href="https://cpprefjp.github.io/reference/linalg/triangular_matrix_vector_solve.html"/>
@@ -1465,58 +1538,4 @@ index 797d6c265..5b084d70e 100644
14651538
</author>
14661539
</entry>
14671540

1468-
<entry>
1469-
<title>operator new -- Revert &#34;Merge branch &#39;master&#39; of https://github.com/cpprefjp/site&#34;</title>
1470-
<link href="https://cpprefjp.github.io/reference/new/op_new.html"/>
1471-
<id>005f130af2eae5531e8279f1b6d9421f387fd4ee:reference/new/op_new.md</id>
1472-
<updated>2024-07-16T18:17:30+09:00</updated>
1473-
1474-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/new/op_new.md b/reference/new/op_new.md
1475-
index 39845d266..c098d8be1 100644
1476-
--- a/reference/new/op_new.md
1477-
+++ b/reference/new/op_new.md
1478-
@@ -131,7 +131,7 @@ int main()
1479-
// (3) cl 型変数を動的に作成
1480-
// 確保失敗時にヌルポインタが返される
1481-
cl* p2 = new (std::nothrow) cl();
1482-
- delete p2; // 通常の delete 式で記憶域を解放する
1483-
+ delete p2; // 配置 delete と言うものはないので、通常の delete 式で記憶域を解放する
1484-
1485-
// (5) char 配列のスタック領域に、cl 型変数を動的に作成
1486-
// 領域のアライメントに注意
1487-
&lt;/code&gt;&lt;/pre&gt;</summary>
1488-
1489-
<author>
1490-
<name>raclamusi</name>
1491-
<email>[email protected]</email>
1492-
</author>
1493-
</entry>
1494-
1495-
<entry>
1496-
<title>operator new[] -- Revert &#34;Merge branch &#39;master&#39; of https://github.com/cpprefjp/site&#34;</title>
1497-
<link href="https://cpprefjp.github.io/reference/new/op_new[].html"/>
1498-
<id>005f130af2eae5531e8279f1b6d9421f387fd4ee:reference/new/op_new[].md</id>
1499-
<updated>2024-07-16T18:17:30+09:00</updated>
1500-
1501-
<summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/new/op_new[].md b/reference/new/op_new[].md
1502-
index 2017f41df..8be12c575 100644
1503-
--- a/reference/new/op_new[].md
1504-
+++ b/reference/new/op_new[].md
1505-
@@ -117,7 +117,7 @@ int main()
1506-
// (3) 3 要素の cl 型配列を動的に作成
1507-
// 確保失敗時にヌルポインタが返される
1508-
cl* p2 = new (std::nothrow) cl[3];
1509-
- delete[] p2; // 通常の delete 式で記憶域を解放する
1510-
+ delete[] p2; // 配置 delete と言うものはないので、通常の delete 式で記憶域を解放する
1511-
1512-
// (5) char 配列のスタック領域に、3 要素の cl 型配列を動的に作成
1513-
// ただし、危険なため、使用してはいけない
1514-
&lt;/code&gt;&lt;/pre&gt;</summary>
1515-
1516-
<author>
1517-
<name>raclamusi</name>
1518-
<email>[email protected]</email>
1519-
</author>
1520-
</entry>
1521-
15221541
</feed>

sitemap.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31615,7 +31615,7 @@
3161531615

3161631616
<url>
3161731617
<loc>https://cpprefjp.github.io/reference/linalg/triangular_matrix_matrix_left_solve.html</loc>
31618-
<lastmod>2024-07-17T14:31:13+09:00</lastmod>
31618+
<lastmod>2024-07-17T14:39:35+09:00</lastmod>
3161931619
<changefreq>daily</changefreq>
3162031620
<priority>0.7</priority>
3162131621
</url>

0 commit comments

Comments
 (0)