From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 62033 invoked by alias); 13 Jul 2018 04:01:36 -0000 Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org Received: (qmail 61515 invoked by uid 89); 13 Jul 2018 04:01:35 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=HTo:U*gsl-discuss, UD:gov, Hx-languages-length:1792, patrick X-HELO: NAM04-CO1-obe.outbound.protection.outlook.com Received: from mail-eopbgr690124.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) (40.107.69.124) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 13 Jul 2018 04:01:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=colorado.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HPHYVYIvOzqvoqbuxOa350A5gJh1xwBGztDcPSBZd5M=; b=Pz4f34cXH7cuZBK3f5vbFOBH9qTgVhHTRZ2s4COGh5T+vFO70fe3frH/GrJH8el5bO2EJXl/vtKeTpoMJjCsAijtwaZMWz3PNpY7AmuMo6d6QYhNKOK0TiTtPyaWDp5KKawP3KdgalJDQv0ODWCr0bBQB7O0Trd30keH6uILdWI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=patrick.alken@colorado.edu; Received: from [192.168.0.8] (75.166.94.211) by CY4PR03MB3254.namprd03.prod.outlook.com (2603:10b6:910:54::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Fri, 13 Jul 2018 04:01:31 +0000 Subject: Re: Please implement typical functionality for sparse matrices To: David Cortes , "gsl-discuss@sourceware.org" References: <00f77ff86fbe3066184b5cb827abd6ee5dbc637c.camel@gmail.com> From: Patrick Alken Message-ID: Date: Fri, 13 Jul 2018 04:01:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <00f77ff86fbe3066184b5cb827abd6ee5dbc637c.camel@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-Path: alken@colorado.edu Received-SPF: None (protection.outlook.com: colorado.edu does not designate permitted sender hosts) X-SW-Source: 2018-q3/txt/msg00000.txt.bz2 Moving this over to gsl-discuss since its not a bug. I would like to expand support for sparse matrices also. Ideally I would like to see GSL support the proposed Sparse BLAS standard (https://math.nist.gov/spblas/) which would likely address the points you raise below. I had some preliminary discussions a few months back with the maintainer of librsb (a sparse matrix library which fully implements the sparse BLAS standard, http://librsb.sourceforge.net/). In principle we might be able to port a lot of that code since it is a LGPL library. However the main issue is time. I am currently the only active GSL developer and have quite limited time these days. I would like to see more people work on these things and contribute to GSL, but I see few people volunteer. If you can write good code and know about sparse matrices, please consider working on these issues yourself and contributing a patch. Otherwise it will likely take me a long time to get to this :). But this is a relatively high priority item for me since I work with sparse matrices frequently in my own work. Thanks, Patrick On 07/12/2018 02:52 PM, David Cortes wrote: > The function for matrix multiplication for sparse matrices > (gsl_spblas_dgemm) currently only works when both inputs are in column- > compressed format. It would be straightforward to expand it to cover > also row-compressed matrices (without transposing them). > > As well, the spmatrix module supports convertion of > coordinates/triplets formats to row- and column-compressed, but it > doesn't support convertion from a compressed format to > coordinates/triplets. > > This makes it also problematic to perform basic algebra on matrices > which might later get multiplied. > >