ALSCAL
Multidimensional Scaling Program
ALSCAL
is a FORTRAN77 program which
carries out multidimensional scaling (MDS).
It uses
the alternating least squares approach to scaling. It is capable
of a wide range of analyses, and is suitable for any type of
two or three way data, measured at the nominal, ordinal, interval
or ratio level.
Related Data and Programs:
ALSCAL is available in
a FORTRAN77 version and
a FORTRAN90 version.
ALSCAL_DATA_CONVERT
is a FORTRAN90 program which
reads a data file containing object names and distances between objects
and reformats the data for input to ALSCAL.
Reference:
-
Forrest Young, Rostyslaw Lewyckyj,
ALSCAL User's Guide,
L L Thurstone Psychometric Laboratory,
University of North Carolina,
Chapel Hill, North Carolina, 27599
-
the ALSCAL web page.
Source Code:
Examples and Tests:
List of Routines:
-
MAIN is the main program.
-
ARNGE rearranges the weight and stimulus matrices.
-
BLOC2 finds blocks of ties.
-
CATSES computes a discrete nominal transformation.
-
CJEIG computes the eigenvalues and eigenvectors of a real symmetric matrix.
-
CLEAR clears the screen.
-
COEF obtains least stress coordinates.
-
DISTP computes distances and disparities for coordinates and weights.
-
DRIVER controls the flow of the program.
-
EIGK implements Kaiser's JK method for eigenanalysis of a real symmetric matrix.
-
HITR requests that the user hit RETURN, and waits for input.
-
INIT computes the initial configuration estimation in INDSCAL.
-
INNER computes stimulus coordinates.
-
INSWM computes the initial configuration for the stimulus weighted model.
-
LENGTH normalizes the length of disparities.
-
LINT performs constrained least squares linear regression.
-
MINV computes the inverse of a symmetric matrix.
-
MSTRS calculates the stress of two vectors and estimates missing data.
-
NORMW normalizes weight matrices for output.
-
NORMX normalizes the configuration for printing at end of job.
-
OUTA prints out asymmetric and rectangular matrices.
-
OUTS prints out symmetric matrices.
-
PAGE writes a form feed.
-
PDDISP prepares disparities for PDSCAL.
-
PDDIST calculates principal direction distances.
-
PDINWT obtains an initial estimate of the principal direction weights.
-
PDMAIN is the main subroutine for principal direction scaling.
-
PDOUTT prints Tucker's oblique decomposition of a subject's matrix of principal weights.
-
PDOUTY prints out CK, WK and XK.
-
PDPLOT plots each pair of directions of xk
-
PDSCAL computes principal direction weights.
-
PDSTRS calculates unnormalized stress.
-
PDTUCK obtains Tucker's oblique decomposition of WK.
-
PDWGHT calculates a(p,q), the weight of variable p on principal direction q.
-
PDYUNG obtains Young's principal directions solution.
-
PLOTR is a plot routine for ALSCAL.
-
POLYF does polynomial fitting.
-
PPLOT is a plot routine for ALSCAL.
-
PRS prepares ties for continuous ordinal transformation.
-
SCUBE solves a cubic equation.
-
SES prepares ties for discrete ordinal transformation.
-
SHEL9 sorts data using Shell's sort.
-
STEP0 reads and checks the problem parameters.
-
STEP1 is the data input routine.
-
STEP2 obtains starting configurations and scalings.
-
STEP3 is the major computational routine.
-
STEP3A prints stress and correlations in distances.
-
STEP4 outputs the results.
-
TRS computes Kruskal's least squares monotonic transformation.
-
WPLOT writes file "cplot.dat" for rotation of configuration by use of CPLOT.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 18 August 2008.