Skip to contents

Registered implementations define the supported omic-layer count. Plain SVD is the exactly-one-omic-layer baseline; comparative GSVD/HO-GSVD strategies handle two or more omic layers and can partition shared from omic-layer-exclusive structure.

Usage

decompose(strategy, data, ...)

# S4 method for class 'Decomposer,StateTransitionData'
decompose(strategy, data, ...)

# S4 method for class 'HogsvdAveraged,StateTransitionData'
.decompose_impl(strategy, data, ...)

# S4 method for class 'HogsvdPrereduced,StateTransitionData'
.decompose_impl(strategy, data, ...)

# S4 method for class 'SvdDecomposer,StateTransitionData'
.decompose_impl(strategy, data, ...)

Arguments

strategy

a Decomposer implementation

data

StateTransitionData

...

forwarded to the implementation

Value

StageResult whose value is data annotated with shared + exclusive subspaces in metadata()

Details

Boundary validation (validate_boundary) is enforced structurally: the method below, dispatched on the VIRTUAL Decomposer class itself, runs for every concrete strategy before any strategy-specific code executes. Concrete strategies never implement decompose() directly — they implement the internal .decompose_impl generic instead, which only ever receives an already-validated data. A new strategy cannot skip validation by omission because validation is not part of the code path it writes.