<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic The 4 array compressed sparse in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153403#M27337</link>
    <description>&lt;P&gt;The 4 array compressed sparse row (CSR) format uses the following definitions (0 based indexing):&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;pointerB&lt;I&gt; = first element of row i in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI&gt;pointerE&lt;I&gt; = &lt;STRONG&gt;one past the last element of row i&lt;/STRONG&gt; in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI&gt;columns&lt;J&gt; = column index value&lt;/J&gt;&lt;/LI&gt;
	&lt;LI&gt;values&lt;J&gt; = value of matrix&lt;/J&gt;&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;If you are using the most simple case of CSR (which is the 3 array CSR format) with contiguous memory storage of all elements then you can think of pointerE as pointerB+1 (That is, pointerE&lt;I&gt; = pointerB[i+1] ) using pointer arithmetic.&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;This is typically sufficient for most cases, but there are times when you want to do more complicated operations like pass in a sub-matrix or do a permutation of a matrix rows, in which case using the two row pointers (beginning (B) and one past ending (E)&amp;nbsp; ) makes this possible.&amp;nbsp; Notice that the Intel Math Kernel Library does support the sub-matrix usage, but currently it does guarantee correctness if the pointer arrays are used to pass in a row permutation of the matrix.&lt;/P&gt;

&lt;P&gt;For me it helps to think of the pointerB/E arrays as defining half open half closed intervals for the rows:&lt;/P&gt;

&lt;P&gt;CSR 3 array:&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;宋体&amp;quot;,&amp;quot;Tahoma&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on &lt;STRONG&gt;[ pointerB&lt;I&gt;, pointerB[i+1] )&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt; in columns and values arrays&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;CSR 4 array: (more general)&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="background-color: transparent; color: rgb(83, 87, 94); display: inline; float: none; font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on&lt;STRONG&gt; [ pointerB&lt;I&gt;, pointerE&lt;I&gt; )&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt; in columns and values arrays&lt;/I&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;As you note, it does get a little more complicated with one based indexing.&amp;nbsp; If&amp;nbsp; we use the variable ind=0 or 1&amp;nbsp; to denote the indexing, then the general form is as follows:&lt;/P&gt;

&lt;UL&gt;
	&lt;LI style="margin: 0px 0px 19.5px; padding: 0px; text-align: left; color: rgb(83, 87, 94); text-transform: none; text-indent: 0px; letter-spacing: normal; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; word-spacing: 0px; white-space: normal; orphans: 2; -webkit-text-stroke-width: 0px; background-color: transparent;"&gt;pointerB&lt;I&gt;-ind = first element of row i in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;pointerE&lt;I&gt;-ind =&lt;STRONG&gt; one past the last element of row i &lt;/STRONG&gt;in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;columns&lt;J&gt; = ind-based column index value&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;宋体&amp;quot;,&amp;quot;Tahoma&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;(columns&lt;I&gt;-ind is 0 based column index value)&lt;/I&gt;&lt;/SPAN&gt;&lt;/J&gt;&lt;/LI&gt;
	&lt;LI style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;values&lt;J&gt; = value of matrix&lt;/J&gt;&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;so that&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;CSR 3 array:&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;&lt;SPAN style="background-color: transparent; color: rgb(83, 87, 94); display: inline; float: none; font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on &lt;STRONG&gt;[ pointerB&lt;I&gt;-ind, pointerB[i+1]-ind )&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt; in columns and values arrays (with columns stored in base ind fomat)&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;CSR 4 array: (more general)&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;&lt;SPAN style="background-color: transparent; color: rgb(83, 87, 94); display: inline; float: none; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on &lt;STRONG&gt;[ pointerB&lt;I&gt;-ind, pointerE&lt;I&gt;-ind )&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt; in columns and values arrays&amp;nbsp;&lt;/I&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;宋体&amp;quot;,&amp;quot;Tahoma&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;(with columns stored in base ind fomat)&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 09 Jul 2018 21:39:53 GMT</pubDate>
    <dc:creator>Spencer_P_Intel</dc:creator>
    <dc:date>2018-07-09T21:39:53Z</dc:date>
    <item>
      <title>Sparse BLAS CSR Matrix Storage Format</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153402#M27336</link>
      <description>&lt;P style="margin-bottom: 1em; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; box-sizing: inherit; clear: both; color: rgb(36, 39, 41);"&gt;After looking&amp;nbsp;&lt;A href="https://software.intel.com/en-us/mkl-developer-reference-c-sparse-blas-csr-matrix-storage-format" rel="nofollow noreferrer" style="border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit; color: rgb(0, 89, 153); cursor: pointer;"&gt;here&lt;/A&gt;, I can't understand the compressed row format.&lt;/P&gt;

