[GAP Forum] GAP to MATLAB?

Iverson, Joseph W [MATH] jwi at iastate.edu
Wed Oct 16 19:31:46 BST 2019


Dear Dima (and everyone),

>> What kind of task are do going to do on these matrices?

Usually when I need to export to MATLAB it's because I need to do stuff with eigenvalues or with non-cyclotomic numbers. For instance, right now I need to convert this non-unitary representation to a unitary one (using the square root of a positive matrix) and then find a matrix for orthogonal projection onto an invariant subspace (with the aid of a spectral decomposition).

>>     I believe you can do a lot in SageMath

Yes, I always have that in the back of my mind as a last resort, but I would like to avoid learning a whole new system if I can. In addition, many of my collaborators use MATLAB and I would like to stay on the same page as them.
 
Still, I wonder if a person could use Sage as a bridge to MATLAB. Does anybody know if it has a method to export .mat files, and if so, whether that method is compatible with the interface to GAP?

Dima, thanks also for pointing me to your package about block diagonalization. That is closely related to what I am doing, yes.

All the best,
Joey Iverson

Assistant Professor
Department of Mathematics
Iowa State University




On 10/16/19, 9:11 AM, "dmitrii.pasechnik at cs.ox.ac.uk" <dmitrii.pasechnik at cs.ox.ac.uk> wrote:

    Dear Joey,
    On Wed, Oct 16, 2019 at 12:06:16PM +0000, Iverson, Joseph W [MATH] wrote:
    > 
    > Does anybody know of a way to efficiently get matrices (say with cyclotomic entries) from GAP to MATLAB? For instance, is there a package to export matrices as .mat files? 
    > 
    > I have been getting by with a jerry-rigged solution where I make GAP print a matrix like
    > A:=[[1,0],[0,1]];;
    > to a file "A.m" containing a single string like
    > "A=[1,0;0,1];".
    > Then I have MATLAB read the file as a script. That works fine for small matrices, but for large ones (or for 3-tensors consisting of lots of matrices) it is prohibitively slow, both for GAP to print to the file and for MATLAB to interpret the result. 
    > 
    > For a sense of scale, at the moment I would like to export 95040 matrices each of size 540x540 to MATLAB, preferably as a 3-tensor so that I can easily iterate through the list. (The matrices are the image of a representation of M12 having degree 540.)
    
    What kind of task are do going to do on these matrices?
    I believe you can do a lot in SageMath, which has a fast (lib)GAP
    interface, and many more numerical
    and matrix tools than GAP. E.g. we recently have been working on solving
    semidefinite optimisation problems using GAP output (needed to
    block-diagonalise certain combinatorial data).
    
    We (mostly, my former student) also have a GAP package that would block-diagonalise for you your
    representation (into block-diagonal matrix with irredicible blocks).
    https://gitlab.com/kaashif/decomp
    which might help a lot with whatever linear algebra tasks you might want
    to do with your representation of degree 540.
    
    HTH
    Dima
    
    
    > 
    > Best regards,
    > Joey Iverson
    > 
    > Assistant Professor
    > Department of Mathematics
    > Iowa State University
    > 
    > _______________________________________________
    > Forum mailing list
    > Forum at gap-system.org
    > https://mail.gap-system.org/mailman/listinfo/forum
    



More information about the Forum mailing list