Click or drag to resize

DoubleMatrixAsRowCollection Method (IndexCollection)

Returns the collection of the rows in the DoubleMatrix corresponding to the specified indexes.

Namespace:  Novacta.Analytics
Assembly:  Novacta.Analytics (in Novacta.Analytics.dll) Version: 2.0.0
Syntax
public DoubleMatrixRowCollection AsRowCollection(
	IndexCollection rowIndexes
)

Parameters

rowIndexes
Type: Novacta.AnalyticsIndexCollection
The indexes of the rows to collect.

Return Value

Type: DoubleMatrixRowCollection
The collection of the specified rows in this instance.
Exceptions
ExceptionCondition
ArgumentNullExceptionrowIndexes is null.
ArgumentOutOfRangeExceptionrowIndexes contains an index which is greater than or equal to the NumberOfRows of this instance.
Examples

In the following example, some rows of a matrix are enumerated.

C#
using System;

namespace Novacta.Analytics.CodeExamples
{
    public class RowsEnumeratorExample1  
    {
        public void Main()
        {
            // Create a matrix.
            var data = new double[12] {
                1, 5,  9,
                2, 6, 10,
                3, 7, 11,
                4, 8, 12
            };
            var matrix = DoubleMatrix.Dense(4, 3, data, StorageOrder.RowMajor);
            Console.WriteLine("Data matrix:");
            Console.WriteLine(matrix);
            Console.WriteLine();

            // Specify the rows to enumerate.
            var rowIndexes = IndexCollection.FromArray(new int[6] { 0, 0, 1, 2, 3, 2 });

            // Get the collection of the specified matrix rows.
            var rows = matrix.AsRowCollection(rowIndexes);

            // Enumerate the specified matrix rows.
            foreach (var row in rows) {
                Console.WriteLine("Row {0}: ", row.Index);
                Console.WriteLine(row);
            }
        }
    }
}

// Executing method Main() produces the following output:
// 
// Data matrix:
// 1                5                9                
// 2                6                10               
// 3                7                11               
// 4                8                12               
// 
// 
// 
// Row 0: 
// 1                5                9                
// Row 0: 
// 1                5                9                
// Row 1: 
// 2                6                10               
// Row 2: 
// 3                7                11               
// Row 3: 
// 4                8                12               
// Row 2: 
// 3                7                11

See Also