## Uses of Class
org.apache.sysds.runtime.controlprogram.federated.FederationMap

Packages that use FederationMap
org.apache.sysds.runtime.controlprogram.caching
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.instructions.fed
org.apache.sysds.runtime.io

### Uses of FederationMap in org.apache.sysds.runtime.controlprogram.caching

Methods in org.apache.sysds.runtime.controlprogram.caching that return FederationMap
`FederationMap` CacheableData.`getFedMapping()` Gets the mapping of indices ranges to federated objects.

Methods in org.apache.sysds.runtime.controlprogram.caching with parameters of type FederationMap
`void` CacheableData.`setFedMapping(FederationMap fedMapping)` Sets the mapping of indices ranges to federated objects.

### Uses of FederationMap in org.apache.sysds.runtime.controlprogram.federated

Methods in org.apache.sysds.runtime.controlprogram.federated that return FederationMap
`FederationMap` FederationMap.`bind(long rOffset, long cOffset, FederationMap that)`
`FederationMap` FederationMap.`clone()`
`FederationMap` FederationMap.`copyWithNewID()` Copy the federation map with the next available federated ID as reference to the federated data.
`FederationMap` FederationMap.`copyWithNewID(long id)` Copy the federation map with the given ID as reference to the federated data.
`FederationMap` FederationMap.`copyWithNewID(long id, long clen)` Copy the federation map with the given ID as reference to the federated data and with given clen as end dimension for the columns in the range.
`FederationMap` FederationMap.`copyWithNewIDAndRange(int[][] ix, long outputID, FederationMap.FType type)`
`FederationMap` FederationMap.`copyWithNewIDAndRange(long rowRangeEnd, long colRangeEnd, long outputID)` Copy federated mapping while giving the federated data new IDs and setting the ranges from zero to row and column ends specified.
`FederationMap` FederationMap.`copyWithNewIDAndRange(long rowRangeEnd, long colRangeEnd, long outputID, FederationMap.FType type)`
`static FederationMap` FederationUtils.`federateLocalData(CacheableData<?> data)`
`FederationMap` FederationMap.`filter(IndexRange ixrange)`
`FederationMap` FederationMap.`identCopy(long tid, long id)`
`FederationMap` FederationMap.`mapParallel(long newVarID, BiFunction<FederatedRange,FederatedData,Void> mappingFunction)` Execute a function for each `FederatedRange` + `FederatedData` pair mapping the pairs to their new form by directly changing both `FederatedRange` and `FederatedData`.
`FederationMap` FederationMap.`transpose()`

Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type FederationMap
`static MatrixBlock` FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggMean(Future<FederatedResponse>[] ffr, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggMinMaxIndex(Future<FederatedResponse>[] ffr, boolean isMin, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggProd(Future<FederatedResponse>[] ffr, FederationMap fedMap, AggregateUnaryOperator aop)`
`static ScalarObject` FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
`static ScalarObject` FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
`static MatrixBlock` FederationUtils.`aggVar(Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map, boolean isRowAggregate, boolean isScalar)`
`FederationMap` FederationMap.`bind(long rOffset, long cOffset, FederationMap that)`
`boolean` FederationMap.`isAligned(FederationMap that, boolean transposed)` Determines if the two federation maps are aligned row/column partitions at the same federated sites (which allows for purely federated operation)
`boolean` FederationMap.`isAligned(FederationMap that, boolean transposed, boolean equalRows, boolean equalCols)` determines if the two federated data are aligned row/column partitions (depending on parameters equalRows/equalCols) at the same federated site (which often allows for purely federated operations)
`boolean` FederationMap.`isAligned(FederationMap that, FederationMap.AlignType... alignTypes)` helper function for checking multiple allowed alignment types

### Uses of FederationMap in org.apache.sysds.runtime.instructions.fed

Methods in org.apache.sysds.runtime.instructions.fed with parameters of type FederationMap
`static void` MultiReturnParameterizedBuiltinFEDInstruction.`encodeFederatedFrames(FederationMap fedMapping, MultiColumnEncoder globalencoder, MatrixObject transformedMat)`

### Uses of FederationMap in org.apache.sysds.runtime.io

Methods in org.apache.sysds.runtime.io with parameters of type FederationMap
`static void` ReaderWriterFederated.`write(String file, FederationMap fedMap)` TODO add writing to each of the federated locations so that they also save their matrices.