<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eine Matrix dreimal speichern?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss einige numerische Integrationsmethoden implementieren und hab eine kleine Frage. Ich habe große dünnbesetzte Matrixen und habe deshalb drei Vektoren, wobei der erste die Nichtnullwerte, der zweite Spalten und der dritte die Zeilen festhält. Ich habe eine Matrix A für das LGS Ax = b. A ruft eine Funktion auf. Das Problem ist nun:</p>
<p>In der Funktion werden zwei neue Matrizen erzeugt, ihre Dimension kann durch einen Parameter festgelegt werden. Und in jedem Schritt werden Spaltenvektoren dieser Natrizen erzeugt, die in der nächsten Iteration wieder benutzt werden. Da mein A immer so um die 10Tausend Unbekannte hat(und m &lt;= dim(A) ist), wäre es vllt ineffizient, die beiden neu erzeugten Matrizen auch in je drei vektoren zu speichern.</p>
<p>Da wollte iche uch fragen, was ihr machen würdet. Ich suche halt nach einem optimaleren Weg, aber hab bisher nichts gefunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/248390/eine-matrix-dreimal-speichern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 00:36:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/248390.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Aug 2009 09:40:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eine Matrix dreimal speichern? on Mon, 24 Aug 2009 09:40:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss einige numerische Integrationsmethoden implementieren und hab eine kleine Frage. Ich habe große dünnbesetzte Matrixen und habe deshalb drei Vektoren, wobei der erste die Nichtnullwerte, der zweite Spalten und der dritte die Zeilen festhält. Ich habe eine Matrix A für das LGS Ax = b. A ruft eine Funktion auf. Das Problem ist nun:</p>
<p>In der Funktion werden zwei neue Matrizen erzeugt, ihre Dimension kann durch einen Parameter festgelegt werden. Und in jedem Schritt werden Spaltenvektoren dieser Natrizen erzeugt, die in der nächsten Iteration wieder benutzt werden. Da mein A immer so um die 10Tausend Unbekannte hat(und m &lt;= dim(A) ist), wäre es vllt ineffizient, die beiden neu erzeugten Matrizen auch in je drei vektoren zu speichern.</p>
<p>Da wollte iche uch fragen, was ihr machen würdet. Ich suche halt nach einem optimaleren Weg, aber hab bisher nichts gefunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765686</guid><dc:creator><![CDATA[lil_pingu]]></dc:creator><pubDate>Mon, 24 Aug 2009 09:40:07 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Matrix dreimal speichern? on Mon, 24 Aug 2009 09:58:16 GMT]]></title><description><![CDATA[<p>lil_pingu schrieb:</p>
<blockquote>
<p>ich muss einige numerische Integrationsmethoden implementieren und hab eine kleine Frage.</p>
</blockquote>
<p>Ok. Numerische Integration sagt mir etwas.</p>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Ich habe große dünnbesetzte Matrixen und habe deshalb drei Vektoren, wobei der erste die Nichtnullwerte, der zweite Spalten und der dritte die Zeilen festhält.</p>
</blockquote>
<p>Aha. Werden die Vektoren in einer Klasse gekapselt? Wenn nicht, warum nicht?</p>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Ich habe eine Matrix A für das LGS Ax = b. A ruft eine Funktion auf.</p>
</blockquote>
<p>&quot;A ruft eine Funktion auf&quot; ???<br />
Ok, ignorieren &amp; weiterlesen...</p>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Das Problem ist nun:</p>
<p>In der Funktion werden zwei neue Matrizen erzeugt, ihre Dimension kann durch einen Parameter festgelegt werden. Und in jedem Schritt werden Spaltenvektoren dieser Natrizen erzeugt, die in der nächsten Iteration wieder benutzt werden. Da mein A immer so um die 10Tausend Unbekannte hat(und m &lt;= dim(A) ist),</p>
</blockquote>
<p>Was für &quot;Schritte&quot;? Was sind &quot;Unbekannte&quot;, wenn eine Matrix die &quot;haben&quot; kann? Oder meinst Du, dass die Matrix 10tausend Spalten besitzt?</p>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>wäre es vllt ineffizient, die beiden neu erzeugten Matrizen auch in je drei vektoren zu speichern.</p>
</blockquote>
<p>Warum?</p>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Da wollte ich euch fragen, was ihr machen würdet. Ich suche halt nach einem optimaleren Weg, aber hab bisher nichts gefunden. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Mit der Erklärung kann ich nicht viel anfangen. Gibt es noch eine &quot;optimalere&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Erklärung des Problems?</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765696</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 24 Aug 2009 09:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Matrix dreimal speichern? on Mon, 24 Aug 2009 11:34:35 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Gibt es noch eine &quot;optimalere&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Erklärung des Problems?</p>
</blockquote>
<p>Ja, ich versuchs mal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Ich habe große dünnbesetzte Matrixen und habe deshalb drei Vektoren, wobei der erste die Nichtnullwerte, der zweite Spalten und der dritte die Zeilen festhält.</p>
</blockquote>
<p>Aha. Werden die Vektoren in einer Klasse gekapselt? Wenn nicht, warum nicht?</p>
</blockquote>
<p>Es gibt eine Klasse, ihr Konstruktor erzeugt drei Vektoren. Diese Vektoren bilden zusammen die Matrix A. Natürlich hat sie noch keine Werte, die ganzen Matrizeneinträge kann man mit Memberfunktionen einfügen (also sowas wie: add_element_at_row_vol(row,col,element)).</p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Ich habe eine Matrix A für das LGS Ax = b. A ruft eine Funktion auf.</p>
</blockquote>
<p>&quot;A ruft eine Funktion auf&quot; ???<br />
Ok, ignorieren &amp; weiterlesen...</p>
</blockquote>
<p>Nicht ignorieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> . Da die Matrix als Klasse implementiert wurde, ist eine Matrix A ein Objekt und alle Matrizenoperationen als Klassenmethoden implementiert. Also &quot;ruft A eine Funktion auf&quot;.</p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>Das Problem ist nun:</p>
<p>In der Funktion werden zwei neue Matrizen erzeugt, ihre Dimension kann durch einen Parameter festgelegt werden. Und in jedem Schritt werden Spaltenvektoren dieser Natrizen erzeugt, die in der nächsten Iteration wieder benutzt werden. Da mein A immer so um die 10Tausend Unbekannte hat(und m &lt;= dim(A) ist),</p>
</blockquote>
<p>Was für &quot;Schritte&quot;? Was sind &quot;Unbekannte&quot;, wenn eine Matrix die &quot;haben&quot; kann? Oder meinst Du, dass die Matrix 10tausend Spalten besitzt?</p>
</blockquote>
<p>Ein Schritt ist eine Iteration, Unbekannte sind die Unbekannten des Gleichungssystems, also die Dimension der Matrix (also JA, die Spaltenanzahl).</p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>lil_pingu schrieb:</p>
<blockquote>
<p>wäre es vllt ineffizient, die beiden neu erzeugten Matrizen auch in je drei vektoren zu speichern.</p>
</blockquote>
<p>Warum?</p>
</blockquote>
<p>Weil die beiden anderen Matrizen auch riesig sind und wenn man drei riesige Matrizen hat (und nur begrenzten Speicher) wird das rechnen langsamer. Ich brauche aber einen Algorithmus, der nicht 1 Monat rechnen soll, sondern vllt nur ein paar Stunden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Ich hoffe, ich konnte mein Problem besser beschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765757</guid><dc:creator><![CDATA[lil_pingu]]></dc:creator><pubDate>Mon, 24 Aug 2009 11:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Matrix dreimal speichern? on Mon, 24 Aug 2009 13:20:09 GMT]]></title><description><![CDATA[<p>lil_pingu schrieb:</p>
<blockquote>
<p>Ich hoffe, ich konnte mein Problem besser beschreiben.</p>
</blockquote>
<p>Ehrlich gesagt nicht, nein. Es sind bisher nur Stichwörter gefallen: Große dünnbesetzte Matrizen, Gleichungssystem, Schritt=Iteration, 10tausende Unbekannte, numerische Integration.</p>
<p>Du hast aber <em>nirgends</em> erwähnt, was Du eigentlich machen willst. Z.B. ein großes, lineares Gleichungssystem iterativ lösen?. Vielleicht willst Du ja auch etwas ganz anderes machen (&quot;numerische Integration&quot; passt hier nicht ganz rein in die Reihe der Stichwörter). Wie auch immer, ich kann nicht Gedanken lesen.</p>
<p>Also:<br />
- Man weiß nicht, was Du machen willst<br />
- Man weiß nicht, wo das Problem dabei liegt</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1765828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1765828</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 24 Aug 2009 13:20:09 GMT</pubDate></item></channel></rss>