<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Harwell-Boeing-Format</id>
	<title>Harwell-Boeing-Format - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Harwell-Boeing-Format"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Harwell-Boeing-Format&amp;action=history"/>
	<updated>2026-06-04T17:56:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Harwell-Boeing-Format&amp;diff=1888821&amp;oldid=prev</id>
		<title>imported&gt;Monmirage: /* growthexperiments-addlink-summary-summary:1|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Harwell-Boeing-Format&amp;diff=1888821&amp;oldid=prev"/>
		<updated>2025-10-15T21:21:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:1|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Harwell-Boeing-Format&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;Compressed Column Storage,&amp;#039;&amp;#039; {{deS|komprimierte Spaltenspeicherung}}, kurz &amp;#039;&amp;#039;&amp;#039;CCS&amp;#039;&amp;#039;&amp;#039;-Format) ist eine [[Datenstruktur]], die beim Speichern von [[Dünnbesetzte Matrix|dünnbesetzten Matrizen]] verwendet wird. &lt;br /&gt;
&lt;br /&gt;
== Hintergrund ==&lt;br /&gt;
Die Elemente einer Matrix, die nicht Null sind, werden dabei spaltenweise von links nach rechts abgelegt. Insgesamt werden drei Speicherarrays benötigt (im Folgenden ist &amp;lt;math&amp;gt;A \in \mathbb R^{m\times n}&amp;lt;/math&amp;gt;, also eine Matrix mit &amp;#039;&amp;#039;m&amp;#039;&amp;#039; Zeilen und &amp;#039;&amp;#039;n&amp;#039;&amp;#039; Spalten, &amp;#039;&amp;#039;nnz&amp;#039;&amp;#039; bezeichnet die Anzahl der Nichtnulleinträge): &lt;br /&gt;
* &amp;#039;&amp;#039;value&amp;#039;&amp;#039; (real): Hier stehen die Nichtnulleinträge der Matrix; die Größe des Arrays ist &amp;#039;&amp;#039;nnz&amp;#039;&amp;#039;. &lt;br /&gt;
* &amp;#039;&amp;#039;row_ind&amp;#039;&amp;#039; (int): Zu jedem Element von &amp;#039;&amp;#039;value&amp;#039;&amp;#039; steht hier der zugehörige Zeilenindex zur Matrix &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;; die Größe des Arrays beträgt ebenfalls &amp;#039;&amp;#039;nnz&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;#039;&amp;#039;col_ptr&amp;#039;&amp;#039; (int): Beginn jeder Matrixspalte von &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; in &amp;#039;&amp;#039;value&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;row_ind&amp;#039;&amp;#039;. Die Größe ist &amp;lt;math&amp;gt;n+1&amp;lt;/math&amp;gt;, wobei im letzten Eintrag der Wert &amp;#039;&amp;#039;nnz&amp;#039;&amp;#039; gespeichert wird (sofern die Zählweise bei 0 beginnt). Insbesondere beschreibt &amp;#039;&amp;#039;col_ptr[i+1] - col_ptr[i]&amp;#039;&amp;#039; die Anzahl der Nichtnulleinträge in Spalte i. &lt;br /&gt;
&lt;br /&gt;
Die Vorteile des Formates liegen dabei in einem vergleichsweise geringen Speicherplatzbedarf, da die Nullelemente einer Matrix nicht gespeichert werden. Insbesondere dient diese Art der Speicherung dem schnellen Zugriff auf eine Spalte von &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Wenn ein schneller Zugriff auf Zeilen benötigt wird, bietet sich stattdessen das [[Compressed Row Storage|CRS-Format]] an, bei dem die Einträge zeilenweise erfasst werden, das ansonsten aber dem CCS-Format entspricht. &lt;br /&gt;
Angewendet wird das Harwell-Boeing-Format z.&amp;amp;nbsp;B. bei der Diskretisierung von partiellen Differentialgleichungen im Bereich von [[Finite-Elemente-Methode]]n, wo die Steifigkeitsmatrizen häufig in dieser Datenstruktur gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
Gegeben sei die Matrix&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = &lt;br /&gt;
  \begin{pmatrix}&lt;br /&gt;
     a_{00} &amp;amp; 0 &amp;amp; 0 &amp;amp; a_{03} \\&lt;br /&gt;
     a_{10} &amp;amp; a_{11} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
     0 &amp;amp; 0 &amp;amp; a_{22} &amp;amp; 0 \\&lt;br /&gt;
     a_{30} &amp;amp; a_{31} &amp;amp; 0 &amp;amp; a_{33}&lt;br /&gt;
  \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
mit &amp;#039;&amp;#039;nnz = 8&amp;#039;&amp;#039; Nichtnulleinträgen. Für den Fall, dass die Zählweise der Speicherung von Elementen ab 0 beginnt, ergeben sich für die Speicherung im CCS-Format folgende Werte:&lt;br /&gt;
* &amp;#039;&amp;#039;value&amp;#039;&amp;#039; = &amp;lt;math&amp;gt;[a_{00}, a_{10}, a_{30}, a_{11}, a_{31}, a_{22}, a_{03}, a_{33}]&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;row_ind&amp;#039;&amp;#039; = &amp;lt;math&amp;gt;[0, 1, 3, 1, 3, 2, 0, 3]&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;col_ptr&amp;#039;&amp;#039; = &amp;lt;math&amp;gt;[0, 3, 5, 6, 8]&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
*http://people.sc.fsu.edu/~burkardt/data/hb/hb.html&lt;br /&gt;
*http://www.dorn.org/uni/sls/kap09/i01_00.htm&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datenformat]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Monmirage</name></author>
	</entry>
</feed>