&lt;P style="margin-bottom: 1em; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; box-sizing: inherit; clear: both; color: rgb(36, 39, 41);"&gt;Specifically, I don't understand&amp;nbsp;&lt;EM style="border: 0px; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit;"&gt;pointerE&lt;/EM&gt;&amp;nbsp;(and OK with the rest): it should be the index in the&amp;nbsp;&lt;EM style="border: 0px; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit;"&gt;values&lt;/EM&gt;array that is the last non zero element in each row, if I look on the example they give for&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit;"&gt;zero based indexing&lt;/STRONG&gt;, the last non zero element of the first row is -3 and it is the third element in the values array&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit;"&gt;but in zero indexing&lt;/STRONG&gt;&amp;nbsp;it should be element #2. The last non zero element of the second row is 5 which is the fifth element in values&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit;"&gt;but in zero indexing&lt;/STRONG&gt;&amp;nbsp;it should be #4 so pointerE should be [2,4,7,10,12] but in the example it shows [3,5,8,11,13]&lt;/P&gt;

&lt;P style="margin-bottom: 1em; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; box-sizing: inherit; clear: both; color: rgb(36, 39, 41);"&gt;what am I missing here?&lt;/P&gt;

&lt;P style="margin-bottom: 1em; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; line-height: inherit; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; box-sizing: inherit; clear: both; color: rgb(36, 39, 41);"&gt;Once again I am using&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; vertical-align: baseline; box-sizing: inherit;"&gt;zero based indexing&lt;/STRONG&gt;&amp;nbsp;so where does this bias come from?&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jul 2018 15:59:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153402#M27336</guid>
      <dc:creator>kup__benny</dc:creator>
      <dc:date>2018-07-09T15:59:11Z</dc:date>
    </item>
    <item>
      <title>The 4 array compressed sparse</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153403#M27337</link>
      <description>&lt;P&gt;The 4 array compressed sparse row (CSR) format uses the following definitions (0 based indexing):&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;pointerB&lt;I&gt; = first element of row i in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI&gt;pointerE&lt;I&gt; = &lt;STRONG&gt;one past the last element of row i&lt;/STRONG&gt; in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI&gt;columns&lt;J&gt; = column index value&lt;/J&gt;&lt;/LI&gt;
	&lt;LI&gt;values&lt;J&gt; = value of matrix&lt;/J&gt;&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;If you are using the most simple case of CSR (which is the 3 array CSR format) with contiguous memory storage of all elements then you can think of pointerE as pointerB+1 (That is, pointerE&lt;I&gt; = pointerB[i+1] ) using pointer arithmetic.&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;This is typically sufficient for most cases, but there are times when you want to do more complicated operations like pass in a sub-matrix or do a permutation of a matrix rows, in which case using the two row pointers (beginning (B) and one past ending (E)&amp;nbsp; ) makes this possible.&amp;nbsp; Notice that the Intel Math Kernel Library does support the sub-matrix usage, but currently it does guarantee correctness if the pointer arrays are used to pass in a row permutation of the matrix.&lt;/P&gt;

&lt;P&gt;For me it helps to think of the pointerB/E arrays as defining half open half closed intervals for the rows:&lt;/P&gt;

