Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!ccu.umanitoba.ca!herald.usask.ca!alberta!brazeau.ucs.ualberta.ca!unixg.ubc.ca!ubc-cs!van-bc!zaphod.mps.ohio-state.edu!samsung!noose.ecn.purdue.edu!mentor.cc.purdue.edu!mace.cc.purdue.edu!bfp From: bfp@mace.cc.purdue.edu (Bryan Putnam) Newsgroups: comp.lang.fortran Subject: Re: Need complex matrix solver for CM Message-ID: <7902@mace.cc.purdue.edu> Date: 28 Jun 91 20:06:52 GMT References: <1991Jun27.190724.26161@ariel.unm.edu> <7887@mace.cc.purdue.edu> <1991Jun28.061454.29461@fs7.ece.cmu.edu> Organization: Purdue University Computing Center Lines: 24 In article <1991Jun28.061454.29461@fs7.ece.cmu.edu> winstead@faraday.ece.cmu.edu (Charles Holden Winstead) writes: > >Yo dude, grow up! I agree that it's a simple task of changing a complex >linear system into a real one, but with a language that deals with complex >numbers as nicely as fortran does, let's agree that there are some benefits >to not switching from complex to real and back again repeatedly. Why not > There can also be some benefits to separating the data into real and imaginary parts, because on some machines the vector hardware instructions do not operate on complex data. If you the programmer do not separate the data, then the compiler has too. For example, the highly optimized FFT routines written for the CYBER 205, and which were used by the National Weather Service, start off by SEPARATING the real and imaginary parts simply because the vector hardware is more efficient at performing real arithmetic. Too many programmers get into trouble by ignoring the architecture of specific machines. >Why not >just look through the code that works for real matrices and change the >corresponding variable declaration from real to complex. I suppose the obvious answer would be that the source code is seldom available, unless of course this is a trick question.