mspca() and tpm() now take two possible
inputs: the covariance/correlation matrix or the data matrix directly.
In practice, the functions take single generic argument M
together with a type = c("Sigma", "X") selector.
type = "Sigma" (the default) treats M as a
covariance/correlation matrix (p x p); type = "X" treats
M as a raw data matrix (n observations x p variables). The
"Sigma" default preserves the behaviour of existing
matrix-based calls.Sigma %*% beta is evaluated as
t(X) %*% (X %*% beta) / (n - 1) at cost O(np), and the p x
p matrix is never materialized. This substantially improves scalability
when n << p. The covariance back-end was refactored
behind a covariance-operator abstraction (DenseOp /
GramOp) shared by both input modes.type = "X":
center, scale (covariance vs correlation), and
divisor (ān-1ā or ānā).Sigma input is
checked for squareness, symmetry and positive semidefiniteness
(checkPSD, symTolerance,
psdTolerance); an X input is checked for
finiteness, dimensions and (when scaling) zero-variance columns.mspca() results now include
variance_explained (per-PC) and
total_variance; X-mode results also record
inputType, center, scale,
divisor, nObs and p.mspca() and tpm() now return S3 objects of
class "mspca" and "tpm" respectively, enabling
use of standard R generics.print.mspca(): S3 print method displaying the
sparse loading matrix restricted to the union of active variables, the
percentage of variance explained per PC, and the number of non-zero
loadings. Replaces the removed print_mspca().summary.mspca(): produces a per-PC table of
sparsity, variance explained, FVE, and cumulative FVE, followed by the
full pairwise feasibility violation matrix.library(datasets) calls from
examples while keeping explicit datasets::mtcars usage, and
added datasets to Suggests to align example
dependencies with CRAN guidance.pairwise_correlation() and
orthogonality_violation() and replaced them with a unified
feasibility_violation_off() helper for feasibility
diagnostics across constraint types.mspca() and tpw()
through algorithmic and implementation optimizations.mspca() now accepts a new hyper-parameter
minRestartTPM that limits the number of random restarts for
the truncated power method after the first outer iterationfeasibilityConstraintType parameter to
msPCA().orthogonality_violation to
feasibility_violation to support both constraint
types.feasibility_violation() as
orthogonality_violation() to be more explicitpairwise_correlation()
Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.