&lt;P&gt;CSR 3 array:&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;宋体&amp;quot;,&amp;quot;Tahoma&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on &lt;STRONG&gt;[ pointerB&lt;I&gt;, pointerB[i+1] )&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt; in columns and values arrays&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;CSR 4 array: (more general)&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="background-color: transparent; color: rgb(83, 87, 94); display: inline; float: none; font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on&lt;STRONG&gt; [ pointerB&lt;I&gt;, pointerE&lt;I&gt; )&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt; in columns and values arrays&lt;/I&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;As you note, it does get a little more complicated with one based indexing.&amp;nbsp; If&amp;nbsp; we use the variable ind=0 or 1&amp;nbsp; to denote the indexing, then the general form is as follows:&lt;/P&gt;

&lt;UL&gt;
	&lt;LI style="margin: 0px 0px 19.5px; padding: 0px; text-align: left; color: rgb(83, 87, 94); text-transform: none; text-indent: 0px; letter-spacing: normal; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; word-spacing: 0px; white-space: normal; orphans: 2; -webkit-text-stroke-width: 0px; background-color: transparent;"&gt;pointerB&lt;I&gt;-ind = first element of row i in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;pointerE&lt;I&gt;-ind =&lt;STRONG&gt; one past the last element of row i &lt;/STRONG&gt;in columns and values arrays&lt;/I&gt;&lt;/LI&gt;
	&lt;LI style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;columns&lt;J&gt; = ind-based column index value&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;宋体&amp;quot;,&amp;quot;Tahoma&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;(columns&lt;I&gt;-ind is 0 based column index value)&lt;/I&gt;&lt;/SPAN&gt;&lt;/J&gt;&lt;/LI&gt;
	&lt;LI style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;values&lt;J&gt; = value of matrix&lt;/J&gt;&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;so that&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;CSR 3 array:&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;&lt;SPAN style="background-color: transparent; color: rgb(83, 87, 94); display: inline; float: none; font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on &lt;STRONG&gt;[ pointerB&lt;I&gt;-ind, pointerB[i+1]-ind )&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt; in columns and values arrays (with columns stored in base ind fomat)&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;CSR 4 array: (more general)&lt;/P&gt;

&lt;P style="background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;amp;quot;Arial&amp;amp;quot;,&amp;amp;quot;宋体&amp;amp;quot;,&amp;amp;quot;Tahoma&amp;amp;quot;,&amp;amp;quot;Helvetica&amp;amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 19.5px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;&lt;SPAN style="background-color: transparent; color: rgb(83, 87, 94); display: inline; float: none; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;row i is found on &lt;STRONG&gt;[ pointerB&lt;I&gt;-ind, pointerE&lt;I&gt;-ind )&lt;/I&gt;&lt;/I&gt;&lt;/STRONG&gt;&lt;I&gt;&lt;I&gt; in columns and values arrays&amp;nbsp;&lt;/I&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: rgb(83, 87, 94); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;宋体&amp;quot;,&amp;quot;Tahoma&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;(with columns stored in base ind fomat)&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jul 2018 21:39:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153403#M27337</guid>
      <dc:creator>Spencer_P_Intel</dc:creator>
      <dc:date>2018-07-09T21:39:53Z</dc:date>
    </item>
    <item>
      <title>Thank you Spencer,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153404#M27338</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/1628303" style="font-size: 11px; background-color: rgb(238, 238, 238);"&gt;Spencer&lt;/A&gt;,&lt;/P&gt;

&lt;P&gt;Now everything is clear&lt;/P&gt;</description>
      <pubDate>Tue, 10 Jul 2018 15:42:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-BLAS-CSR-Matrix-Storage-Format/m-p/1153404#M27338</guid>
      <dc:creator>kup__benny</dc:creator>
      <dc:date>2018-07-10T15:42:55Z</dc:date>
    </item>
  </channel>
</rss>

