in reply to Working with complex, not real number matrices

I'm not aware of anything off the top of my head... but if you don't find anything pre-build, my guess is that you can construct a complex scalar module with overload. It's remarkably easy to work with.

Have you tried Math::Complex? It might just work.

my $wakky = Math::Complex->make(5, 6); my $matrix1 = Math::MatrixReal->new_from_rows( [ [1, 1, 1, 2], [1, 0, $wakky, 3],[2,-1, 0,-1], [0, 1, 0, 1] ]);

-Paul

Replies are listed 'Best First'.
Re^2: Working with complex, not real number matrices
by gmacfadden (Sexton) on Mar 15, 2007 at 23:55 UTC
    Thank you for you reply. Testing out your overloading hypothesis a la the below code, resulted in an HTTP 500 - Internal server error.

    #! /usr/bin/perl -wT use strict; use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use CGI qw(:standard escapeHTML); use Math::MatrixReal; use Math::Complex; #my $wakky = 7; my $wakky =Math::Complex->make(5, 6); my $matrix1 = Math::MatrixReal->new_from_rows([ [1,1,1,2],[1,0,$wakky,3],[2,-1,0,-1],[ 0,1,0,1] ]); print header (), start_html (-title => "Matrix Ops"); print "\$matrix1 = ", $matrix1 ,"<br>\n"; print end_html (); exit(0);
    However, if $wakky is changed to a real number Math::MatrixReal is happy. I noticed in the CPAN Math::Complex documention that there was no mention of overload working with matrices.

    If I've got something amiss, please let me know, I'd appreciate your further suggestion. In the interim, I'll start following up on the others' suggestions.

    Thanks and best regards - Gary