OK, with this information I can tell you that PDL::Transform is probably not 
what you want--that does coordinate transforms (I was interpreting your 
question as in, "can I scale things (images, coordinates, etc) in multiple 
dimensions").  Thank you for the MDS wikipedia link.

PCA might be a better search term.  Look at Maggie's PDL::Stats module, which 
contains PDL::Stats::GLM.  That includes some PCA routines.

I don't know that GSL does PCA explicitly, but it should handle the eigenvalue 
or SVD portions of PCA just fine.  There are some PDL::GSL:: modules but I 
don't think they include the eigen calculations.

PDL::Slatec has the 'eigsys' function which may also be helpful.

PDL::MatrixOps has the eigens.  These last two I found by doing 

$pdldoc -a eigen

from the command line after PDL was installed.

There is a general R/Splus <--> Perl package here: 
http://www.omegahat.org/RSPerl/ but it has not been updated in many years, and 
I have never used it.

best,
Derek


On Jan 31, 2013, at 1:52 PM, Jean Véronis wrote:

> Thanks Derek, I am going to check PDL::Transform right away.
> 
> My need is to reduce dimensionality on large distance matrices. For this is 
> use multidimensional scaling  
> (http://en.wikipedia.org/wiki/Multidimensional_scaling) by calling R from 
> perl (cmdscale function : 
> http://stat.ethz.ch/R-manual/R-patched/library/stats/html/cmdscale.html).
> 
> It's perfectly fine, expect in terms of performance, since at the moment I 
> didn't find any better way than use Statistics:R, which basically passes data 
> through stdin/stdout. When it comes to huge matrices, it is extremely 
> inefficient. Hence my question.
> 
> I tried to google "pdl multidimensional scaling", "gsl multidimensional 
> scaling", "perl multidimensional scaling", and all possible variants 
> involving "pcinipal coordinates analysis", "PCoA", with no success.
> 
> Many thanks, again.
> --j
> 
> Le 31 janv. 2013 à 21:41, Derek Lamb <[email protected]> a écrit :
> 
>> Hi Jean,
>> 
>> The best hint I can provide based on the extremely limited information you 
>> have given is PDL::Transform.
>> 
>> You might get a better response if you describe what you are trying to do in 
>> more than one sentence, what you have tried, whether you are new to PDL or 
>> Perl or are already using one or both, and what documentation you have 
>> looked at.
>> 
>> best,
>> Derek
>> 
>> On Jan 31, 2013, at 1:24 PM, Jean Véronis wrote:
>> 
>>> Hi all,
>>> 
>>> I am looking for a multidimensional scaling package.
>>> Any hint would be appreciated.
>>> 
>>> Many thanks
>>> --j
>> 
> 

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to