You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ba...@apache.org on 2022/06/10 14:22:27 UTC

[systemds] branch main updated (8d0195a666 -> ce0a30781f)

This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


    from 8d0195a666 [SYSTEMDS-3082] Generating builtin docs
     new 7099c9043b [DOCS] Update Java Docs
     new a0254e5d2c [DOCS] Update builtin scripts docs
     new 4532e84922 [MINOR] fix WoE
     new d1081a48ae [MINOR] Update and fix minor syntax for Python Docs
     new ce0a30781f [DOCS] update python docs

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/api/java/allclasses-index.html                | 3000 ++++++++-------
 docs/api/java/allclasses.html                      |   30 +-
 docs/api/java/allpackages-index.html               |   18 +-
 docs/api/java/constant-values.html                 |  268 +-
 docs/api/java/element-list                         |    4 +
 docs/api/java/index-all.html                       |  677 +++-
 docs/api/java/index.html                           |   94 +-
 docs/api/java/member-search-index.js               |    2 +-
 docs/api/java/member-search-index.zip              |  Bin 214872 -> 219101 bytes
 docs/api/java/org/apache/sysds/api/DMLOptions.html |   28 +
 .../api/java/org/apache/sysds/common/Builtins.html |  178 +-
 .../org/apache/sysds/common/Types.DataType.html    |   28 +-
 .../java/org/apache/sysds/common/Types.OpOp1.html  |  147 +-
 .../sysds/common/class-use/Types.DataType.html     |    7 +
 .../sysds/common/class-use/Types.ExecType.html     |   34 +-
 .../java/org/apache/sysds/common/package-use.html  |   75 +-
 .../apache/sysds/conf/ConfigurationManager.html    |   34 +-
 .../java/org/apache/sysds/hops/AggBinaryOp.html    |    2 +-
 .../api/java/org/apache/sysds/hops/AggUnaryOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/BinaryOp.html  |    2 +-
 docs/api/java/org/apache/sysds/hops/DataGenOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/DataOp.html    |    2 +-
 docs/api/java/org/apache/sysds/hops/DnnOp.html     |    2 +-
 .../api/java/org/apache/sysds/hops/FunctionOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/Hop.html       |  220 +-
 .../api/java/org/apache/sysds/hops/IndexingOp.html |    2 +-
 .../java/org/apache/sysds/hops/LeftIndexingOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/LiteralOp.html |    2 +-
 .../org/apache/sysds/hops/MultiThreadedHop.html    |    2 +-
 docs/api/java/org/apache/sysds/hops/NaryOp.html    |    2 +-
 .../apache/sysds/hops/ParameterizedBuiltinOp.html  |    2 +-
 .../java/org/apache/sysds/hops/QuaternaryOp.html   |    2 +-
 docs/api/java/org/apache/sysds/hops/ReorgOp.html   |    2 +-
 docs/api/java/org/apache/sysds/hops/TernaryOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/UnaryOp.html   |    2 +-
 .../java/org/apache/sysds/hops/class-use/Hop.html  |   37 +-
 .../org/apache/sysds/hops/class-use/LiteralOp.html |   26 +
 .../apache/sysds/hops/codegen/SpoofFusedOp.html    |    2 +-
 .../java/org/apache/sysds/hops/cost/HopRel.html    |   30 +-
 .../hops/fedplanner/FederatedPlannerCostbased.html |   11 +-
 .../apache/sysds/hops/fedplanner/MemoTable.html    |   39 +-
 .../sysds/hops/fedplanner/class-use/MemoTable.html |   28 +
 .../apache/sysds/hops/fedplanner/package-use.html  |   23 +
 .../java/org/apache/sysds/hops/package-use.html    |    4 +
 docs/api/java/org/apache/sysds/lops/Federated.html |   42 +-
 docs/api/java/org/apache/sysds/lops/UnaryCP.html   |  130 +-
 .../lops/class-use/PickByCount.OperationTypes.html |   53 +
 .../java/org/apache/sysds/lops/package-use.html    |    4 +
 .../apache/sysds/parser/AssignmentStatement.html   |    2 +-
 .../org/apache/sysds/parser/DataExpression.html    |   92 +-
 .../java/org/apache/sysds/parser/ForStatement.html |    2 +-
 .../org/apache/sysds/parser/FunctionStatement.html |    2 +-
 .../java/org/apache/sysds/parser/IfStatement.html  |    2 +-
 .../org/apache/sysds/parser/ImportStatement.html   |    2 +-
 .../sysds/parser/MultiAssignmentStatement.html     |    2 +-
 .../org/apache/sysds/parser/OutputStatement.html   |    2 +-
 .../org/apache/sysds/parser/ParForStatement.html   |    2 +-
 .../org/apache/sysds/parser/PathStatement.html     |    2 +-
 .../org/apache/sysds/parser/PrintStatement.html    |    2 +-
 .../java/org/apache/sysds/parser/Statement.html    |   58 +-
 .../org/apache/sysds/parser/WhileStatement.html    |    2 +-
 .../apache/sysds/parser/class-use/DMLProgram.html  |    5 +-
 .../parser/class-use/Statement.PSFrequency.html    |   20 +-
 .../class-use/Statement.PSRuntimeBalancing.html    |    5 +-
 .../parser/class-use/Statement.PSUpdateType.html   |   15 +
 .../sysds/parser/class-use/StatementBlock.html     |   10 +-
 .../runtime/compress/CompressedMatrixBlock.html    |    2 +-
 .../caching/class-use/CacheBlock.html              |  138 +-
 .../caching/class-use/CacheableData.html           |   18 +
 .../caching/class-use/FrameObject.html             |   12 +-
 .../caching/class-use/MatrixObject.html            |  101 +-
 .../controlprogram/caching/package-use.html        |   57 +-
 .../controlprogram/context/ExecutionContext.html   |  122 +-
 .../context/SparkExecutionContext.html             |    2 +-
 .../context/class-use/ExecutionContext.html        |  147 +-
 .../controlprogram/federated/FederatedData.html    |   24 +-
 .../federated/FederatedLocalData.html              |    2 +-
 .../federated/FederatedLookupTable.html            |   20 +-
 .../federated/FederatedResponse.html               |   60 +-
 ...deratedStatistics.FedStatsCollectFunction.html} |  142 +-
 ...=> FederatedStatistics.FedStatsCollection.html} |  185 +-
 .../federated/FederatedStatistics.html             |  294 +-
 .../controlprogram/federated/FederatedUDF.html     |    2 +-
 .../controlprogram/federated/FederatedWorker.html  |   49 +-
 .../federated/FederatedWorkerHandler.html          |   21 +-
 .../controlprogram/federated/FederationMap.html    |   80 +-
 .../controlprogram/federated/FederationUtils.html  |   26 +-
 .../federated/class-use/FederatedData.html         |   12 +-
 .../federated/class-use/FederatedLookupTable.html  |    7 +
 .../federated/class-use/FederatedRange.html        |   23 +-
 .../federated/class-use/FederatedReadCache.html    |    7 +
 .../federated/class-use/FederatedRequest.html      |   27 +-
 .../class-use/FederatedResponse.ResponseType.html  |   12 +
 .../federated/class-use/FederatedResponse.html     |   59 +-
 ...deratedStatistics.FedStatsCollectFunction.html} |   12 +-
 ...=> FederatedStatistics.FedStatsCollection.html} |   34 +-
 .../federated/class-use/FederatedUDF.html          |   43 +-
 .../class-use/FederatedWorkloadAnalyzer.html       |    7 +
 .../monitoring/FederatedMonitoringServer.html      |   15 +-
 .../federated/monitoring/class-use/Request.html    |  243 --
 .../controllers/CoordinatorController.html         |   44 +-
 .../{BaseController.html => IController.html}      |   44 +-
 ...inatorController.html => WorkerController.html} |   64 +-
 .../{BaseController.html => IController.html}      |   21 +-
 .../class-use/WorkerController.html}               |   50 +-
 .../monitoring/controllers/package-summary.html    |    6 +-
 .../monitoring/controllers/package-tree.html       |    5 +-
 .../monitoring/controllers/package-use.html        |    2 +-
 .../BaseEntityModel.html}                          |  113 +-
 .../NodeEntityModel.html}                          |  187 +-
 .../federated/monitoring/{ => models}/Request.html |   42 +-
 .../monitoring/{ => models}/Response.html          |   42 +-
 .../monitoring/models/StatsEntityModel.html        |  476 +++
 .../models/class-use/BaseEntityModel.html          |  424 +++
 .../class-use/NodeEntityModel.html}                |   50 +-
 .../monitoring/models/class-use/Request.html       |  297 ++
 .../{ => models}/class-use/Response.html           |   50 +-
 .../class-use/StatsEntityModel.html}               |   50 +-
 .../{controllers => models}/package-summary.html   |   35 +-
 .../{controllers => models}/package-tree.html      |   19 +-
 .../{controllers => models}/package-use.html       |   79 +-
 .../federated/monitoring/package-summary.html      |    8 -
 .../federated/monitoring/package-tree.html         |    2 -
 .../federated/monitoring/package-use.html          |   37 +-
 .../monitoring/repositories/Constants.html         |  494 +++
 .../DerbyRepository.html}                          |  122 +-
 .../monitoring/repositories/EntityEnum.html}       |  246 +-
 .../monitoring/repositories/IRepository.html       |  334 ++
 .../class-use/Constants.html}                      |   50 +-
 .../class-use/DerbyRepository.html}                |   50 +-
 .../repositories/class-use/EntityEnum.html         |  309 ++
 .../class-use/IRepository.html}                    |   22 +-
 .../package-summary.html                           |   29 +-
 .../package-tree.html                              |   25 +-
 .../{controllers => repositories}/package-use.html |   41 +-
 .../CoordinatorService.html}                       |  114 +-
 .../{Response.html => services/MapperService.html} |   82 +-
 .../{Response.html => services/StatsService.html}  |   88 +-
 .../{Request.html => services/WorkerService.html}  |  114 +-
 .../class-use/CoordinatorService.html}             |   50 +-
 .../class-use/MapperService.html}                  |   50 +-
 .../class-use/StatsService.html}                   |   50 +-
 .../class-use/WorkerService.html}                  |   50 +-
 .../{controllers => services}/package-summary.html |   31 +-
 .../{controllers => services}/package-tree.html    |   17 +-
 .../Response.html => services/package-use.html}    |   20 +-
 .../controlprogram/federated/package-summary.html  |    8 +
 .../controlprogram/federated/package-tree.html     |    7 +-
 .../controlprogram/federated/package-use.html      |    8 +
 .../paramserv/FederatedPSControlThread.html        |   60 +-
 .../{LocalParamServer.html => HEParamServer.html}  |  169 +-
 .../controlprogram/paramserv/LocalParamServer.html |    6 +-
 .../paramserv/NativeHEHelper.html}                 |  278 +-
 .../NetworkTrafficCounter.html}                    |  161 +-
 .../controlprogram/paramserv/ParamServer.html      |   20 +-
 .../controlprogram/paramserv/SparkPSProxy.html     |    2 +-
 .../class-use/FederatedPSControlThread.html        |   47 +-
 .../{LocalParamServer.html => HEParamServer.html}  |   53 +-
 .../paramserv/class-use/LocalParamServer.html      |   17 +
 ...tedPSControlThread.html => NativeHEHelper.html} |   12 +-
 ...ntrolThread.html => NetworkTrafficCounter.html} |   12 +-
 .../paramserv/class-use/ParamServer.html           |   14 +-
 .../homomorphicEncryption/PublicKey.html}          |   50 +-
 .../homomorphicEncryption/SEALClient.html}         |  107 +-
 .../homomorphicEncryption/SEALServer.html}         |  107 +-
 .../homomorphicEncryption/class-use/PublicKey.html |  277 ++
 .../class-use/SEALClient.html}                     |   39 +-
 .../class-use/SEALServer.html}                     |   12 +-
 .../homomorphicEncryption}/package-summary.html    |   16 +-
 .../homomorphicEncryption}/package-tree.html       |   25 +-
 .../homomorphicEncryption}/package-use.html        |   53 +-
 .../controlprogram/paramserv/package-summary.html  |   28 +-
 .../controlprogram/paramserv/package-tree.html     |   28 +-
 .../controlprogram/paramserv/package-use.html      |   10 +
 .../parfor/stat/class-use/Timing.html              |   27 +
 .../controlprogram/parfor/stat/package-use.html    |   25 +-
 .../org/apache/sysds/runtime/data/SparseRow.html   |   41 +-
 .../apache/sysds/runtime/data/SparseRowScalar.html |   46 +-
 .../apache/sysds/runtime/data/SparseRowVector.html |   94 +-
 .../runtime/data/class-use/SparseBlock.Type.html   |    5 +
 .../instructions/class-use/Instruction.html        |   20 +
 .../cp/CiphertextMatrix.html}                      |   97 +-
 .../apache/sysds/runtime/instructions/cp/Data.html |    2 +-
 .../cp/Encrypted.html}                             |  103 +-
 .../sysds/runtime/instructions/cp/ListObject.html  |   92 +-
 .../cp/PlaintextMatrix.html}                       |   97 +-
 .../instructions/cp/ScalarObjectFactory.html       |   26 +-
 ...ariableCPInstruction.VariableOperationCode.html |   31 +-
 .../instructions/cp/class-use/CPOperand.html       |   43 +
 .../cp/class-use/CiphertextMatrix.html             |  260 ++
 .../runtime/instructions/cp/class-use/Data.html    |   47 +-
 .../class-use/Encrypted.html}                      |   37 +-
 .../instructions/cp/class-use/ListObject.html      |   21 +
 .../cp/class-use/PlaintextMatrix.html}             |   65 +-
 .../instructions/cp/class-use/ScalarObject.html    |   17 +-
 .../runtime/instructions/cp/package-summary.html   |   88 +-
 .../runtime/instructions/cp/package-tree.html      |    6 +
 .../sysds/runtime/instructions/cp/package-use.html |  139 +-
 .../instructions/fed/AppendFEDInstruction.html     |   16 +-
 .../fed/CentralMomentFEDInstruction.html           |   16 +-
 .../instructions/fed/CovarianceFEDInstruction.html |   16 +-
 .../instructions/fed/FEDInstruction.FEDType.html   |   26 +
 .../instructions/fed/InitFEDInstruction.html       |   89 +-
 ...tiReturnParameterizedBuiltinFEDInstruction.html |   26 +-
 ...ePickFEDInstruction.CreateMatrixFromFrame.html} |  152 +-
 .../fed/QuantilePickFEDInstruction.html            |  173 +-
 .../fed/QuantileSortFEDInstruction.html            |    8 +-
 .../fed/class-use/AppendFEDInstruction.html        |    5 +
 .../fed/class-use/CentralMomentFEDInstruction.html |    5 +
 .../fed/class-use/CovarianceFEDInstruction.html    |    5 +
 .../class-use/FEDInstruction.FederatedOutput.html  |   29 +-
 ...ePickFEDInstruction.CreateMatrixFromFrame.html} |   12 +-
 .../fed/class-use/QuantilePickFEDInstruction.html  |    5 +
 .../fed/class-use/QuantileSortFEDInstruction.html  |    3 +-
 .../runtime/instructions/fed/package-summary.html  |   48 +-
 .../runtime/instructions/fed/package-tree.html     |    1 +
 .../apache/sysds/runtime/lineage/LineageCache.html |   50 +-
 .../sysds/runtime/lineage/LineageCacheEntry.html   |   62 +-
 .../apache/sysds/runtime/lineage/LineageItem.html  |   84 +-
 .../sysds/runtime/lineage/LineageItemUtils.html    |   80 +-
 .../sysds/runtime/lineage/LineageTraceable.html    |    2 +-
 .../runtime/lineage/class-use/LineageItem.html     |  130 +-
 .../lineage/class-use/LineageTraceable.html        |   52 +-
 .../sysds/runtime/matrix/data/LibMatrixMult.html   |   12 +-
 .../sysds/runtime/matrix/data/MatrixBlock.html     |  413 +-
 .../runtime/matrix/data/class-use/MatrixBlock.html |  131 +-
 .../sysds/runtime/matrix/data/package-use.html     |    4 +
 .../matrix/operators/class-use/Operator.html       |   35 +-
 .../meta/class-use/DataCharacteristics.html        |   43 +
 .../runtime/transform/encode/ColumnEncoder.html    |  102 +-
 .../runtime/transform/encode/ColumnEncoderBin.html |   70 +-
 .../transform/encode/ColumnEncoderComposite.html   |   68 +-
 .../transform/encode/ColumnEncoderDummycode.html   |    2 +-
 .../transform/encode/ColumnEncoderFeatureHash.html |    2 +-
 .../transform/encode/ColumnEncoderPassThrough.html |    2 +-
 .../transform/encode/ColumnEncoderRecode.html      |    2 +-
 .../runtime/transform/encode/ColumnEncoderUDF.html |   84 +-
 .../transform/encode/MultiColumnEncoder.html       |   80 +-
 .../transform/encode/class-use/ColumnEncoder.html  |    5 +
 .../apache/sysds/runtime/util/UtilFunctions.html   |  200 +-
 docs/api/java/org/apache/sysds/utils/Explain.html  |   23 +-
 .../sysds/utils/stats/ParamServStatistics.html     |  136 +-
 .../sysds/utils/stats/TransformStatistics.html     |   16 +-
 docs/api/java/overview-tree.html                   |   59 +-
 docs/api/java/package-search-index.js              |    2 +-
 docs/api/java/package-search-index.zip             |  Bin 781 -> 821 bytes
 docs/api/java/serialized-form.html                 |  138 +-
 docs/api/java/type-search-index.js                 |    2 +-
 docs/api/java/type-search-index.zip                |  Bin 13411 -> 13716 bytes
 docs/api/python/api/operator/algorithms.html       | 3972 +++++++++++++++++---
 docs/api/python/api/operator/node/scalar.html      |    4 +-
 docs/api/python/genindex.html                      |  181 +-
 docs/api/python/guide/federated.html               |   27 +
 docs/api/python/objects.inv                        |  Bin 1867 -> 2262 bytes
 docs/api/python/searchindex.js                     |    2 +-
 scripts/builtin/WoE.dml                            |    9 +-
 scripts/builtin/WoEApply.dml                       |    8 +-
 scripts/builtin/abstain.dml                        |   16 +-
 scripts/builtin/confusionMatrix.dml                |    7 +-
 scripts/builtin/correctTypos.dml                   |   12 +-
 scripts/builtin/correctTyposApply.dml              |   12 +-
 scripts/builtin/dbscanApply.dml                    |    4 -
 scripts/builtin/denialConstraints.dml              |    4 +-
 scripts/builtin/fit_pipeline.dml                   |    4 -
 scripts/builtin/fixInvalidLengthsApply.dml         |    4 -
 scripts/builtin/glm.dml                            |  118 +-
 scripts/builtin/glmPredict.dml                     |   64 +-
 scripts/builtin/hyperband.dml                      |    6 +-
 scripts/builtin/img_brightness.dml                 |    5 +-
 scripts/builtin/knn.dml                            |    4 +-
 scripts/builtin/matrixProfile.dml                  |   14 +-
 scripts/builtin/steplm.dml                         |   17 +-
 src/main/python/generator/generator.py             |   16 +-
 src/main/python/generator/parser.py                |   10 +-
 .../systemds/operator/algorithm/builtin/WoE.py     |   12 +-
 .../operator/algorithm/builtin/WoEApply.py         |    7 +-
 .../systemds/operator/algorithm/builtin/abstain.py |   16 +-
 .../systemds/operator/algorithm/builtin/als.py     |   12 +-
 .../systemds/operator/algorithm/builtin/alsCG.py   |   12 +-
 .../systemds/operator/algorithm/builtin/alsDS.py   |   14 +-
 .../operator/algorithm/builtin/alsPredict.py       |   11 +-
 .../operator/algorithm/builtin/alsTopkPredict.py   |   12 +-
 .../operator/algorithm/builtin/apply_pipeline.py   |   11 +-
 .../systemds/operator/algorithm/builtin/arima.py   |    7 +-
 .../algorithm/builtin/autoencoder_2layer.py        |   27 +-
 .../systemds/operator/algorithm/builtin/bandit.py  |    9 +-
 .../systemds/operator/algorithm/builtin/bivar.py   |   14 +-
 .../operator/algorithm/builtin/components.py       |   13 +-
 .../operator/algorithm/builtin/confusionMatrix.py  |   31 +-
 .../systemds/operator/algorithm/builtin/cor.py     |    7 +-
 .../operator/algorithm/builtin/correctTypos.py     |   26 +-
 .../algorithm/builtin/correctTyposApply.py         |   29 +-
 .../systemds/operator/algorithm/builtin/cox.py     |   52 +-
 .../systemds/operator/algorithm/builtin/cspline.py |   13 +-
 .../operator/algorithm/builtin/csplineCG.py        |    8 +-
 .../operator/algorithm/builtin/csplineDS.py        |    8 +-
 .../systemds/operator/algorithm/builtin/cvlm.py    |   12 +-
 .../systemds/operator/algorithm/builtin/dbscan.py  |    7 +-
 .../operator/algorithm/builtin/dbscanApply.py      |    8 +-
 .../operator/algorithm/builtin/decisionTree.py     |   27 +-
 .../algorithm/builtin/decisionTreePredict.py       |   10 +-
 .../operator/algorithm/builtin/deepWalk.py         |    7 +-
 .../algorithm/builtin/denialConstraints.py         |   68 +-
 .../operator/algorithm/builtin/discoverFD.py       |    8 +-
 .../systemds/operator/algorithm/builtin/dist.py    |    7 +-
 .../systemds/operator/algorithm/builtin/dmv.py     |    7 +-
 .../systemds/operator/algorithm/builtin/ema.py     |    7 +-
 .../operator/algorithm/builtin/executePipeline.py  |   13 +-
 .../operator/algorithm/builtin/ffPredict.py        |    7 +-
 .../systemds/operator/algorithm/builtin/ffTrain.py |   11 +-
 .../operator/algorithm/builtin/fit_pipeline.py     |   12 +-
 .../algorithm/builtin/fixInvalidLengths.py         |    8 +-
 .../algorithm/builtin/fixInvalidLengthsApply.py    |    9 +-
 .../operator/algorithm/builtin/frameSort.py        |    9 +-
 .../operator/algorithm/builtin/frequencyEncode.py  |    8 +-
 .../algorithm/builtin/frequencyEncodeApply.py      |    7 +-
 .../systemds/operator/algorithm/builtin/garch.py   |   22 +-
 .../algorithm/builtin/gaussianClassifier.py        |   20 +-
 .../operator/algorithm/builtin/getAccuracy.py      |    7 +-
 .../systemds/operator/algorithm/builtin/glm.py     |  139 +-
 .../operator/algorithm/builtin/glmPredict.py       |   80 +-
 .../systemds/operator/algorithm/builtin/gmm.py     |   16 +-
 .../operator/algorithm/builtin/gmmPredict.py       |   11 +-
 .../systemds/operator/algorithm/builtin/gnmf.py    |   21 +-
 .../operator/algorithm/builtin/gridSearch.py       |   12 +-
 .../algorithm/builtin/hospitalResidencyMatch.py    |   78 +-
 .../operator/algorithm/builtin/hyperband.py        |   20 +-
 .../operator/algorithm/builtin/img_brightness.py   |    7 +-
 .../operator/algorithm/builtin/img_crop.py         |    7 +-
 .../operator/algorithm/builtin/img_cutout.py       |    7 +-
 .../operator/algorithm/builtin/img_invert.py       |    7 +-
 .../operator/algorithm/builtin/img_mirror.py       |    9 +-
 .../operator/algorithm/builtin/img_posterize.py    |    9 +-
 .../operator/algorithm/builtin/img_rotate.py       |    9 +-
 .../algorithm/builtin/img_sample_pairing.py        |    7 +-
 .../operator/algorithm/builtin/img_shear.py        |    9 +-
 .../operator/algorithm/builtin/img_transform.py    |   11 +-
 .../operator/algorithm/builtin/img_translate.py    |   11 +-
 .../operator/algorithm/builtin/impurityMeasures.py |   19 +-
 .../operator/algorithm/builtin/imputeByFD.py       |    8 +-
 .../operator/algorithm/builtin/imputeByFDApply.py  |    7 +-
 .../operator/algorithm/builtin/imputeByMean.py     |    9 +-
 .../algorithm/builtin/imputeByMeanApply.py         |    9 +-
 .../operator/algorithm/builtin/imputeByMedian.py   |   10 +-
 .../algorithm/builtin/imputeByMedianApply.py       |    9 +-
 .../operator/algorithm/builtin/imputeByMode.py     |    9 +-
 .../algorithm/builtin/imputeByModeApply.py         |    9 +-
 .../operator/algorithm/builtin/intersect.py        |    7 +-
 .../systemds/operator/algorithm/builtin/km.py      |   63 +-
 .../systemds/operator/algorithm/builtin/kmeans.py  |    8 +-
 .../operator/algorithm/builtin/kmeansPredict.py    |    7 +-
 .../systemds/operator/algorithm/builtin/knn.py     |    9 +-
 .../operator/algorithm/builtin/knnGraph.py         |    7 +-
 .../systemds/operator/algorithm/builtin/knnbf.py   |    7 +-
 .../systemds/operator/algorithm/builtin/l2svm.py   |    7 +-
 .../operator/algorithm/builtin/l2svmPredict.py     |   10 +-
 .../systemds/operator/algorithm/builtin/lasso.py   |    9 +-
 .../operator/algorithm/builtin/lenetPredict.py     |    7 +-
 .../operator/algorithm/builtin/lenetTrain.py       |   11 +-
 .../systemds/operator/algorithm/builtin/lm.py      |    9 +-
 .../systemds/operator/algorithm/builtin/lmCG.py    |    7 +-
 .../systemds/operator/algorithm/builtin/lmDS.py    |    7 +-
 .../operator/algorithm/builtin/lmPredict.py        |    7 +-
 .../operator/algorithm/builtin/logSumExp.py        |    7 +-
 .../operator/algorithm/builtin/matrixProfile.py    |   25 +-
 .../systemds/operator/algorithm/builtin/mcc.py     |    7 +-
 .../systemds/operator/algorithm/builtin/mdedup.py  |   10 +-
 .../systemds/operator/algorithm/builtin/mice.py    |   14 +-
 .../operator/algorithm/builtin/miceApply.py        |   14 +-
 .../systemds/operator/algorithm/builtin/msvm.py    |    9 +-
 .../operator/algorithm/builtin/msvmPredict.py      |   10 +-
 .../operator/algorithm/builtin/multiLogReg.py      |   13 +-
 .../algorithm/builtin/multiLogRegPredict.py        |   11 +-
 .../systemds/operator/algorithm/builtin/na_locf.py |    7 +-
 .../operator/algorithm/builtin/naiveBayes.py       |    8 +-
 .../algorithm/builtin/naiveBayesPredict.py         |    8 +-
 .../operator/algorithm/builtin/normalize.py        |   11 +-
 .../operator/algorithm/builtin/normalizeApply.py   |   13 +-
 .../systemds/operator/algorithm/builtin/outlier.py |    9 +-
 .../operator/algorithm/builtin/outlierByArima.py   |    9 +-
 .../operator/algorithm/builtin/outlierByIQR.py     |    7 +-
 .../algorithm/builtin/outlierByIQRApply.py         |    7 +-
 .../operator/algorithm/builtin/outlierBySd.py      |    7 +-
 .../operator/algorithm/builtin/outlierBySdApply.py |    7 +-
 .../systemds/operator/algorithm/builtin/pca.py     |   10 +-
 .../operator/algorithm/builtin/pcaInverse.py       |   11 +-
 .../operator/algorithm/builtin/pcaTransform.py     |   11 +-
 .../systemds/operator/algorithm/builtin/pnmf.py    |   19 +-
 .../systemds/operator/algorithm/builtin/ppca.py    |   12 +-
 .../operator/algorithm/builtin/randomForest.py     |   28 +-
 .../systemds/operator/algorithm/builtin/scale.py   |    9 +-
 .../operator/algorithm/builtin/scaleApply.py       |    7 +-
 .../operator/algorithm/builtin/scaleMinMax.py      |    7 +-
 .../algorithm/builtin/selectByVarThresh.py         |    7 +-
 .../systemds/operator/algorithm/builtin/setdiff.py |    7 +-
 .../operator/algorithm/builtin/sherlock.py         |   28 +-
 .../operator/algorithm/builtin/sherlockPredict.py  |   19 +-
 .../operator/algorithm/builtin/shortestPath.py     |   19 +-
 .../systemds/operator/algorithm/builtin/sigmoid.py |    9 +-
 .../operator/algorithm/builtin/slicefinder.py      |   17 +-
 .../systemds/operator/algorithm/builtin/smote.py   |    9 +-
 .../systemds/operator/algorithm/builtin/softmax.py |    7 +-
 .../systemds/operator/algorithm/builtin/split.py   |   10 +-
 .../operator/algorithm/builtin/splitBalanced.py    |   12 +-
 .../operator/algorithm/builtin/stableMarriage.py   |   79 +-
 .../systemds/operator/algorithm/builtin/statsNA.py |   27 +-
 .../systemds/operator/algorithm/builtin/steplm.py  |   33 +-
 .../operator/algorithm/builtin/stratstats.py       |   91 +-
 .../algorithm/builtin/symmetricDifference.py       |    7 +-
 .../systemds/operator/algorithm/builtin/tSNE.py    |    9 +-
 .../operator/algorithm/builtin/toOneHot.py         |    7 +-
 .../operator/algorithm/builtin/tomeklink.py        |   13 +-
 .../operator/algorithm/builtin/topk_cleaning.py    |    5 +-
 .../operator/algorithm/builtin/underSampling.py    |    8 +-
 .../systemds/operator/algorithm/builtin/union.py   |    7 +-
 .../systemds/operator/algorithm/builtin/unique.py  |    7 +-
 .../systemds/operator/algorithm/builtin/univar.py  |    7 +-
 .../operator/algorithm/builtin/vectorToCsv.py      |    9 +-
 .../operator/algorithm/builtin/winsorize.py        |   11 +-
 .../operator/algorithm/builtin/winsorizeApply.py   |    9 +-
 .../systemds/operator/algorithm/builtin/xdummy1.py |    7 +-
 .../systemds/operator/algorithm/builtin/xdummy2.py |    8 +-
 .../systemds/operator/algorithm/builtin/xgboost.py |   42 +-
 .../builtin/xgboostPredictClassification.py        |    9 +-
 .../algorithm/builtin/xgboostPredictRegression.py  |    9 +-
 src/test/scripts/functions/builtin/WoE_test.dml    |    2 +-
 426 files changed, 17362 insertions(+), 7283 deletions(-)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/{FederatedUDF.html => FederatedStatistics.FedStatsCollectFunction.html} (64%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/{FederatedLookupTable.html => FederatedStatistics.FedStatsCollection.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{paramserv/class-use/FederatedPSControlThread.html => federated/class-use/FederatedStatistics.FedStatsCollectFunction.html} (85%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/class-use/{FederatedLookupTable.html => FederatedStatistics.FedStatsCollection.html} (64%)
 delete mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/class-use/Request.html
 rename docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/{BaseController.html => IController.html} (80%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/{CoordinatorController.html => WorkerController.html} (76%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/class-use/{BaseController.html => IController.html} (78%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => controllers/class-use/WorkerController.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{FederatedMonitoringServer.html => models/BaseEntityModel.html} (66%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers/CoordinatorController.html => models/NodeEntityModel.html} (51%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{ => models}/Request.html (89%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{ => models}/Response.html (88%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/StatsEntityModel.html
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/class-use/BaseEntityModel.html
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => models/class-use/NodeEntityModel.html} (61%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/models/class-use/Request.html
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{ => models}/class-use/Response.html (64%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => models/class-use/StatsEntityModel.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => models}/package-summary.html (81%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => models}/package-tree.html (80%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => models}/package-use.html (58%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers/CoordinatorController.html => repositories/DerbyRepository.html} (50%)
 copy docs/api/java/org/apache/sysds/{common/Types.DataType.html => runtime/controlprogram/federated/monitoring/repositories/EntityEnum.html} (61%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/IRepository.html
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => repositories/class-use/Constants.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => repositories/class-use/DerbyRepository.html} (61%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/class-use/EntityEnum.html
 rename docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers/class-use/BaseController.html => repositories/class-use/IRepository.html} (76%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => repositories}/package-summary.html (81%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => repositories}/package-tree.html (70%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => repositories}/package-use.html (71%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{Request.html => services/CoordinatorService.html} (64%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{Response.html => services/MapperService.html} (68%)
 rename docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{Response.html => services/StatsService.html} (73%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{Request.html => services/WorkerService.html} (64%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => services/class-use/CoordinatorService.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => services/class-use/MapperService.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => services/class-use/StatsService.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => services/class-use/WorkerService.html} (61%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => services}/package-summary.html (84%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{controllers => services}/package-tree.html (82%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/{class-use/Response.html => services/package-use.html} (80%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/{LocalParamServer.html => HEParamServer.html} (65%)
 copy docs/api/java/org/apache/sysds/runtime/{instructions/cp/ScalarObjectFactory.html => controlprogram/paramserv/NativeHEHelper.html} (51%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/FederatedWorkerHandler.html => paramserv/NetworkTrafficCounter.html} (63%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/{LocalParamServer.html => HEParamServer.html} (63%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/{FederatedPSControlThread.html => NativeHEHelper.html} (88%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/class-use/{FederatedPSControlThread.html => NetworkTrafficCounter.html} (89%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/monitoring/FederatedMonitoringServer.html => paramserv/homomorphicEncryption/PublicKey.html} (87%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/monitoring/Request.html => paramserv/homomorphicEncryption/SEALClient.html} (67%)
 rename docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/monitoring/Request.html => paramserv/homomorphicEncryption/SEALServer.html} (65%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/class-use/PublicKey.html
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{parfor/stat/class-use/Timing.html => paramserv/homomorphicEncryption/class-use/SEALClient.html} (64%)
 rename docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/monitoring/class-use/Response.html => paramserv/homomorphicEncryption/class-use/SEALServer.html} (86%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/monitoring => paramserv/homomorphicEncryption}/package-summary.html (84%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{federated/monitoring => paramserv/homomorphicEncryption}/package-tree.html (76%)
 copy docs/api/java/org/apache/sysds/runtime/controlprogram/{parfor/stat => paramserv/homomorphicEncryption}/package-use.html (70%)
 copy docs/api/java/org/apache/sysds/runtime/{controlprogram/paramserv/SparkPSProxy.html => instructions/cp/CiphertextMatrix.html} (71%)
 copy docs/api/java/org/apache/sysds/runtime/{controlprogram/paramserv/SparkPSProxy.html => instructions/cp/Encrypted.html} (70%)
 copy docs/api/java/org/apache/sysds/runtime/{controlprogram/paramserv/SparkPSProxy.html => instructions/cp/PlaintextMatrix.html} (71%)
 create mode 100644 docs/api/java/org/apache/sysds/runtime/instructions/cp/class-use/CiphertextMatrix.html
 copy docs/api/java/org/apache/sysds/runtime/instructions/{fed/class-use/AppendFEDInstruction.html => cp/class-use/Encrypted.html} (72%)
 copy docs/api/java/org/apache/sysds/runtime/{controlprogram/paramserv/class-use/LocalParamServer.html => instructions/cp/class-use/PlaintextMatrix.html} (55%)
 copy docs/api/java/org/apache/sysds/runtime/{controlprogram/federated/FederatedUDF.html => instructions/fed/QuantilePickFEDInstruction.CreateMatrixFromFrame.html} (60%)
 copy docs/api/java/org/apache/sysds/runtime/{controlprogram/paramserv/class-use/FederatedPSControlThread.html => instructions/fed/class-use/QuantilePickFEDInstruction.CreateMatrixFromFrame.html} (84%)


[systemds] 03/05: [MINOR] fix WoE

Posted by ba...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit 4532e84922f788fb2796f61eb00786bdc0c78d15
Author: baunsgaard <ba...@tugraz.at>
AuthorDate: Fri Jun 10 16:19:40 2022 +0200

    [MINOR] fix WoE
---
 src/test/scripts/functions/builtin/WoE_test.dml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/test/scripts/functions/builtin/WoE_test.dml b/src/test/scripts/functions/builtin/WoE_test.dml
index 4c5211f5bb..d4cd687778 100644
--- a/src/test/scripts/functions/builtin/WoE_test.dml
+++ b/src/test/scripts/functions/builtin/WoE_test.dml
@@ -23,6 +23,6 @@ X = matrix("1 1 1 2 2 3 3 3 4 4 4 3 3 3 3", rows=15, cols =1)
 Y = matrix("1 3 1 3 1 1 1 2 2 2 1 1 1 3 2", rows=15, cols =1)
 E = matrix("0 0 0 0 0 1.379 1.379 1.379 0 0 0 1.379 1.379 1.379 1.379", rows=15, cols = 1)
 
-[F, Y, entropyMatrix] = WoE(X, Y, as.matrix(1))
+[F, entropyMatrix] = WoE(X, Y, as.matrix(1))
 res = (sum((E - F) < 0.001) == 15)
 print(res)
\ No newline at end of file


[systemds] 02/05: [DOCS] Update builtin scripts docs

Posted by ba...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit a0254e5d2c204a1f841226eb399620f2b1bd97e6
Author: baunsgaard <ba...@tugraz.at>
AuthorDate: Fri Jun 10 16:18:33 2022 +0200

    [DOCS] Update builtin scripts docs
---
 scripts/builtin/WoE.dml                    |   9 +--
 scripts/builtin/WoEApply.dml               |   8 +-
 scripts/builtin/abstain.dml                |  16 ++--
 scripts/builtin/confusionMatrix.dml        |   7 +-
 scripts/builtin/correctTypos.dml           |  12 +--
 scripts/builtin/correctTyposApply.dml      |  12 +--
 scripts/builtin/dbscanApply.dml            |   4 -
 scripts/builtin/denialConstraints.dml      |   4 +-
 scripts/builtin/fit_pipeline.dml           |   4 -
 scripts/builtin/fixInvalidLengthsApply.dml |   4 -
 scripts/builtin/glm.dml                    | 118 +++++++++++++++--------------
 scripts/builtin/glmPredict.dml             |  64 +++++++++-------
 scripts/builtin/hyperband.dml              |   6 +-
 scripts/builtin/img_brightness.dml         |   5 +-
 scripts/builtin/knn.dml                    |   4 +-
 scripts/builtin/matrixProfile.dml          |  14 ++--
 scripts/builtin/steplm.dml                 |  17 +++--
 17 files changed, 154 insertions(+), 154 deletions(-)

diff --git a/scripts/builtin/WoE.dml b/scripts/builtin/WoE.dml
index 003d9b48a6..7bc938eedd 100644
--- a/scripts/builtin/WoE.dml
+++ b/scripts/builtin/WoE.dml
@@ -30,13 +30,12 @@
 #
 # OUTPUT:
 # ------------------------------------------------
-# X              ---
-# Y              ---
-# entropyMatrix  ---
+# F              Weighted X matrix where the entropy mask is applied
+# entropyMatrix  A entropy matrix to apply to data
 # ------------------------------------------------
 
 m_WoE = function(Matrix[Double] X, Matrix[Double] Y, Matrix[Double] mask)
-return (Matrix[Double] X, Matrix[Double] Y, Matrix[Double] entropyMatrix) {
+return (Matrix[Double] F, Matrix[Double] entropyMatrix) {
   
   tempX = replace(target=X, pattern=NaN, replacement=1)
   entropyMatrix = matrix(0, rows=ncol(tempX), cols = max((tempX*mask)))
@@ -53,7 +52,7 @@ return (Matrix[Double] X, Matrix[Double] Y, Matrix[Double] entropyMatrix) {
     
     }
   }
-  X = WoEApply(X, Y, entropyMatrix)
+  F = WoEApply(X, Y, entropyMatrix)
 }
 
 
diff --git a/scripts/builtin/WoEApply.dml b/scripts/builtin/WoEApply.dml
index c27fae0d05..6f86a266d3 100644
--- a/scripts/builtin/WoEApply.dml
+++ b/scripts/builtin/WoEApply.dml
@@ -30,12 +30,12 @@
 #
 # OUTPUT:
 # ------------------------------------------------
-# X              ---
+# F              Weighted X matrix where the entropy mask is applied
 # ------------------------------------------------
 
 m_WoEApply = function(Matrix[Double] X, Matrix[Double] Y, Matrix[Double] entropyMatrix)
-return (Matrix[Double] X) {
-  
+return (Matrix[Double] F) {
+  F = matrix(1, nRow(X), nCol(X)) # allocate dense output matrix
   for(i in 1:ncol(X))
   {
     if(sum(abs(entropyMatrix[i])) > 0)
@@ -46,7 +46,7 @@ return (Matrix[Double] X) {
       resp = matrix(0, nrow(L), idx)
       resp = (resp + t(seq(1, idx))) == L
       resp = resp * entropy
-      X[, i] = rowSums(resp)
+      F[, i] = rowSums(resp)
     }  
   }
   
diff --git a/scripts/builtin/abstain.dml b/scripts/builtin/abstain.dml
index 6d9035101d..5a4c354327 100644
--- a/scripts/builtin/abstain.dml
+++ b/scripts/builtin/abstain.dml
@@ -24,16 +24,16 @@
 #
 # INPUT:
 # -------------------------------------------------------------------------------------
-# X            Location to read the matrix of feature vectors
-# Y            Location to read the matrix with category labels
-# threshold    ---
+# X            matrix of feature vectors
+# Y            matrix with category labels
+# threshold    threshold to clear otherwise return X and Y unmodified
 # verbose      flag specifying if logging information should be printed
 # -------------------------------------------------------------------------------------
 #
 # OUTPUT:
 # -------------------------------------------------------------------------------------
-# Xout     ---
-# Yout     ---
+# Xout     abstained output X
+# Yout     abstained output Y
 # -------------------------------------------------------------------------------------
 
 m_abstain = function(Matrix[Double] X, Matrix[Double] Y, Double threshold, Boolean verbose = FALSE)
@@ -41,16 +41,14 @@ return (Matrix[Double] Xout, Matrix[Double] Yout)
 {
   Xout = X
   Yout = Y
-  # for(i in 1:100) {
   if(min(Y) != max(Y))
   {
-    betas = multiLogReg(X=X, Y=Y, icpt=1, reg=1e-4, maxi=100, maxii=0, verbose=FALSE)
+    betas = multiLogReg(X=X, Y=Y, icpt=1, reg=1e-4, maxi=100, maxii=0, verbose=verbose)
     [prob, yhat, accuracy] = multiLogRegPredict(X, betas, Y, FALSE)
-    # abstain = cbind(X, Y)
+    
     inc = ((yhat != Y) & (rowMaxs(prob) > threshold))
     if(sum(inc) > 0)
     {
-      # print("inc vector "+toString(inc))
       Xout = removeEmpty(target = X, margin = "rows", select = (inc == 0) )
       Yout = removeEmpty(target = Y, margin = "rows", select = (inc == 0) )
     }
diff --git a/scripts/builtin/confusionMatrix.dml b/scripts/builtin/confusionMatrix.dml
index a56a936cc9..c15b82621c 100644
--- a/scripts/builtin/confusionMatrix.dml
+++ b/scripts/builtin/confusionMatrix.dml
@@ -24,17 +24,14 @@
 # After which, it calculates and returns the sum of classifications
 # and the average of each true class.
 #
+# .. code-block:: txt
+#
 #                   True Labels
 #                     1    2
 #                 1   TP | FP
 #   Predictions      ----+----
 #                 2   FN | TN
 #
-# TP = True Positives
-# FP = False Positives
-# FN = False Negatives
-# TN = True Negatives
-#
 # INPUT:
 # --------------------------------------------------------------------------------
 # P     vector of Predictions
diff --git a/scripts/builtin/correctTypos.dml b/scripts/builtin/correctTypos.dml
index 2fddfaec1b..01d837a7a2 100644
--- a/scripts/builtin/correctTypos.dml
+++ b/scripts/builtin/correctTypos.dml
@@ -24,11 +24,13 @@
 # and simply swaps strings that do not occur often with similar strings that 
 # occur more often
 #
-# References:
-# Fred J. Damerau. 1964. 
-#   A technique for computer detection and correction of spelling errors. 
-#   Commun. ACM 7, 3 (March 1964), 171–176. 
-#   DOI:https://doi.org/10.1145/363958.363994
+# .. code-block:: txt
+#
+#   References:
+#   Fred J. Damerau. 1964. 
+#     A technique for computer detection and correction of spelling errors. 
+#     Commun. ACM 7, 3 (March 1964), 171–176. 
+#     DOI:https://doi.org/10.1145/363958.363994
 #
 # INPUT:
 # ----------------------------------------------------------------------------------------
diff --git a/scripts/builtin/correctTyposApply.dml b/scripts/builtin/correctTyposApply.dml
index 050bb8132b..3ca4635bfa 100644
--- a/scripts/builtin/correctTyposApply.dml
+++ b/scripts/builtin/correctTyposApply.dml
@@ -24,11 +24,13 @@
 # and simply swaps strings that do not occur often with similar strings that 
 # occur more often
 #
-# References:
-# Fred J. Damerau. 1964. 
-#   A technique for computer detection and correction of spelling errors. 
-#   Commun. ACM 7, 3 (March 1964), 171–176. 
-#   DOI:https://doi.org/10.1145/363958.363994
+# .. code-block:: txt
+#
+#   References:
+#   Fred J. Damerau. 1964. 
+#     A technique for computer detection and correction of spelling errors. 
+#     Commun. ACM 7, 3 (March 1964), 171–176. 
+#     DOI:https://doi.org/10.1145/363958.363994
 #
 # TODO: future: add parameter for list of words that are sure to be correct
 #
diff --git a/scripts/builtin/dbscanApply.dml b/scripts/builtin/dbscanApply.dml
index 4a7eb7e6ed..e3ab9723cb 100644
--- a/scripts/builtin/dbscanApply.dml
+++ b/scripts/builtin/dbscanApply.dml
@@ -23,8 +23,6 @@
 #
 # INPUT:
 # ---------------------------------------------
-# NAME           MEANING
-# ---------------------------------------------
 # X              The input Matrix to do outlier detection on.
 # clusterModel   Model of clusters to predict outliers against.
 # eps            Maximum distance between two points for one to be considered reachable for the other.
@@ -32,8 +30,6 @@
 #
 # OUTPUT:
 # ----------------------------------------------
-# NAME            MEANING
-# ----------------------------------------------
 # outlierPoints   Predicted outliers
 # ----------------------------------------------
 
diff --git a/scripts/builtin/denialConstraints.dml b/scripts/builtin/denialConstraints.dml
index 23453979e1..d2dc3cfb40 100644
--- a/scripts/builtin/denialConstraints.dml
+++ b/scripts/builtin/denialConstraints.dml
@@ -21,6 +21,8 @@
 
 # This function considers some constraints indicating statements that can NOT happen in the data (denial constraints).
 #
+# .. code-block:: txt
+#
 #   EXAMPLE:
 #   dataFrame:
 #
@@ -48,7 +50,7 @@
 #   4     variableCompare   TRUE       discipline          B              yrs.service    >          yrs.since.phd
 #
 #
-#   Example: explanation of constraint 2 --> it can't happen that one professor of rank Prof has more years of service than other, but lower salary.
+# Example: explanation of constraint 2 --> it can't happen that one professor of rank Prof has more years of service than other, but lower salary.
 #
 # INPUT:
 # ----------------------------------------------------------------------------------------------------
diff --git a/scripts/builtin/fit_pipeline.dml b/scripts/builtin/fit_pipeline.dml
index 4b4665e59e..96023f7b49 100644
--- a/scripts/builtin/fit_pipeline.dml
+++ b/scripts/builtin/fit_pipeline.dml
@@ -25,8 +25,6 @@
 #
 # INPUT:
 # -------------------------------------------------------------------------------
-# NAME             MEANING
-# -------------------------------------------------------------------------------
 # trainData        ---
 # testData         ---
 # metaData         ---
@@ -41,8 +39,6 @@
 #
 # OUTPUT:
 # ------------------------------------------------------------------------------------------------
-# NAME      MEANING
-# ------------------------------------------------------------------------------------------------
 # scores    ---
 # ------------------------------------------------------------------------------------------------
 
diff --git a/scripts/builtin/fixInvalidLengthsApply.dml b/scripts/builtin/fixInvalidLengthsApply.dml
index a8c10dc052..e566bcbc68 100644
--- a/scripts/builtin/fixInvalidLengthsApply.dml
+++ b/scripts/builtin/fixInvalidLengthsApply.dml
@@ -23,8 +23,6 @@
 #
 # INPUT:
 # ------------------------
-# NAME   MEANING
-# ------------------------
 # X      ---
 # mask   ---
 # ql     ---
@@ -33,8 +31,6 @@
 #
 # OUTPUT:
 # ------------------------
-# NAME  MEANING
-# ------------------------
 # out   ---
 # M     ---
 # ------------------------
diff --git a/scripts/builtin/glm.dml b/scripts/builtin/glm.dml
index c07a98337a..44b0c8cb1e 100644
--- a/scripts/builtin/glm.dml
+++ b/scripts/builtin/glm.dml
@@ -25,67 +25,71 @@
 # In addition, some GLM statistics are provided as console output by setting verbose=TRUE, one comma-separated name-value
 # pair per each line, as follows:
 #
-# ----------------------------------------------------------------------------------------------------------------------
-# TERMINATION_CODE      A positive integer indicating success/failure as follows:
-#                       1 = Converged successfully; 2 = Maximum number of iterations reached; 
-#                       3 = Input (X, Y) out of range; 4 = Distribution/link is not supported
-# BETA_MIN              Smallest beta value (regression coefficient), excluding the intercept
-# BETA_MIN_INDEX        Column index for the smallest beta value
-# BETA_MAX              Largest beta value (regression coefficient), excluding the intercept
-# BETA_MAX_INDEX        Column index for the largest beta value
-# INTERCEPT             Intercept value, or NaN if there is no intercept (if icpt=0)
-# DISPERSION            Dispersion used to scale deviance, provided as "disp" input parameter
-#                       or estimated (same as DISPERSION_EST) if the "disp" parameter is <= 0
-# DISPERSION_EST        Dispersion estimated from the dataset
-# DEVIANCE_UNSCALED     Deviance from the saturated model, assuming dispersion == 1.0
-# DEVIANCE_SCALED       Deviance from the saturated model, scaled by the DISPERSION value
-# ----------------------------------------------------------------------------------------------------------------------
+# .. code-block:: txt
 #
-# The Log file, when requested, contains the following per-iteration variables in CSV format,
-# each line containing triple (NAME, ITERATION, VALUE) with ITERATION = 0 for initial values:
-#
-# ----------------------------------------------------------------------------------------------------------------------
-# NUM_CG_ITERS          Number of inner (Conj.Gradient) iterations in this outer iteration
-# IS_TRUST_REACHED      1 = trust region boundary was reached, 0 = otherwise
-# POINT_STEP_NORM       L2-norm of iteration step from old point (i.e. "beta") to new point
-# OBJECTIVE             The loss function we minimize (i.e. negative partial log-likelihood)
-# OBJ_DROP_REAL         Reduction in the objective during this iteration, actual value
-# OBJ_DROP_PRED         Reduction in the objective predicted by a quadratic approximation
-# OBJ_DROP_RATIO        Actual-to-predicted reduction ratio, used to update the trust region
-# GRADIENT_NORM         L2-norm of the loss function gradient (NOTE: sometimes omitted)
-# LINEAR_TERM_MIN       The minimum value of X %*% beta, used to check for overflows
-# LINEAR_TERM_MAX       The maximum value of X %*% beta, used to check for overflows
-# IS_POINT_UPDATED      1 = new point accepted; 0 = new point rejected, old point restored
-# TRUST_DELTA           Updated trust region size, the "delta"
-# ----------------------------------------------------------------------------------------------------------------------
+#   --------------------------------------------------------------------------------------------
+#   TERMINATION_CODE      A positive integer indicating success/failure as follows:
+#                         1 = Converged successfully; 2 = Maximum number of iterations reached; 
+#                         3 = Input (X, Y) out of range; 4 = Distribution/link is not supported
+#   BETA_MIN              Smallest beta value (regression coefficient), excluding the intercept
+#   BETA_MIN_INDEX        Column index for the smallest beta value
+#   BETA_MAX              Largest beta value (regression coefficient), excluding the intercept
+#   BETA_MAX_INDEX        Column index for the largest beta value
+#   INTERCEPT             Intercept value, or NaN if there is no intercept (if icpt=0)
+#   DISPERSION            Dispersion used to scale deviance, provided as "disp" input parameter
+#                         or estimated (same as DISPERSION_EST) if the "disp" parameter is <= 0
+#   DISPERSION_EST        Dispersion estimated from the dataset
+#   DEVIANCE_UNSCALED     Deviance from the saturated model, assuming dispersion == 1.0
+#   DEVIANCE_SCALED       Deviance from the saturated model, scaled by the DISPERSION value
+#   --------------------------------------------------------------------------------------------
+#   
+#   The Log file, when requested, contains the following per-iteration variables in CSV format,
+#   each line containing triple (NAME, ITERATION, VALUE) with ITERATION = 0 for initial values:
+#   
+#   --------------------------------------------------------------------------------------------
+#   NUM_CG_ITERS          Number of inner (Conj.Gradient) iterations in this outer iteration
+#   IS_TRUST_REACHED      1 = trust region boundary was reached, 0 = otherwise
+#   POINT_STEP_NORM       L2-norm of iteration step from old point (i.e. "beta") to new point
+#   OBJECTIVE             The loss function we minimize (i.e. negative partial log-likelihood)
+#   OBJ_DROP_REAL         Reduction in the objective during this iteration, actual value
+#   OBJ_DROP_PRED         Reduction in the objective predicted by a quadratic approximation
+#   OBJ_DROP_RATIO        Actual-to-predicted reduction ratio, used to update the trust region
+#   GRADIENT_NORM         L2-norm of the loss function gradient (NOTE: sometimes omitted)
+#   LINEAR_TERM_MIN       The minimum value of X %*% beta, used to check for overflows
+#   LINEAR_TERM_MAX       The maximum value of X %*% beta, used to check for overflows
+#   IS_POINT_UPDATED      1 = new point accepted; 0 = new point rejected, old point restored
+#   TRUST_DELTA           Updated trust region size, the "delta"
+#   --------------------------------------------------------------------------------------------
 #
 # SOME OF THE SUPPORTED GLM DISTRIBUTION FAMILIES
 # AND LINK FUNCTIONS:
 #
-# dfam vpow link lpow  Distribution.link   nical?
-# ----------------------------------------------------------------------------------------------------------------------
-#  1   0.0   1  -1.0   Gaussian.inverse
-#  1   0.0   1   0.0   Gaussian.log
-#  1   0.0   1   1.0   Gaussian.id          Yes
-#  1   1.0   1   0.0   Poisson.log          Yes
-#  1   1.0   1   0.5   Poisson.sqrt
-#  1   1.0   1   1.0   Poisson.id
-#  1   2.0   1  -1.0   Gamma.inverse        Yes
-#  1   2.0   1   0.0   Gamma.log
-#  1   2.0   1   1.0   Gamma.id
-#  1   3.0   1  -2.0   InvGaussian.1/mu^2   Yes
-#  1   3.0   1  -1.0   InvGaussian.inverse
-#  1   3.0   1   0.0   InvGaussian.log
-#  1   3.0   1   1.0   InvGaussian.id
-#  1    *    1    *    AnyVariance.AnyLink
-# ----------------------------------------------------------------------------------------------------------------------
-#  2    *    1   0.0   Binomial.log
-#  2    *    1   0.5   Binomial.sqrt
-#  2    *    2    *    Binomial.logit       Yes
-#  2    *    3    *    Binomial.probit
-#  2    *    4    *    Binomial.cloglog
-#  2    *    5    *    Binomial.cauchit
-# ----------------------------------------------------------------------------------------------------------------------
+# .. code-block:: txt
+#
+#   dfam vpow link lpow  Distribution.link   nical?
+#   ---------------------------------------------------
+#    1   0.0   1  -1.0   Gaussian.inverse
+#    1   0.0   1   0.0   Gaussian.log
+#    1   0.0   1   1.0   Gaussian.id          Yes
+#    1   1.0   1   0.0   Poisson.log          Yes
+#    1   1.0   1   0.5   Poisson.sqrt
+#    1   1.0   1   1.0   Poisson.id
+#    1   2.0   1  -1.0   Gamma.inverse        Yes
+#    1   2.0   1   0.0   Gamma.log
+#    1   2.0   1   1.0   Gamma.id
+#    1   3.0   1  -2.0   InvGaussian.1/mu^2   Yes
+#    1   3.0   1  -1.0   InvGaussian.inverse
+#    1   3.0   1   0.0   InvGaussian.log
+#    1   3.0   1   1.0   InvGaussian.id
+#    1    *    1    *    AnyVariance.AnyLink
+#   ---------------------------------------------------
+#    2    *    1   0.0   Binomial.log
+#    2    *    1   0.5   Binomial.sqrt
+#    2    *    2    *    Binomial.logit       Yes
+#    2    *    3    *    Binomial.probit
+#    2    *    4    *    Binomial.cloglog
+#    2    *    5    *    Binomial.cauchit
+#   ---------------------------------------------------
 #
 # INPUT:
 # --------------------------------------------------------------------------------------------
@@ -111,7 +115,7 @@
 # mii      Maximum number of inner (Conjugate Gradient) iterations, 0 = no maximum
 # verbose  if the Algorithm should be verbose
 # ------------------------------------------------------------------------------------------
-# 
+#
 # OUTPUT:
 # --------------------------------------------------------------------------------------------
 # beta  Matrix beta, whose size depends on icpt:
diff --git a/scripts/builtin/glmPredict.dml b/scripts/builtin/glmPredict.dml
index 3c0e09c6ba..cde4e17ea8 100644
--- a/scripts/builtin/glmPredict.dml
+++ b/scripts/builtin/glmPredict.dml
@@ -22,35 +22,41 @@
 # Applies the estimated parameters of a GLM type regression to a new dataset
 #
 # Additional statistics are printed one per each line, in the following 
-# CSV format: NAME,[COLUMN],[SCALED],VALUE
-# ---
-# NAME   is the string identifier for the statistic, see the table below.
-# COLUMN is an optional integer value that specifies the Y-column for per-column statistics;
-#        note that a Binomial/Multinomial one-column Y input is converted into multi-column.
-# SCALED is an optional Boolean value (TRUE or FALSE) that tells us whether or not the input
-#          dispersion parameter (disp) scaling has been applied to this statistic.
-# VALUE  is the value of the statistic.
-# ---
-# NAME                  COLUMN  SCALED  MEANING
-# ---------------------------------------------------------------------------------------------
-# LOGLHOOD_Z                      +     Log-Likelihood Z-score (in st.dev's from mean)
-# LOGLHOOD_Z_PVAL                 +     Log-Likelihood Z-score p-value
-# PEARSON_X2                      +     Pearson residual X^2 statistic
-# PEARSON_X2_BY_DF                +     Pearson X^2 divided by degrees of freedom
-# PEARSON_X2_PVAL                 +     Pearson X^2 p-value
-# DEVIANCE_G2                     +     Deviance from saturated model G^2 statistic
-# DEVIANCE_G2_BY_DF               +     Deviance G^2 divided by degrees of freedom
-# DEVIANCE_G2_PVAL                +     Deviance G^2 p-value
-# AVG_TOT_Y               +             Average of Y column for a single response value
-# STDEV_TOT_Y             +             St.Dev. of Y column for a single response value
-# AVG_RES_Y               +             Average of column residual, i.e. of Y - mean(Y|X)
-# STDEV_RES_Y             +             St.Dev. of column residual, i.e. of Y - mean(Y|X)
-# PRED_STDEV_RES          +       +     Model-predicted St.Dev. of column residual
-# R2                      +             R^2 of Y column residual with bias included
-# ADJUSTED_R2             +             Adjusted R^2 of Y column residual with bias included
-# R2_NOBIAS               +             R^2 of Y column residual with bias subtracted
-# ADJUSTED_R2_NOBIAS      +             Adjusted R^2 of Y column residual with bias subtracted
-# ---------------------------------------------------------------------------------------------
+#
+# .. code-block:: txt
+#
+#   CSV format: NAME,[COLUMN],[SCALED],VALUE
+#   ---
+#   NAME   is the string identifier for the statistic, see the table below.
+#   COLUMN is an optional integer value that specifies the Y-column for per-column statistics;
+#          note that a Binomial/Multinomial one-column Y input is converted into multi-column.
+#   SCALED is an optional Boolean value (TRUE or FALSE) that tells us whether or not the input
+#            dispersion parameter (disp) scaling has been applied to this statistic.
+#   VALUE  is the value of the statistic.
+#   ---
+#
+# .. code-block:: txt
+#
+#   NAME                  COLUMN  SCALED  MEANING
+#   ---------------------------------------------------------------------------------------------
+#   LOGLHOOD_Z                      +     Log-Likelihood Z-score (in st.dev's from mean)
+#   LOGLHOOD_Z_PVAL                 +     Log-Likelihood Z-score p-value
+#   PEARSON_X2                      +     Pearson residual X^2 statistic
+#   PEARSON_X2_BY_DF                +     Pearson X^2 divided by degrees of freedom
+#   PEARSON_X2_PVAL                 +     Pearson X^2 p-value
+#   DEVIANCE_G2                     +     Deviance from saturated model G^2 statistic
+#   DEVIANCE_G2_BY_DF               +     Deviance G^2 divided by degrees of freedom
+#   DEVIANCE_G2_PVAL                +     Deviance G^2 p-value
+#   AVG_TOT_Y               +             Average of Y column for a single response value
+#   STDEV_TOT_Y             +             St.Dev. of Y column for a single response value
+#   AVG_RES_Y               +             Average of column residual, i.e. of Y - mean(Y|X)
+#   STDEV_RES_Y             +             St.Dev. of column residual, i.e. of Y - mean(Y|X)
+#   PRED_STDEV_RES          +       +     Model-predicted St.Dev. of column residual
+#   R2                      +             R^2 of Y column residual with bias included
+#   ADJUSTED_R2             +             Adjusted R^2 of Y column residual with bias included
+#   R2_NOBIAS               +             R^2 of Y column residual with bias subtracted
+#   ADJUSTED_R2_NOBIAS      +             Adjusted R^2 of Y column residual with bias subtracted
+#   ---------------------------------------------------------------------------------------------
 #
 # INPUT:
 # -------------------------------------------------------------------
diff --git a/scripts/builtin/hyperband.dml b/scripts/builtin/hyperband.dml
index 3c2614e41c..4eede73070 100644
--- a/scripts/builtin/hyperband.dml
+++ b/scripts/builtin/hyperband.dml
@@ -23,9 +23,9 @@
 # elimination. Through multiple parallel brackets and consecutive trials it will return the hyper parameter combination
 # which performed best on a validation dataset. A set of hyper parameter combinations is drawn from uniform distributions
 # with given ranges; Those make up the candidates for hyperband. Notes:
-#    hyperband is hard-coded for lmCG, and uses lmPredict for validation
-#    hyperband is hard-coded to use the number of iterations as a resource
-#    hyperband can only optimize continuous hyperparameters
+# hyperband is hard-coded for lmCG, and uses lmPredict for validation
+# hyperband is hard-coded to use the number of iterations as a resource
+# hyperband can only optimize continuous hyperparameters
 #
 # INPUT:
 # ------------------------------------------------------------------------------------------
diff --git a/scripts/builtin/img_brightness.dml b/scripts/builtin/img_brightness.dml
index 965c0641cc..100ccb7588 100644
--- a/scripts/builtin/img_brightness.dml
+++ b/scripts/builtin/img_brightness.dml
@@ -22,7 +22,6 @@
 # The img_brightness-function is an image data augmentation function. It changes the brightness of the image.
 #
 # INPUT:
-
 # -----------------------------------------------------------------------------------------
 # img_in       Input matrix/image
 # value        The amount of brightness to be changed for the image
@@ -31,9 +30,7 @@
 #
 # OUTPUT:
 # ----------------------------------------------------------------------------------------------------------------------
-# NAME         TYPE                         MEANING
-# ----------------------------------------------------------------------------------------------------------------------
-# img_out      Matrix[Double]               Output matrix/image
+# img_out  Output matrix/image
 # ----------------------------------------------------------------------------------------------------------------------
 
 m_img_brightness = function(Matrix[Double] img_in, Double value, Integer channel_max) return (Matrix[Double] img_out) {
diff --git a/scripts/builtin/knn.dml b/scripts/builtin/knn.dml
index 6492e777e3..19d4cfffb0 100644
--- a/scripts/builtin/knn.dml
+++ b/scripts/builtin/knn.dml
@@ -47,8 +47,8 @@
 #
 # OUTPUT:
 # ---------------------------------------------------------------------------------------------
-# NNR_matrix            ---
-# CL_matrix             ---
+# NNR_matrix            Applied clusters to X
+# CL_matrix             Cluster matrix
 # m_feature_importance  Feature importance value
 # ---------------------------------------------------------------------------------------------
 
diff --git a/scripts/builtin/matrixProfile.dml b/scripts/builtin/matrixProfile.dml
index ad1f8d6cf6..a06a8ce57e 100644
--- a/scripts/builtin/matrixProfile.dml
+++ b/scripts/builtin/matrixProfile.dml
@@ -22,12 +22,14 @@
 # Builtin function that computes the MatrixProfile of a time series efficiently
 # using the SCRIMP++ algorithm.
 #
-# References:
-# Yan Zhu et al.. 2018.
-#   Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds.
-#   2018 IEEE International Conference on Data Mining (ICDM), 2018, pp. 837-846.
-#   DOI: 10.1109/ICDM.2018.00099.
-#   https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
+# .. code-block:: txt
+#
+#   References:
+#   Yan Zhu et al.. 2018.
+#     Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds.
+#     2018 IEEE International Conference on Data Mining (ICDM), 2018, pp. 837-846.
+#     DOI: 10.1109/ICDM.2018.00099.
+#     https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
 #
 # INPUT:
 # ----------------------------------------------------------------------------------
diff --git a/scripts/builtin/steplm.dml b/scripts/builtin/steplm.dml
index 6ed2fbb530..164fd54195 100644
--- a/scripts/builtin/steplm.dml
+++ b/scripts/builtin/steplm.dml
@@ -23,13 +23,16 @@
 # This method iteratively runs what-if scenarios and greedily selects the next best feature
 # until the Akaike information criterion (AIC) does not improve anymore. Each configuration trains a regression model
 # via lm, which in turn calls either the closed form lmDS or iterative lmGC.
-# 
-# return: Matrix of regression parameters (the betas) and its size depend on icpt input value:
-#         OUTPUT SIZE:   OUTPUT CONTENTS:                HOW TO PREDICT Y FROM X AND B:
-# icpt=0: ncol(X)   x 1  Betas for X only                Y ~ X %*% B[1:ncol(X), 1], or just X %*% B
-# icpt=1: ncol(X)+1 x 1  Betas for X and intercept       Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
-# icpt=2: ncol(X)+1 x 2  Col.1: betas for X & intercept  Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
-#                        Col.2: betas for shifted/rescaled X and intercept
+#
+# .. code-block:: txt 
+#
+#   return: Matrix of regression parameters (the betas) and its size depend on icpt input value:
+#           OUTPUT SIZE:   OUTPUT CONTENTS:                HOW TO PREDICT Y FROM X AND B:
+#   icpt=0: ncol(X)   x 1  Betas for X only                Y ~ X %*% B[1:ncol(X), 1], or just X %*% B
+#   icpt=1: ncol(X)+1 x 1  Betas for X and intercept       Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
+#   icpt=2: ncol(X)+1 x 2  Col.1: betas for X & intercept  Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
+#                          Col.2: betas for shifted/rescaled X and intercept
+#
 # In addition, in the last run of linear regression some statistics are provided in CSV format, one comma-separated
 # name-value pair per each line, as follows:
 #


[systemds] 05/05: [DOCS] update python docs

Posted by ba...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit ce0a30781fade0c1c1dd1e507c99fa2d9d749bcf
Author: baunsgaard <ba...@tugraz.at>
AuthorDate: Fri Jun 10 16:21:01 2022 +0200

    [DOCS] update python docs
---
 docs/api/python/api/operator/algorithms.html  | 3972 +++++++++++++++++++++----
 docs/api/python/api/operator/node/scalar.html |    4 +-
 docs/api/python/genindex.html                 |  181 +-
 docs/api/python/guide/federated.html          |   27 +
 docs/api/python/objects.inv                   |  Bin 1867 -> 2262 bytes
 docs/api/python/searchindex.js                |    2 +-
 6 files changed, 3622 insertions(+), 564 deletions(-)

diff --git a/docs/api/python/api/operator/algorithms.html b/docs/api/python/api/operator/algorithms.html
index 5368ab2a5e..0655bc44d3 100644
--- a/docs/api/python/api/operator/algorithms.html
+++ b/docs/api/python/api/operator/algorithms.html
@@ -216,18 +216,75 @@
 </pre></div>
 </div>
 <span class="target" id="module-systemds.operator.algorithm"></span><dl class="py function">
+<dt id="systemds.operator.algorithm.WoE">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">WoE</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:< [...]
+<dd><blockquote>
+<div><p>function Weight of evidence / information gain</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Y</strong> – <p>—</p>
+</p></li>
+<li><p><strong>mask</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Weighted X matrix where the entropy mask is applied</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>A entropy matrix to apply to data</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.WoEApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">WoEApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">entropyMatrix</span><spa [...]
+<dd><blockquote>
+<div><p>function Weight of evidence / information gain apply on new data</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Y</strong> – <p>—</p>
+</p></li>
+<li><p><strong>entropyMatrix</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Weighted X matrix where the entropy mask is applied</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
 <dt id="systemds.operator.algorithm.abstain">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">abstain</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">threshold</span><span cla [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This function calls the multiLogReg-function in which solves Multinomial
+Logistic Regression using Trust Region method</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>threshold</strong> – <p>—</p>
-</p></li>
+<li><p><strong>X</strong> – matrix of feature vectors</p></li>
+<li><p><strong>Y</strong> – matrix with category labels</p></li>
+<li><p><strong>threshold</strong> – threshold to clear otherwise return X and Y unmodified</p></li>
 <li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>abstained output X</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>abstained output Y</p>
 </dd>
 </dl>
 </dd></dl>
@@ -235,21 +292,39 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.als">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">als</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAG [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This script computes an approximate factorization of a low-rank matrix X into two matrices U and V
+using different implementations of the Alternating-Least-Squares (ALS) algorithm.
+Matrices U and V are computed by minimizing a loss function (with regularization).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Location to read the input matrix X to be factorized</p></li>
 <li><p><strong>rank</strong> – Rank of the factorization</p></li>
-<li><p><strong>reg</strong> – Regularization:</p></li>
-<li><p><strong>lambda</strong> – Regularization parameter, no regularization if 0.0</p></li>
+<li><p><strong>regType</strong> – Regularization:
+“L2” = L2 regularization;
+f (U, V) = 0.5 * sum (W * (U %*% V - X) ^ 2)
++ 0.5 * reg * (sum (U ^ 2) + sum (V ^ 2))
+“wL2” = weighted L2 regularization
+f (U, V) = 0.5 * sum (W * (U %*% V - X) ^ 2)
++ 0.5 * reg * (sum (U ^ 2 * row_nonzeros)
++ sum (V ^ 2 * col_nonzeros))</p></li>
+<li><p><strong>reg</strong> – Regularization parameter, no regularization if 0.0</p></li>
 <li><p><strong>maxi</strong> – Maximum number of iterations</p></li>
 <li><p><strong>check</strong> – Check for convergence after every iteration, i.e., updating U and V once</p></li>
-<li><p><strong>thr</strong> – Assuming check is set to TRUE, the algorithm stops and convergence is declared</p></li>
-<li><p><strong>if</strong> – in loss in any two consecutive iterations falls below this threshold;</p></li>
-<li><p><strong>if</strong> – FALSE thr is ignored</p></li>
+<li><p><strong>thr</strong> – Assuming check is set to TRUE, the algorithm stops and convergence is declared
+if the decrease in loss in any two consecutive iterations falls below this threshold;
+if check is FALSE thr is ignored</p></li>
+<li><p><strong>seed</strong> – The seed to random parts of the algorithm</p></li>
+<li><p><strong>verbose</strong> – If the algorithm should run verbosely</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing m x r matrix where r is the factorization rank &amp; m x r matrix where r is the factorization rank</p>
+<dd class="field-even"><p>An m x r matrix where r is the factorization rank</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>An m x r matrix where r is the factorization rank</p>
 </dd>
 </dl>
 </dd></dl>
@@ -257,21 +332,39 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.alsCG">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">alsCG</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>D [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This script computes an approximate factorization of a low-rank matrix X into two matrices U and V
+using the Alternating-Least-Squares (ALS) algorithm with conjugate gradient.
+Matrices U and V are computed by minimizing a loss function (with regularization).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Location to read the input matrix X to be factorized</p></li>
 <li><p><strong>rank</strong> – Rank of the factorization</p></li>
-<li><p><strong>reg</strong> – Regularization:</p></li>
-<li><p><strong>lambda</strong> – Regularization parameter, no regularization if 0.0</p></li>
+<li><p><strong>regType</strong> – Regularization:
+“L2” = L2 regularization;
+f (U, V) = 0.5 * sum (W * (U %*% V - X) ^ 2)
++ 0.5 * reg * (sum (U ^ 2) + sum (V ^ 2))
+“wL2” = weighted L2 regularization
+f (U, V) = 0.5 * sum (W * (U %*% V - X) ^ 2)
++ 0.5 * reg * (sum (U ^ 2 * row_nonzeros)
++ sum (V ^ 2 * col_nonzeros))</p></li>
+<li><p><strong>reg</strong> – Regularization parameter, no regularization if 0.0</p></li>
 <li><p><strong>maxi</strong> – Maximum number of iterations</p></li>
 <li><p><strong>check</strong> – Check for convergence after every iteration, i.e., updating U and V once</p></li>
-<li><p><strong>thr</strong> – Assuming check is set to TRUE, the algorithm stops and convergence is declared</p></li>
-<li><p><strong>if</strong> – in loss in any two consecutive iterations falls below this threshold;</p></li>
-<li><p><strong>if</strong> – FALSE thr is ignored</p></li>
+<li><p><strong>thr</strong> – Assuming check is set to TRUE, the algorithm stops and convergence is declared
+if the decrease in loss in any two consecutive iterations falls below this threshold;
+if check is FALSE thr is ignored</p></li>
+<li><p><strong>seed</strong> – The seed to random parts of the algorithm</p></li>
+<li><p><strong>verbose</strong> – If the algorithm should run verbosely</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>An m x r matrix where r is the factorization rank</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>An m x r matrix where r is the factorization rank</p>
 </dd>
 </dl>
 </dd></dl>
@@ -279,20 +372,55 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.alsDS">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">alsDS</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>D [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Alternating-Least-Squares (ALS) algorithm using a direct solve method for
+individual least squares problems (reg=”L2”). This script computes an 
+approximate factorization of a low-rank matrix V into two matrices L and R.
+Matrices L and R are computed by minimizing a loss function (with regularization).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Location to read the input matrix V to be factorized</p></li>
 <li><p><strong>rank</strong> – Rank of the factorization</p></li>
-<li><p><strong>lambda</strong> – Regularization parameter, no regularization if 0.0</p></li>
+<li><p><strong>reg</strong> – Regularization parameter, no regularization if 0.0</p></li>
 <li><p><strong>maxi</strong> – Maximum number of iterations</p></li>
 <li><p><strong>check</strong> – Check for convergence after every iteration, i.e., updating L and R once</p></li>
-<li><p><strong>thr</strong> – Assuming check is set to TRUE, the algorithm stops and convergence is declared</p></li>
-<li><p><strong>if</strong> – in loss in any two consecutive iterations falls below this threshold;</p></li>
-<li><p><strong>if</strong> – FALSE thr is ignored</p></li>
+<li><p><strong>thr</strong> – Assuming check is set to TRUE, the algorithm stops and convergence is declared
+if the decrease in loss in any two consecutive iterations falls below this threshold;
+if check is FALSE thr is ignored</p></li>
+<li><p><strong>seed</strong> – The seed to random parts of the algorithm</p></li>
+<li><p><strong>verbose</strong> – If the algorithm should run verbosely</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>An m x r matrix where r is the factorization rank</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>An m x r matrix where r is the factorization rank</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.alsPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">alsPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">userIDs</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">I</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">L</span><span cl [...]
+<dd><blockquote>
+<div><p>This script computes the rating/scores for a given list of userIDs 
+using 2 factor matrices L and R. We assume that all users have rates 
+at least once and all items have been rates at least once.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>userIDs</strong> – Column vector of user-ids (n x 1)</p></li>
+<li><p><strong>I</strong> – Indicator matrix user-id x user-id to exclude from scoring</p></li>
+<li><p><strong>L</strong> – The factor matrix L: user-id x feature-id</p></li>
+<li><p><strong>R</strong> – The factor matrix R: feature-id x item-id</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>The output user-id/item-id/score#</p>
 </dd>
 </dl>
 </dd></dl>
@@ -300,12 +428,66 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.alsTopkPredict">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">alsTopkPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">userIDs</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">I</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">L</span><spa [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This script computes the top-K rating/scores for a given list of userIDs 
+using 2 factor matrices L and R. We assume that all users have rates 
+at least once and all items have been rates at least once.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>userIDs</strong> – Column vector of user-ids (n x 1)</p></li>
+<li><p><strong>I</strong> – Indicator matrix user-id x user-id to exclude from scoring</p></li>
+<li><p><strong>L</strong> – The factor matrix L: user-id x feature-id</p></li>
+<li><p><strong>R</strong> – The factor matrix R: feature-id x item-id</p></li>
+<li><p><strong>K</strong> – The number of top-K items</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A matrix containing the top-K item-ids with highest predicted ratings for the specified users (rows)</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>A matrix containing the top-K predicted ratings for the specified users (rows)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.apply_pipeline">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">apply_pipeline</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">testData</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">pip</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">applyFunc</sp [...]
+<dd><blockquote>
+<div><p>This script will read the dirty and clean data, then it will apply the best pipeline on dirty data
+and then will classify both cleaned dataset and check if the cleaned dataset is performing same as original dataset
+in terms of classification accuracy</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>K</strong> – The number of top-K items</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>trainData</strong> – <p>—</p>
+</p></li>
+<li><p><strong>testData</strong> – <p>—</p>
+</p></li>
+<li><p><strong>metaData</strong> – <p>—</p>
+</p></li>
+<li><p><strong>lp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>pip</strong> – <p>—</p>
+</p></li>
+<li><p><strong>hp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>evaluationFunc</strong> – <p>—</p>
+</p></li>
+<li><p><strong>evalFunHp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>isLastLabel</strong> – <p>—</p>
+</p></li>
+<li><p><strong>correctTypos</strong> – <p>—</p>
+</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p><p>—</p>
+</p>
 </dd>
 </dl>
 </dd></dl>
@@ -313,9 +495,15 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.arima">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">arima</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>D [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin function that implements ARIMA</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – The input Matrix to apply Arima on.</p></li>
+<li><p><strong>max_func_invoc</strong> – <p>—</p>
+</p></li>
 <li><p><strong>p</strong> – non-seasonal AR order</p></li>
 <li><p><strong>d</strong> – non-seasonal differencing order</p></li>
 <li><p><strong>q</strong> – non-seasonal MA order</p></li>
@@ -328,7 +516,125 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>The calculated coefficients</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.autoencoder_2layer">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">autoencoder_2layer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">num_hidden1</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">num_hidden2</span><span class="p">:</s [...]
+<dd><blockquote>
+<div><p>Trains a 2-layer autoencoder with minibatch SGD and step-size decay.
+If invoked with H1 &gt; H2 then it becomes a ‘bowtie’ structured autoencoder
+Weights are initialized using Glorot &amp; Bengio (2010) AISTATS initialization.
+The script standardizes the input before training (can be turned off).
+Also, it randomly reshuffles rows before training.
+Currently, tanh is set to be the activation function. 
+By re-implementing ‘func’ DML-bodied function, one can change the activation.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Filename where the input is stored</p></li>
+<li><p><strong>num_hidden1</strong> – Number of neurons in the 1st hidden layer</p></li>
+<li><p><strong>num_hidden2</strong> – Number of neurons in the 2nd hidden layer</p></li>
+<li><p><strong>max_epochs</strong> – Number of epochs to train for</p></li>
+<li><p><strong>full_obj</strong> – If TRUE, Computes objective function value (squared-loss)
+at the end of each epoch. Note that, computing the full
+objective can take a lot of time.</p></li>
+<li><p><strong>batch_size</strong> – Mini-batch size (training parameter)</p></li>
+<li><p><strong>step</strong> – Initial step size (training parameter)</p></li>
+<li><p><strong>decay</strong> – Decays step size after each epoch (training parameter)</p></li>
+<li><p><strong>mu</strong> – Momentum parameter (training parameter)</p></li>
+<li><p><strong>W1_rand</strong> – Weights might be initialized via input matrices</p></li>
+<li><p><strong>W2_rand</strong> – <p>—</p>
+</p></li>
+<li><p><strong>W3_rand</strong> – <p>—</p>
+</p></li>
+<li><p><strong>W4_rand</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix storing weights between input layer and 1st hidden layer</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix storing bias between input layer and 1st hidden layer</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix storing weights between 1st hidden layer and 2nd hidden layer</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix storing bias between 1st hidden layer and 2nd hidden layer</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix storing weights between 2nd hidden layer and 3rd hidden layer</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix storing bias between 2nd hidden layer and 3rd hidden layer</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix storing weights between 3rd hidden layer and output layer</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix storing bias between 3rd hidden layer and output layer</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix storing the hidden (2nd) layer representation if needed</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.bandit">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">bandit</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">X_test</span>< [...]
+<dd><blockquote>
+<div><p>In The bandit function the objective is to find an arm that optimizes
+a known functional of the unknown arm-reward distributions.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X_train</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Y_train</strong> – <p>—</p>
+</p></li>
+<li><p><strong>X_test</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Y_test</strong> – <p>—</p>
+</p></li>
+<li><p><strong>metaList</strong> – <p>—</p>
+</p></li>
+<li><p><strong>evaluationFunc</strong> – <p>—</p>
+</p></li>
+<li><p><strong>evalFunHp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>lp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>primitives</strong> – <p>—</p>
+</p></li>
+<li><p><strong>params</strong> – <p>—</p>
+</p></li>
+<li><p><strong>K</strong> – <p>—</p>
+</p></li>
+<li><p><strong>R</strong> – <p>—</p>
+</p></li>
+<li><p><strong>baseLineScore</strong> – <p>—</p>
+</p></li>
+<li><p><strong>cv</strong> – <p>—</p>
+</p></li>
+<li><p><strong>cvk</strong> – <p>—</p>
+</p></li>
+<li><p><strong>verbose</strong> – <p>—</p>
+</p></li>
+<li><p><strong>output</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
 </dd>
 </dl>
 </dd></dl>
@@ -336,12 +642,33 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.bivar">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">bivar</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">S1</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">S2</span><span class="p">: [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>For a given pair of attribute sets, compute bivariate statistics between all attribute pairs.
+Given, index1 = {A_11, A_12, … A_1m} and index2 = {A_21, A_22, … A_2n}
+compute bivariate stats for m*n pairs (A_1i, A_2j), (1&lt;= i &lt;=m) and (1&lt;= j &lt;=n).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>verbose</strong> – Print bivar stats</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input matrix</p></li>
+<li><p><strong>S1</strong> – First attribute set {A_11, A_12, … A_1m}</p></li>
+<li><p><strong>S2</strong> – Second attribute set {A_21, A_22, … A_2n}</p></li>
+<li><p><strong>T1</strong> – Kind for attributes in S1
+(kind=1 for scale, kind=2 for nominal, kind=3 for ordinal)</p></li>
+<li><p><strong>verbose</strong> – Print bivar stats</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>basestats_scale_scale as output with bivar stats</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>basestats_nominal_scale as output with bivar stats</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing as output with bivar stats &amp; as output with bivar stats &amp; as output with bivar stats &amp; as output with bivar stats</p>
+<dd class="field-even"><p>basestats_nominal_nominal as output with bivar stats</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>basestats_ordinal_ordinal as output with bivar stats</p>
 </dd>
 </dl>
 </dd></dl>
@@ -349,12 +676,20 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.components">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">components</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">G</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</s [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Computes the connected components of a graph and returns a
+vector indicating the assignment of vertices to components,
+where each component is identified by the maximum vertex ID
+(i.e., row/column position of the input graph)</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
 <li><p><strong>X</strong> – Location to read the matrix of feature vectors</p></li>
 <li><p><strong>Y</strong> – Location to read the matrix with category labels</p></li>
-<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling X columns: 0 = no intercept,</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling X columns: 0 = no intercept,
+no shifting, no rescaling; 1 = add intercept, but neither shift nor rescale X;
+2 = add intercept, shift &amp; rescale X columns to mean = 0, variance = 1</p></li>
 <li><p><strong>tol</strong> – tolerance (“epsilon”)</p></li>
 <li><p><strong>reg</strong> – regularization parameter (lambda = 1/C); intercept is not regularized</p></li>
 <li><p><strong>maxi</strong> – max. number of outer (Newton) iterations</p></li>
@@ -363,7 +698,7 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>regression betas as output for prediction</p>
 </dd>
 </dl>
 </dd></dl>
@@ -371,12 +706,116 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.confusionMatrix">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">confusionMatrix</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">P</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" hre [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Accepts a vector for prediction and a one-hot-encoded matrix
+Then it computes the max value of each vector and compare them
+After which, it calculates and returns the sum of classifications
+and the average of each true class.</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>                True Labels
+                  1    2
+              1   TP | FP
+Predictions      ----+----
+              2   FN | TN
+</pre></div>
+</div>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>P</strong> – vector of Predictions</p></li>
+<li><p><strong>Y</strong> – vector of Golden standard One Hot Encoded; the one hot
+encoded vector of actual labels</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The Confusion Matrix Sums of classifications</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>The Confusion Matrix averages of each true class</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.cor">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">cor</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.cor" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>This Function compute correlation matrix</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>X</strong> – A Matrix Input to compute the correlation on</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Correlation matrix of the input matrix</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.correctTypos">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">correctTypos</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">strings</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p [...]
+<dd><blockquote>
+<div><p>Corrects corrupted frames of strings
+This algorithm operates on the assumption that most strings are correct
+and simply swaps strings that do not occur often with similar strings that 
+occur more often</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>References:
+Fred J. Damerau. 1964. 
+  A technique for computer detection and correction of spelling errors. 
+  Commun. ACM 7, 3 (March 1964), 171–176. 
+  DOI:https://doi.org/10.1145/363958.363994
+</pre></div>
+</div>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>encoded</strong> – actual labels</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>strings</strong> – The nx1 input frame of corrupted strings</p></li>
+<li><p><strong>frequency_threshold</strong> – Strings that occur above this frequency level will not be corrected</p></li>
+<li><p><strong>distance_threshold</strong> – Max distance at which strings are considered similar</p></li>
+<li><p><strong>is_verbose</strong> – Print debug information</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Corrected nx1 output frame</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.correctTyposApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">correctTyposApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">strings</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">distance_matrix</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class=" [...]
+<dd><blockquote>
+<div><p>Corrects corrupted frames of strings
+This algorithm operates on the assumption that most strings are correct
+and simply swaps strings that do not occur often with similar strings that 
+occur more often</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>References:
+Fred J. Damerau. 1964. 
+  A technique for computer detection and correction of spelling errors. 
+  Commun. ACM 7, 3 (March 1964), 171–176. 
+  DOI:https://doi.org/10.1145/363958.363994
+</pre></div>
+</div>
+<p>TODO: future: add parameter for list of words that are sure to be correct</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>strings</strong> – The nx1 input frame of corrupted strings</p></li>
+<li><p><strong>nullMask</strong> – <p>—</p>
+</p></li>
+<li><p><strong>frequency_threshold</strong> – Strings that occur above this frequency level will not be corrected</p></li>
+<li><p><strong>distance_threshold</strong> – Max distance at which strings are considered similar</p></li>
+<li><p><strong>matrix</strong> (<em>distance</em>) – <p>—</p>
+</p></li>
+<li><p><strong>dict</strong> – <p>—</p>
+</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Corrected nx1 output frame</p>
 </dd>
 </dl>
 </dd></dl>
@@ -384,19 +823,32 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.cox">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">cox</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">TE</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">F</span><span class="p">:</s [...]
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>X</strong> – Location to read the input matrix X containing the survival data</p></li>
-<li><p><strong>containing</strong> – information</p></li>
-<li><p><strong>TE</strong> – Column indices of X as a column vector which contain timestamp</p></li>
-<li><p><strong>F</strong> – Column indices of X as a column vector which are to be used for</p></li>
-<li><p><strong>fitting</strong> – model</p></li>
-<li><p><strong>R</strong> – If factors (categorical variables) are available in the input matrix</p></li>
-<li><p><strong>the</strong> – X</p></li>
-<li><p><strong>each</strong> – needs to be removed from X; in this case the start</p></li>
-<li><p><strong>and</strong> – corresponding to the baseline level need to be the same;</p></li>
-<li><p><strong>if</strong> – not provided by default all variables are considered to be continuous</p></li>
+<dd><blockquote>
+<div><p>This script fits a cox Proportional hazard regression model.
+The Breslow method is used for handling ties and the regression parameters 
+are computed using trust region newton method with conjugate gradient</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Location to read the input matrix X containing the survival data
+containing the following information
+1: timestamps
+2: whether an event occurred (1) or data is censored (0)
+3: feature vectors</p></li>
+<li><p><strong>TE</strong> – Column indices of X as a column vector which contain timestamp
+(first row) and event information (second row)</p></li>
+<li><p><strong>F</strong> – Column indices of X as a column vector which are to be used for
+fitting the Cox model</p></li>
+<li><p><strong>R</strong> – If factors (categorical variables) are available in the input matrix
+X, location to read matrix R containing the start and end indices of
+the factors in X
+R[,1]: start indices
+R[,2]: end indices
+Alternatively, user can specify the indices of the baseline level of
+each factor which needs to be removed from X; in this case the start
+and end indices corresponding to the baseline level need to be the same;
+if R is not provided by default all variables are considered to be continuous</p></li>
 <li><p><strong>alpha</strong> – Parameter to compute a 100*(1-alpha)% confidence interval for the betas</p></li>
 <li><p><strong>tol</strong> – Tolerance (“epsilon”)</p></li>
 <li><p><strong>moi</strong> – Max. number of outer (Newton) iterations</p></li>
@@ -404,7 +856,35 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing matrix rt that contains the order-preserving recoded timestamps from x &amp; which is matrix x with sorted timestamps &amp; matrix mf that contains the column indices of x with the baseline factors removed (if available)</p>
+<dd class="field-even"><p>A D x 7 matrix M, where D denotes the number of covariates, with the following schema:
+M[,1]: betas
+M[,2]: exp(betas)
+M[,3]: standard error of betas
+M[,4]: Z
+M[,5]: P-value
+M[,6]: lower 100*(1-alpha)% confidence interval of betas
+M[,7]: upper 100*(1-alpha)% confidence interval of betas</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Two matrices containing a summary of some statistics of the fitted model:
+1 - File S with the following format
+- row 1: no. of observations
+- row 2: no. of events
+- row 3: log-likelihood
+- row 4: AIC
+- row 5: Rsquare (Cox &amp; Snell)
+- row 6: max possible Rsquare
+2 - File T with the following format
+- row 1: Likelihood ratio test statistic, degree of freedom, P-value
+- row 2: Wald test statistic, degree of freedom, P-value
+- row 3: Score (log-rank) test statistic, degree of freedom, P-value</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Additionally, the following matrices are stored (needed for prediction)
+1- A column matrix RT that contains the order-preserving recoded timestamps from X
+2- Matrix XO which is matrix X with sorted timestamps
+3- Variance-covariance matrix of the betas COV
+4- A column matrix MF that contains the column indices of X with the baseline factors removed (if available)</p>
 </dd>
 </dl>
 </dd></dl>
@@ -412,19 +892,29 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.cspline">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">cspline</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">inp_x</span><span class=" [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Solves Cubic Spline Interpolation</p>
+<p>Algorithms: implement <a class="reference external" href="https://en.wikipedia.org/wiki/Spline_interpolation#Algorithm_to_find_the_interpolating_cubic_spline">https://en.wikipedia.org/wiki/Spline_interpolation#Algorithm_to_find_the_interpolating_cubic_spline</a>
+It use natural spline with q1’’(x0) == qn’’(xn) == 0.0</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>monotonically</strong> – there is no duplicates points in X</p></li>
+<li><p><strong>X</strong> – 1-column matrix of x values knots. It is assumed that x values are
+monotonically increasing and there is no duplicates points in X</p></li>
+<li><p><strong>Y</strong> – 1-column matrix of corresponding y values knots</p></li>
 <li><p><strong>inp_x</strong> – the given input x, for which the cspline will find predicted y</p></li>
 <li><p><strong>mode</strong> – Specifies the method for cspline (DS - Direct Solve, CG - Conjugate Gradient)</p></li>
-<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate graduent procedure terminates early if</p></li>
-<li><p><strong>L2</strong> – the beta-residual is less than tolerance * its initial norm</p></li>
+<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate graduent procedure terminates early if
+L2 norm of the beta-residual is less than tolerance * its initial norm</p></li>
 <li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations, 0 = no maximum</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Predicted value</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix of k parameters</p>
 </dd>
 </dl>
 </dd></dl>
@@ -432,18 +922,26 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.csplineCG">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">csplineCG</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">inp_x</span><span class [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin that solves cubic spline interpolation using conjugate gradient algorithm</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>monotonically</strong> – there is no duplicates points in X</p></li>
+<li><p><strong>X</strong> – 1-column matrix of x values knots. It is assumed that x values are
+monotonically increasing and there is no duplicates points in X</p></li>
+<li><p><strong>Y</strong> – 1-column matrix of corresponding y values knots</p></li>
 <li><p><strong>inp_x</strong> – the given input x, for which the cspline will find predicted y.</p></li>
-<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate graduent procedure terminates early if</p></li>
-<li><p><strong>L2</strong> – the beta-residual is less than tolerance * its initial norm</p></li>
+<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate graduent procedure terminates early if
+L2 norm of the beta-residual is less than tolerance * its initial norm</p></li>
 <li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations, 0 = no maximum</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Predicted value</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix of k parameters</p>
 </dd>
 </dl>
 </dd></dl>
@@ -451,15 +949,23 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.csplineDS">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">csplineDS</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">inp_x</span><span class [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin that solves cubic spline interpolation using a direct solver.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>monotonically</strong> – there is no duplicates points in X</p></li>
+<li><p><strong>X</strong> – 1-column matrix of x values knots. It is assumed that x values are
+monotonically increasing and there is no duplicates points in X</p></li>
+<li><p><strong>Y</strong> – 1-column matrix of corresponding y values knots</p></li>
 <li><p><strong>inp_x</strong> – the given input x, for which the cspline will find predicted y.</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Predicted value</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix of k parameters</p>
 </dd>
 </dl>
 </dd></dl>
@@ -467,16 +973,27 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.cvlm">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">cvlm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">k</span><span class="p">:</s [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The cvlm-function is used for cross-validation of the provided data model. This function follows a non-exhaustive cross
+validation method. It uses lm and lmPredict functions to solve the linear regression and to predict the class of a
+feature vector with no intercept, shifting, and rescaling.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Recorded Data set into matrix</p></li>
+<li><p><strong>y</strong> – 1-column matrix of response values.</p></li>
 <li><p><strong>k</strong> – Number of subsets needed, It should always be more than 1 and less than nrow(X)</p></li>
 <li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
-<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero for</p></li>
+<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero for
+highly dependant/sparse/numerous features</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Response values</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Validated data set</p>
 </dd>
 </dl>
 </dd></dl>
@@ -484,15 +1001,20 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.dbscan">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">dbscan</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span> [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Implements the DBSCAN clustering algorithm using Euclidian distance matrix</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – The input Matrix to do DBSCAN on.</p></li>
 <li><p><strong>eps</strong> – Maximum distance between two points for one to be considered reachable for the other.</p></li>
-<li><p><strong>minPts</strong> – Number of points in a neighborhood for a point to be considered as a core point</p></li>
+<li><p><strong>minPts</strong> – Number of points in a neighborhood for a point to be considered as a core point
+(includes the point itself).</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>clustering Matrix</p>
 </dd>
 </dl>
 </dd></dl>
@@ -500,31 +1022,61 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.dbscanApply">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">dbscanApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">clusterModel</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">eps</span> [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Implements the outlier detection/prediction algorithm using a DBScan model</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>eps</strong> – Maximum distance between two points for one to be considered reachable for the other.</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – The input Matrix to do outlier detection on.</p></li>
+<li><p><strong>clusterModel</strong> – Model of clusters to predict outliers against.</p></li>
+<li><p><strong>eps</strong> – Maximum distance between two points for one to be considered reachable for the other.</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Predicted outliers</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
 <dt id="systemds.operator.algorithm.decisionTree">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">decisionTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">R</span><span class= [...]
-<dd><dl class="field-list simple">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">decisionTree</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">R</span><span class= [...]
+<dd><blockquote>
+<div><p>Builtin script implementing classification trees with scale and categorical features</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>a</strong> – vector, other positive Integers indicate the number of categories</p></li>
-<li><p><strong>If</strong> – not provided by default all variables are assumed to be scale</p></li>
+<li><p><strong>X</strong> – Feature matrix X; note that X needs to be both recoded and dummy coded</p></li>
+<li><p><strong>Y</strong> – Label matrix Y; note that Y needs to be both recoded and dummy coded</p></li>
+<li><p><strong>R</strong> – Matrix R which for each feature in X contains the following information
+- R[1,]: Row Vector which indicates if feature vector is scalar or categorical. 1 indicates
+a scalar feature vector, other positive Integers indicate the number of categories
+If R is not provided by default all variables are assumed to be scale</p></li>
 <li><p><strong>bins</strong> – Number of equiheight bins per scale feature to choose thresholds</p></li>
 <li><p><strong>depth</strong> – Maximum depth of the learned tree</p></li>
 <li><p><strong>verbose</strong> – boolean specifying if the algorithm should print information while executing</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing information: &amp; if the feature is categorical) &amp; looks at if j is an internal node, otherwise 0 &amp; as r input vector &amp; of the subset of values &amp; 6,7,… if j is categorical &amp; a leaf node: number of misclassified samples reaching at node j &amp; at m[6,j] if the feature chosen for j is scale, &amp; feature chosen for j is categorical rows 6,7,… depict the value subset chosen for j &amp; a leaf node 1 if j is impure a [...]
+<dd class="field-even"><p>Matrix M where each column corresponds to a node in the learned tree and each row
+contains the following information:
+M[1,j]: id of node j (in a complete binary tree)
+M[2,j]: Offset (no. of columns) to left child of j if j is an internal node, otherwise 0
+M[3,j]: Feature index of the feature (scale feature id if the feature is scale or
+categorical feature id if the feature is categorical)
+that node j looks at if j is an internal node, otherwise 0
+M[4,j]: Type of the feature that node j looks at if j is an internal node: holds
+the same information as R input vector
+M[5,j]: If j is an internal node: 1 if the feature chosen for j is scale,
+otherwise the size of the subset of values
+stored in rows 6,7,… if j is categorical
+If j is a leaf node: number of misclassified samples reaching at node j
+M[6:,j]: If j is an internal node: Threshold the example’s feature value is compared
+to is stored at M[6,j] if the feature chosen for j is scale,
+otherwise if the feature chosen for j is categorical rows 6,7,… depict the value subset chosen for j
+If j is a leaf node 1 if j is impure and the number of samples at j &gt; threshold, otherwise 0</p>
 </dd>
 </dl>
 </dd></dl>
@@ -532,24 +1084,37 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.decisionTreePredict">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">decisionTreePredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">M</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">strategy</spa [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin script implementing prediction based on classification trees with scale features using prediction methods of the
+Hummingbird paper (<a class="reference external" href="https://www.usenix.org/system/files/osdi20-nakandala.pdf">https://www.usenix.org/system/files/osdi20-nakandala.pdf</a>).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>to</strong> – in the learned tree and each row contains the following information:</p></li>
-<li><p><strong>categorical</strong> – if the feature is categorical)</p></li>
-<li><p><strong>that</strong> – looks at if j is an internal node, otherwise 0</p></li>
-<li><p><strong>the</strong> – as R input vector</p></li>
-<li><p><strong>otherwise</strong> – of the subset of values</p></li>
-<li><p><strong>stored</strong> – 6,7,… if j is categorical</p></li>
-<li><p><strong>If</strong> – a leaf node: number of misclassified samples reaching at node j</p></li>
-<li><p><strong>to</strong> – at M[6,j] if the feature chosen for j is scale,</p></li>
-<li><p><strong>otherwise</strong> – feature chosen for j is categorical rows 6,7,… depict the value subset chosen for j</p></li>
-<li><p><strong>If</strong> – a leaf node 1 if j is impure and the number of samples at j &gt; threshold, otherwise 0</p></li>
-<li><p><strong>strategy</strong> – strategy, can be one of [“GEMM”, “TT”, “PTT”], referring to “Generic matrix multiplication”,</p></li>
+<li><p><strong>M</strong> – Decision tree matrix M, as generated by scripts/builtin/decisionTree.dml, where each column corresponds
+to a node in the learned tree and each row contains the following information:
+M[1,j]: id of node j (in a complete binary tree)
+M[2,j]: Offset (no. of columns) to left child of j if j is an internal node, otherwise 0
+M[3,j]: Feature index of the feature (scale feature id if the feature is scale or
+categorical feature id if the feature is categorical)
+that node j looks at if j is an internal node, otherwise 0
+M[4,j]: Type of the feature that node j looks at if j is an internal node: holds
+the same information as R input vector
+M[5,j]: If j is an internal node: 1 if the feature chosen for j is scale,
+otherwise the size of the subset of values
+stored in rows 6,7,… if j is categorical
+If j is a leaf node: number of misclassified samples reaching at node j
+M[6:,j]: If j is an internal node: Threshold the example’s feature value is compared
+to is stored at M[6,j] if the feature chosen for j is scale,
+otherwise if the feature chosen for j is categorical rows 6,7,… depict the value subset chosen for j
+If j is a leaf node 1 if j is impure and the number of samples at j &gt; threshold, otherwise 0</p></li>
+<li><p><strong>X</strong> – Feature matrix X</p></li>
+<li><p><strong>strategy</strong> – Prediction strategy, can be one of [“GEMM”, “TT”, “PTT”], referring to “Generic matrix multiplication”,
+“Tree traversal”, and “Perfect tree traversal”, respectively</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix containing the predicted labels for X</p>
 </dd>
 </dl>
 </dd></dl>
@@ -557,9 +1122,13 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.deepWalk">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">deepWalk</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">Graph</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">w</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">d</span><span class="p">:</span> <span class="n">int</ [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This script performs DeepWalk on a given graph (<a class="reference external" href="https://arxiv.org/pdf/1403.6652.pdf">https://arxiv.org/pdf/1403.6652.pdf</a>)</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>Graph</strong> – adjacency matrix of a graph (n x n)</p></li>
 <li><p><strong>w</strong> – window size</p></li>
 <li><p><strong>d</strong> – embedding size</p></li>
 <li><p><strong>gamma</strong> – walks per vertex</p></li>
@@ -569,149 +1138,733 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>matrix of vertex/word representation (n x d)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.discoverFD">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">discoverFD</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">threshold</span><sp [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.denialConstraints">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">denialConstraints</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dataFrame</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">constraintsFrame</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em><span class="sig-paren">)</span><a c [...]
+<dd><blockquote>
+<div><p>This function considers some constraints indicating statements that can NOT happen in the data (denial constraints).</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>EXAMPLE:
+dataFrame:
+
+     rank       discipline   yrs.since.phd   yrs.service   sex      salary
+1    Prof       B            19              18            Male     139750
+2    Prof       B            20              16            Male     173200
+3    AsstProf   B            3               3             Male     79750.56
+4    Prof       B            45              39            Male     115000
+5    Prof       B            40              40            Male     141500
+6    AssocProf  B            6               6             Male     97000
+7    Prof       B            30              23            Male     175000
+8    Prof       B            45              45            Male     147765
+9    Prof       B            21              20            Male     119250
+10   Prof       B            18              18            Female   129000
+11   AssocProf  B            12              8             Male     119800
+12   AsstProf   B            7               2             Male     79800
+13   AsstProf   B            1               1             Male     77700
+
+constraintsFrame:
+
+idx   constraint.type   group.by   group.variable      group.option   variable1      relation   variable2
+1     variableCompare   FALSE                                         yrs.since.phd  &lt;          yrs.service
+2     instanceCompare   TRUE       rank                Prof           yrs.service    &gt;&lt;         salary
+3     valueCompare      FALSE                                         salary         =          78182
+4     variableCompare   TRUE       discipline          B              yrs.service    &gt;          yrs.since.phd
+</pre></div>
+</div>
+<p>Example: explanation of constraint 2 –&gt; it can’t happen that one professor of rank Prof has more years of service than other, but lower salary.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>will</strong> – second column from processing</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dataFrame</strong> – frame which columns represent the variables of the data and the rows correspond
+to different tuples or instances.
+Recommended to have a column indexing the instances from 1 to N (N=number of instances).</p></li>
+<li><p><strong>constraintsFrame</strong> – frame with fixed columns and each row representing one constraint.
+1. idx: (double) index of the constraint, from 1 to M (number of constraints)
+2. constraint.type: (string) The constraints can be of 3 different kinds:
+- variableCompare: for each instance, it will compare the values of two variables (with a relation &lt;, &gt; or =).
+- valueCompare: for each instance, it will compare a fixed value and a variable value (with a relation &lt;, &gt; or =).
+- instanceCompare: for every couple of instances, it will compare the relation between two variables,
+ie  if the value of the variable 1 in instance 1 is lower/higher than the value of variable 1 in instance 2,
+then the value of of variable 2 in instance 2 can’t be lower/higher than the value of variable 2 in instance 2.
+3. group.by: (boolean) if TRUE only one group of data (defined by a variable option) will be considered for the constraint.
+4. group.variable: (string, only if group.by TRUE) name of the variable (column in dataFrame) that will divide our data in groups.
+5. group.option: (only if group.by TRUE) option of the group.variable that defines the group to consider.
+6. variable1: (string) first variable to compare (name of column in dataFrame).
+7. relation: (string) can be &lt; , &gt; or = in the case of variableCompare and valueCompare, and &lt; &gt;, &lt; &lt; , &gt; &lt; or &gt; &gt;
+in the case of instanceCompare
+8. variable2: (string) second variable to compare (name of column in dataFrame) or fixed value for the case of valueCompare.</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix of 2 columns.
+- First column shows the indexes of dataFrame that are wrong.
+- Second column shows the index of the denial constraint that is fulfilled
+If there are no wrong instances to show (0 constrains fulfilled) –&gt; WrongInstances=matrix(0,1,2)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.executePipeline">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">executePipeline</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.executePipeline" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.discoverFD">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">discoverFD</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">threshold</span><sp [...]
+<dd><blockquote>
+<div><p>Implements builtin for finding functional dependencies</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>flagsCount</strong> – <p>—</p>
-</p></li>
-<li><p><strong>test</strong> – <p>—</p>
-</p></li>
+<li><p><strong>X</strong> – Input Matrix X, encoded Matrix if data is categorical</p></li>
+<li><p><strong>Mask</strong> – A row vector for interested features i.e. Mask =[1, 0, 1]
+will exclude the second column from processing</p></li>
+<li><p><strong>threshold</strong> – threshold value in interval [0, 1] for robust FDs</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing validation check &amp; convert the matrix row-vector into list &amp; flag &amp; append flag   &amp; append flag &amp; append flag &amp; of hyper-parameters and loop till that &amp; flag &amp; and remove categorical &amp; and remove numerics &amp; + 1 for nan replacement &amp; matrix &amp; matrix &amp; ohe call, to call inside eval as a function &amp; encoding of categorical features &amp; features &amp; ohe call, to call inside eval as [...]
+<dd class="field-even"><p>matrix of functional dependencies</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.ffTrain">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">ffTrain</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">out_activation</span><spa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.dist">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">dist</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.dist" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>Returns Euclidean distance matrix (distances between N n-dimensional points)</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>batch_size</strong> – Batch size</p></li>
-<li><p><strong>epochs</strong> – Number of epochs</p></li>
-<li><p><strong>learning_rate</strong> – Learning rate</p></li>
-<li><p><strong>out_activation</strong> – User specified ouptut activation function. Possible values:</p></li>
-<li><p><strong>loss_fcn</strong> – User specified loss function. Possible values:</p></li>
-<li><p><strong>shuffle</strong> – Flag which indicates if dataset should be shuffled or not</p></li>
-<li><p><strong>validation_split</strong> – Fraction of training set used as validation set</p></li>
-<li><p><strong>seed</strong> – Seed for model initialization</p></li>
-<li><p><strong>verbose</strong> – Flag which indicates if function should print to stdout</p></li>
-</ul>
+<dd class="field-odd"><p><strong>X</strong> – Matrix to calculate the distance inside</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing by the model &amp; by the model</p>
+<dd class="field-even"><p>Euclidean distance matrix</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.garch">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">garch</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">kmax</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">momentum</span><span class="p">:</span> <span class="n">fl [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.dmv">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">dmv</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAGNo [...]
+<dd><blockquote>
+<div><p>The dmv-function is used to find disguised missing values utilising syntactical pattern recognition.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>kmax</strong> – Number of iterations</p></li>
-<li><p><strong>momentum</strong> – Momentum for momentum-gradient descent (set to 0 to deactivate)</p></li>
-<li><p><strong>start_stepsize</strong> – Initial gradient-descent stepsize</p></li>
-<li><p><strong>end_stepsize</strong> – gradient-descent stepsize at end (linear descent)</p></li>
-<li><p><strong>start_vicinity</strong> – proportion of randomness of restart-location for gradient descent at beginning</p></li>
-<li><p><strong>end_vicinity</strong> – same at end (linear decay)</p></li>
-<li><p><strong>sim_seed</strong> – seed for simulation of process on fitted coefficients</p></li>
-<li><p><strong>verbose</strong> – verbosity, comments during fitting</p></li>
+<li><p><strong>X</strong> – Input Frame</p></li>
+<li><p><strong>threshold</strong> – Threshold value in interval [0, 1] for dominant pattern per column (e.g., 0.8 means
+that 80% of the entries per column must adhere this pattern to be dominant)</p></li>
+<li><p><strong>replace</strong> – The string disguised missing values are replaced with</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing term of fitted process &amp; arch-coefficient of fitted process &amp; garch-coefficient of fitted process &amp; drawbacks: slow convergence of optimization (sort of simulated annealing/gradient descent)</p>
+<dd class="field-even"><p>Frame X including detected disguised missing values</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.gaussianClassifier">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gaussianClassifier</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">D</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.ema">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">ema</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">search_iterations</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">mode</span><span class="p">:</span> <span class=" [...]
+<dd><blockquote>
+<div><p>This function imputes values with exponential moving average (single, double or triple).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>varSmoothing</strong> – Smoothing factor for variances</p></li>
-<li><p><strong>verbose</strong> – Print accuracy of the training set</p></li>
+<li><p><strong>X</strong> – Frame that contains time series data that needs to be imputed
+search_iterations       Integer –      Budget iterations for parameter optimization,
+used if parameters weren’t set</p></li>
+<li><p><strong>mode</strong> – Type of EMA method. Either “single”, “double” or “triple”</p></li>
+<li><p><strong>freq</strong> – Seasonality when using triple EMA.</p></li>
+<li><p><strong>alpha</strong> – alpha- value for EMA</p></li>
+<li><p><strong>beta</strong> – beta- value for EMA</p></li>
+<li><p><strong>gamma</strong> – gamma- value for EMA</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Frame with EMA results</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.getAccuracy">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">getAccuracy</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">yhat</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span cla [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.executePipeline">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">executePipeline</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">pipeline</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">Xtrain</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Ytrain< [...]
+<dd><blockquote>
+<div><p>This function execute pipeline.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>isWeighted</strong> – Flag for weighted or non-weighted accuracy calculation</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>logical</strong> – <p>—</p>
+</p></li>
+<li><p><strong>pipeline</strong> – <p>—</p>
+</p></li>
+<li><p><strong>X</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Y</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Xtest</strong> – <p>—</p>
+</p></li>
+<li><p><strong>Ytest</strong> – <p>—</p>
+</p></li>
+<li><p><strong>metaList</strong> – <p>—</p>
+</p></li>
+<li><p><strong>hyperParameters</strong> – <p>—</p>
+</p></li>
+<li><p><strong>hpForPruning</strong> – <p>—</p>
+</p></li>
+<li><p><strong>changesByOp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>flagsCount</strong> – <p>—</p>
+</p></li>
+<li><p><strong>test</strong> – <p>—</p>
+</p></li>
+<li><p><strong>verbose</strong> – <p>—</p>
+</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing of the predicted labels</p>
+<dd class="field-even"><p><p>—</p>
+</p>
 </dd>
-</dl>
-</dd></dl>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.ffPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">ffPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">model</span><span class="p">:</span> <span class="n">systemds.operator.nodes.list.List</span></em>, <em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n [...]
+<dd><blockquote>
+<div><p>This builtin function makes prediction given data and trained feedforward neural network model</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>Model</strong> – Trained ff neural network model</p></li>
+<li><p><strong>X</strong> – Data used for making predictions</p></li>
+<li><p><strong>batch_size</strong> – Batch size</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Predicted value</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.ffTrain">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">ffTrain</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">out_activation</span><spa [...]
+<dd><blockquote>
+<div><p>This builtin function trains simple feed-forward neural network. The architecture of the
+networks is: affine1 -&gt; relu -&gt; dropout -&gt; affine2 -&gt; configurable output activation function.
+Hidden layer has 128 neurons. Dropout rate is 0.35. Input and output sizes are inferred from X and Y.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Training data</p></li>
+<li><p><strong>Y</strong> – Labels/Target values</p></li>
+<li><p><strong>batch_size</strong> – Batch size</p></li>
+<li><p><strong>epochs</strong> – Number of epochs</p></li>
+<li><p><strong>learning_rate</strong> – Learning rate</p></li>
+<li><p><strong>out_activation</strong> – User specified output activation function. Possible values:
+“sigmoid”, “relu”, “lrelu”, “tanh”, “softmax”, “logits” (no activation).</p></li>
+<li><p><strong>loss_fcn</strong> – User specified loss function. Possible values:
+“l1”, “l2”, “log_loss”, “logcosh_loss”, “cel” (cross-entropy loss).</p></li>
+<li><p><strong>shuffle</strong> – Flag which indicates if dataset should be shuffled or not</p></li>
+<li><p><strong>validation_split</strong> – Fraction of training set used as validation set</p></li>
+<li><p><strong>seed</strong> – Seed for model initialization</p></li>
+<li><p><strong>verbose</strong> – Flag which indicates if function should print to stdout</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Trained model which can be used in ffPredict</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.fit_pipeline">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">fit_pipeline</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">trainData</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">testData</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">pip</span [...]
+<dd><blockquote>
+<div><p>This script will read the dirty and clean data, then it will apply the best pipeline on dirty data
+and then will classify both cleaned dataset and check if the cleaned dataset is performing same as original dataset
+in terms of classification accuracy</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>trainData</strong> – <p>—</p>
+</p></li>
+<li><p><strong>testData</strong> – <p>—</p>
+</p></li>
+<li><p><strong>metaData</strong> – <p>—</p>
+</p></li>
+<li><p><strong>lp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>pip</strong> – <p>—</p>
+</p></li>
+<li><p><strong>hp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>evaluationFunc</strong> – <p>—</p>
+</p></li>
+<li><p><strong>evalFunHp</strong> – <p>—</p>
+</p></li>
+<li><p><strong>isLastLabel</strong> – <p>—</p>
+</p></li>
+<li><p><strong>correctTypos</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.fixInvalidLengths">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">fixInvalidLengths</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">F1</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><spa [...]
+<dd><blockquote>
+<div><p>Fix invalid lengths</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>F1</strong> – <p>—</p>
+</p></li>
+<li><p><strong>mask</strong> – <p>—</p>
+</p></li>
+<li><p><strong>ql</strong> – <p>—</p>
+</p></li>
+<li><p><strong>qu</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><p>—</p>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.fixInvalidLengthsApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">fixInvalidLengthsApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">qLow</spa [...]
+<dd><blockquote>
+<div><p>Fix invalid lengths</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – <p>—</p>
+</p></li>
+<li><p><strong>mask</strong> – <p>—</p>
+</p></li>
+<li><p><strong>ql</strong> – <p>—</p>
+</p></li>
+<li><p><strong>qu</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><p>—</p>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.frameSort">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">frameSort</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">F</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class=" [...]
+<dd><blockquote>
+<div><p>Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+Built-in for sorting frames</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>F</strong> – Data frame of string values</p></li>
+<li><p><strong>mask</strong> – matrix for identifying string columns</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>sorted dataset by column 1 in decreasing order</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.frequencyEncode">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">frequencyEncode</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink"  [...]
+<dd><blockquote>
+<div><p>function frequency conversion</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – dataset x</p></li>
+<li><p><strong>mask</strong> – mask of the columns for frequency conversion</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>categorical columns are replaced with their frequencies</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>the frequency counts for the different categoricals</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.frequencyEncodeApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">frequencyEncodeApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">freqCount</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="he [...]
+<dd><blockquote>
+<div><p>frequency code apply</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – dataset x</p></li>
+<li><p><strong>freqCount</strong> – the frequency counts for the different categoricals</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>categorical columns are replaced with their frequencies given</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.garch">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">garch</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">kmax</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">momentum</span><span class="p">:</span> <span class="n">fl [...]
+<dd><blockquote>
+<div><p>This is a builtin function that implements GARCH(1,1), a statistical model used in analyzing time-series data where the variance
+error is believed to be serially autocorrelated</p>
+<p>COMMENTS
+This has some drawbacks: slow convergence of optimization (sort of simulated annealing/gradient descent)
+TODO: use BFGS or BHHH if it is available (this are go to methods)
+TODO: (only then) extend to garch(p,q); otherwise the search space is way too big for the current method</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – The input Matrix to apply Arima on.</p></li>
+<li><p><strong>kmax</strong> – Number of iterations</p></li>
+<li><p><strong>momentum</strong> – Momentum for momentum-gradient descent (set to 0 to deactivate)</p></li>
+<li><p><strong>start_stepsize</strong> – Initial gradient-descent stepsize</p></li>
+<li><p><strong>end_stepsize</strong> – gradient-descent stepsize at end (linear descent)</p></li>
+<li><p><strong>start_vicinity</strong> – proportion of randomness of restart-location for gradient descent at beginning</p></li>
+<li><p><strong>end_vicinity</strong> – same at end (linear decay)</p></li>
+<li><p><strong>sim_seed</strong> – seed for simulation of process on fitted coefficients</p></li>
+<li><p><strong>verbose</strong> – verbosity, comments during fitting</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>simulated garch(1,1) process on fitted coefficients</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>variances of simulated fitted process</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>onstant term of fitted process</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>1-st arch-coefficient of fitted process</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>1-st garch-coefficient of fitted process</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.gaussianClassifier">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gaussianClassifier</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">D</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span [...]
+<dd><blockquote>
+<div><p>Computes the parameters needed for Gaussian Classification.
+Thus it computes the following per class: the prior probability,
+the inverse covariance matrix, the mean per feature and the determinant
+of the covariance matrix. Furthermore (if not explicitly defined), it
+adds some small smoothing value along the variances, to prevent
+numerical errors / instabilities.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>D</strong> – Input matrix (training set)</p></li>
+<li><p><strong>C</strong> – Target vector</p></li>
+<li><p><strong>varSmoothing</strong> – Smoothing factor for variances</p></li>
+<li><p><strong>verbose</strong> – Print accuracy of the training set</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Vector storing the class prior probabilities</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix storing the means of the classes</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>List of inverse covariance matrices</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Vector storing the determinants of the classes</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.getAccuracy">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">getAccuracy</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">yhat</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span cla [...]
+<dd><blockquote>
+<div><p>This builtin function compute the weighted and simple accuracy for given predictions</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>y</strong> – Ground truth (Actual Labels)</p></li>
+<li><p><strong>yhat</strong> – Predictions (Predicted labels)</p></li>
+<li><p><strong>isWeighted</strong> – Flag for weighted or non-weighted accuracy calculation</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>accuracy of the predicted labels</p>
+</dd>
+</dl>
+</dd></dl>
 
 <dl class="py function">
 <dt id="systemds.operator.algorithm.glm">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">glm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwar [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This script solves GLM regression using NEWTON/FISHER scoring with trust regions. The glm-function is a flexible
+generalization of ordinary linear regression that allows for response variables that have error distribution models.</p>
+<p>In addition, some GLM statistics are provided as console output by setting verbose=TRUE, one comma-separated name-value
+pair per each line, as follows:</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>--------------------------------------------------------------------------------------------
+TERMINATION_CODE      A positive integer indicating success/failure as follows:
+                      1 = Converged successfully; 2 = Maximum number of iterations reached; 
+                      3 = Input (X, Y) out of range; 4 = Distribution/link is not supported
+BETA_MIN              Smallest beta value (regression coefficient), excluding the intercept
+BETA_MIN_INDEX        Column index for the smallest beta value
+BETA_MAX              Largest beta value (regression coefficient), excluding the intercept
+BETA_MAX_INDEX        Column index for the largest beta value
+INTERCEPT             Intercept value, or NaN if there is no intercept (if icpt=0)
+DISPERSION            Dispersion used to scale deviance, provided as &quot;disp&quot; input parameter
+                      or estimated (same as DISPERSION_EST) if the &quot;disp&quot; parameter is &lt;= 0
+DISPERSION_EST        Dispersion estimated from the dataset
+DEVIANCE_UNSCALED     Deviance from the saturated model, assuming dispersion == 1.0
+DEVIANCE_SCALED       Deviance from the saturated model, scaled by the DISPERSION value
+--------------------------------------------------------------------------------------------
+
+The Log file, when requested, contains the following per-iteration variables in CSV format,
+each line containing triple (NAME, ITERATION, VALUE) with ITERATION = 0 for initial values:
+
+--------------------------------------------------------------------------------------------
+NUM_CG_ITERS          Number of inner (Conj.Gradient) iterations in this outer iteration
+IS_TRUST_REACHED      1 = trust region boundary was reached, 0 = otherwise
+POINT_STEP_NORM       L2-norm of iteration step from old point (i.e. &quot;beta&quot;) to new point
+OBJECTIVE             The loss function we minimize (i.e. negative partial log-likelihood)
+OBJ_DROP_REAL         Reduction in the objective during this iteration, actual value
+OBJ_DROP_PRED         Reduction in the objective predicted by a quadratic approximation
+OBJ_DROP_RATIO        Actual-to-predicted reduction ratio, used to update the trust region
+GRADIENT_NORM         L2-norm of the loss function gradient (NOTE: sometimes omitted)
+LINEAR_TERM_MIN       The minimum value of X %*% beta, used to check for overflows
+LINEAR_TERM_MAX       The maximum value of X %*% beta, used to check for overflows
+IS_POINT_UPDATED      1 = new point accepted; 0 = new point rejected, old point restored
+TRUST_DELTA           Updated trust region size, the &quot;delta&quot;
+--------------------------------------------------------------------------------------------
+</pre></div>
+</div>
+<p>SOME OF THE SUPPORTED GLM DISTRIBUTION FAMILIES
+AND LINK FUNCTIONS:</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>dfam vpow link lpow  Distribution.link   nical?
+---------------------------------------------------
+ 1   0.0   1  -1.0   Gaussian.inverse
+ 1   0.0   1   0.0   Gaussian.log
+ 1   0.0   1   1.0   Gaussian.id          Yes
+ 1   1.0   1   0.0   Poisson.log          Yes
+ 1   1.0   1   0.5   Poisson.sqrt
+ 1   1.0   1   1.0   Poisson.id
+ 1   2.0   1  -1.0   Gamma.inverse        Yes
+ 1   2.0   1   0.0   Gamma.log
+ 1   2.0   1   1.0   Gamma.id
+ 1   3.0   1  -2.0   InvGaussian.1/mu^2   Yes
+ 1   3.0   1  -1.0   InvGaussian.inverse
+ 1   3.0   1   0.0   InvGaussian.log
+ 1   3.0   1   1.0   InvGaussian.id
+ 1    *    1    *    AnyVariance.AnyLink
+---------------------------------------------------
+ 2    *    1   0.0   Binomial.log
+ 2    *    1   0.5   Binomial.sqrt
+ 2    *    2    *    Binomial.logit       Yes
+ 2    *    3    *    Binomial.probit
+ 2    *    4    *    Binomial.cloglog
+ 2    *    5    *    Binomial.cauchit
+---------------------------------------------------
+</pre></div>
+</div>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – matrix X of feature vectors</p></li>
+<li><p><strong>Y</strong> – matrix Y with either 1 or 2 columns:
+if dfam = 2, Y is 1-column Bernoulli or 2-column Binomial (#pos, #neg)</p></li>
 <li><p><strong>dfam</strong> – Distribution family code: 1 = Power, 2 = Binomial</p></li>
-<li><p><strong>vpow</strong> – Power for Variance defined as (mean)^power (ignored if dfam != 1):</p></li>
-<li><p><strong>link</strong> – Link function code: 0 = canonical (depends on distribution),</p></li>
-<li><p><strong>lpow</strong> – Power for Link function defined as (mean)^power (ignored if link != 1):</p></li>
+<li><p><strong>vpow</strong> – Power for Variance defined as (mean)^power (ignored if dfam != 1):
+0.0 = Gaussian, 1.0 = Poisson, 2.0 = Gamma, 3.0 = Inverse Gaussian</p></li>
+<li><p><strong>link</strong> – Link function code: 0 = canonical (depends on distribution),
+1 = Power, 2 = Logit, 3 = Probit, 4 = Cloglog, 5 = Cauchit</p></li>
+<li><p><strong>lpow</strong> – Power for Link function defined as (mean)^power (ignored if link != 1):
+-2.0 = 1/mu^2, -1.0 = reciprocal, 0.0 = log, 0.5 = sqrt, 1.0 = identity</p></li>
 <li><p><strong>yneg</strong> – Response value for Bernoulli “No” label, usually 0.0 or -1.0</p></li>
-<li><p><strong>icpt</strong> – Intercept presence, X columns shifting and rescaling:</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, X columns shifting and rescaling:
+0 = no intercept, no shifting, no rescaling;
+1 = add intercept, but neither shift nor rescale X;
+2 = add intercept, shift &amp; rescale X columns to mean = 0, variance = 1</p></li>
 <li><p><strong>reg</strong> – Regularization parameter (lambda) for L2 regularization</p></li>
 <li><p><strong>tol</strong> – Tolerance (epsilon)</p></li>
 <li><p><strong>disp</strong> – (Over-)dispersion value, or 0.0 to estimate it from data</p></li>
 <li><p><strong>moi</strong> – Maximum number of outer (Newton / Fisher Scoring) iterations</p></li>
 <li><p><strong>mii</strong> – Maximum number of inner (Conjugate Gradient) iterations, 0 = no maximum</p></li>
+<li><p><strong>verbose</strong> – if the Algorithm should be verbose</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing line, as follows: &amp; integer indicating success/failure as follows: &amp; value (regression coefficient), excluding the intercept &amp; for the smallest beta value &amp; value (regression coefficient), excluding the intercept &amp; for the largest beta value &amp; or nan if there is no intercept (if icpt=0) &amp; to scale deviance, provided as “disp” input parameter &amp; from the dataset &amp; the saturated model, assuming dispersi [...]
+<dd class="field-even"><p>Matrix beta, whose size depends on icpt:
+icpt=0: ncol(X) x 1;  icpt=1: (ncol(X) + 1) x 1;  icpt=2: (ncol(X) + 1) x 2</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.glmPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">glmPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">B</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class=" [...]
+<dd><blockquote>
+<div><p>Applies the estimated parameters of a GLM type regression to a new dataset</p>
+<p>Additional statistics are printed one per each line, in the following</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>CSV format: NAME,[COLUMN],[SCALED],VALUE
+---
+NAME   is the string identifier for the statistic, see the table below.
+COLUMN is an optional integer value that specifies the Y-column for per-column statistics;
+       note that a Binomial/Multinomial one-column Y input is converted into multi-column.
+SCALED is an optional Boolean value (TRUE or FALSE) that tells us whether or not the input
+         dispersion parameter (disp) scaling has been applied to this statistic.
+VALUE  is the value of the statistic.
+---
+</pre></div>
+</div>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>NAME                  COLUMN  SCALED  MEANING
+---------------------------------------------------------------------------------------------
+LOGLHOOD_Z                      +     Log-Likelihood Z-score (in st.dev&#39;s from mean)
+LOGLHOOD_Z_PVAL                 +     Log-Likelihood Z-score p-value
+PEARSON_X2                      +     Pearson residual X^2 statistic
+PEARSON_X2_BY_DF                +     Pearson X^2 divided by degrees of freedom
+PEARSON_X2_PVAL                 +     Pearson X^2 p-value
+DEVIANCE_G2                     +     Deviance from saturated model G^2 statistic
+DEVIANCE_G2_BY_DF               +     Deviance G^2 divided by degrees of freedom
+DEVIANCE_G2_PVAL                +     Deviance G^2 p-value
+AVG_TOT_Y               +             Average of Y column for a single response value
+STDEV_TOT_Y             +             St.Dev. of Y column for a single response value
+AVG_RES_Y               +             Average of column residual, i.e. of Y - mean(Y|X)
+STDEV_RES_Y             +             St.Dev. of column residual, i.e. of Y - mean(Y|X)
+PRED_STDEV_RES          +       +     Model-predicted St.Dev. of column residual
+R2                      +             R^2 of Y column residual with bias included
+ADJUSTED_R2             +             Adjusted R^2 of Y column residual with bias included
+R2_NOBIAS               +             R^2 of Y column residual with bias subtracted
+ADJUSTED_R2_NOBIAS      +             Adjusted R^2 of Y column residual with bias subtracted
+---------------------------------------------------------------------------------------------
+</pre></div>
+</div>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X of records (feature vectors)</p></li>
+<li><p><strong>B</strong> – GLM regression parameters (the betas), with dimensions
+ncol(X)   x k: do not add intercept
+ncol(X)+1 x k: add intercept as given by the last B-row
+if k &gt; 1, use only B[, 1] unless it is Multinomial Logit (dfam=3)</p></li>
+<li><p><strong>ytest</strong> – Response matrix Y, with the following dimensions:
+nrow(X) x 1  : for all distributions (dfam=1 or 2 or 3)
+nrow(X) x 2  : for Binomial (dfam=2) given by (#pos, #neg) counts
+nrow(X) x k+1: for Multinomial (dfam=3) given by category counts</p></li>
+<li><p><strong>dfam</strong> – GLM distribution family: 1 = Power, 2 = Binomial, 3 = Multinomial Logit</p></li>
+<li><p><strong>vpow</strong> – Power for Variance defined as (mean)^power (ignored if dfam != 1):
+0.0 = Gaussian, 1.0 = Poisson, 2.0 = Gamma, 3.0 = Inverse Gaussian</p></li>
+<li><p><strong>link</strong> – Link function code: 0 = canonical (depends on distribution), 1 = Power,
+2 = Logit, 3 = Probit, 4 = Cloglog, 5 = Cauchit; ignored if Multinomial</p></li>
+<li><p><strong>lpow</strong> – Power for Link function defined as (mean)^power (ignored if link != 1):
+-2.0 = 1/mu^2, -1.0 = reciprocal, 0.0 = log, 0.5 = sqrt, 1.0 = identity</p></li>
+<li><p><strong>disp</strong> – Dispersion value, when available</p></li>
+<li><p><strong>verbose</strong> – Print statistics to stdout</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix M of predicted means/probabilities:
+nrow(X) x 1  : for Power-type distributions (dfam=1)
+nrow(X) x 2  : for Binomial distribution (dfam=2), column 2 is “No”
+nrow(X) x k+1: for Multinomial Logit (dfam=3), col# k+1 is baseline</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
 <dt id="systemds.operator.algorithm.gmm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gmm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">verbose</span><span class="p">:</span> <span class="n">bool</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:< [...]
-<dd><dl class="field-list simple">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gmm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAG [...]
+<dd><blockquote>
+<div><p>The gmm-function implements builtin Gaussian Mixture Model with four different types of covariance matrices
+i.e., VVV, EEE, VVI, VII and two initialization methods namely “kmeans” and “random”.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
 <li><p><strong>n_components</strong> – Number of n_components in the Gaussian mixture model</p></li>
-<li><p><strong>model</strong> – “VVV”: unequal variance (full),each component has its own general covariance matrix</p></li>
+<li><p><strong>model</strong> – “VVV”: unequal variance (full),each component has its own general covariance matrix
+“EEE”: equal variance (tied), all components share the same general covariance matrix
+“VVI”: spherical, unequal volume (diag), each component has its own diagonal
+covariance matrix
+“VII”: spherical, equal volume (spherical), each component has its own single variance</p></li>
 <li><p><strong>init_param</strong> – initialize weights with “kmeans” or “random”</p></li>
 <li><p><strong>iterations</strong> – Number of iterations</p></li>
 <li><p><strong>reg_covar</strong> – regularization parameter for covariance matrix</p></li>
@@ -719,7 +1872,23 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing of estimated parameters &amp; information criterion for best iteration &amp; kth class</p>
+<dd class="field-even"><p>Prediction matrix</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Probability of the predictions</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Number of estimated parameters</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Bayesian information criterion for best iteration</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>fitted clusters mean</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>A matrix whose [i,k]th entry is the probability that observation i in the test data
+belongs to the kth class</p>
 </dd>
 </dl>
 </dd></dl>
@@ -727,12 +1896,25 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.gmmPredict">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gmmPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">weight</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mu</span><span cl [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This function is a Prediction function for a Gaussian Mixture Model (gmm).</p>
+<p>compute posterior probabilities for new instances given the variance and mean of fitted data</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>model</strong> – fitted model</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X (instances to be clustered)</p></li>
+<li><p><strong>weight</strong> – Weight of learned model</p></li>
+<li><p><strong>mu</strong> – fitted clusters mean</p></li>
+<li><p><strong>precisions_cholesky</strong> – fitted precision matrix for each mixture</p></li>
+<li><p><strong>model</strong> – fitted model</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing cluster labels &amp; of belongingness &amp; for new instances given the variance and mean of fitted data</p>
+<dd class="field-even"><p>predicted cluster labels</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>probabilities of belongingness</p>
 </dd>
 </dl>
 </dd></dl>
@@ -740,16 +1922,70 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.gnmf">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gnmf</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">rnk</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</spa [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The gnmf-function does Gaussian Non-Negative Matrix Factorization. In this, a matrix X is factorized into two
+matrices W and H, such that all three matrices have no negative elements. This non-negativity makes the resulting
+matrices easier to inspect.</p>
+<p>References:
+[Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, Yi-Min Wang:
+Distributed nonnegative matrix factorization for web-scale dyadic
+data analysis on mapreduce. WWW 2010: 681-690]</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors.</p></li>
 <li><p><strong>rnk</strong> – Number of components into which matrix X is to be factored</p></li>
 <li><p><strong>eps</strong> – Tolerance</p></li>
 <li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>List of pattern matrices, one for each repetition</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>List of amplitude matrices, one for each repetition</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.gridSearch">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">gridSearch</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">train</span><span clas [...]
+<dd><blockquote>
+<div><p>The gridSearch-function is used to find the optimal hyper-parameters of a model which results in the most
+accurate predictions. This function takes train and eval functions by name.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>y</strong> – Input Matrix of vectors.</p></li>
+<li><p><strong>train</strong> – Name ft of the train function to call via ft(trainArgs)</p></li>
+<li><p><strong>predict</strong> – Name fp of the loss function to call via fp((predictArgs,B))</p></li>
+<li><p><strong>numB</strong> – Maximum number of parameters in model B (pass the max because the size
+may vary with parameters like icpt or multi-class classification)</p></li>
+<li><p><strong>params</strong> – List of varied hyper-parameter names</p></li>
+<li><p><strong>dataArgs</strong> – List of data parameters (to identify data parameters by name i.e. list(“X”, “Y”))</p></li>
+<li><p><strong>paramValues</strong> – List of matrices providing the parameter values as
+columnvectors for position-aligned hyper-parameters in ‘params’</p></li>
+<li><p><strong>trainArgs</strong> – named List of arguments to pass to the ‘train’ function, where
+gridSearch replaces enumerated hyper-parameter by name, if
+not provided or an empty list, the lm parameters are used</p></li>
+<li><p><strong>predictArgs</strong> – List of arguments to pass to the ‘predict’ function, where
+gridSearch appends the trained models at the end, if
+not provided or an empty list, list(X, y) is used instead</p></li>
+<li><p><strong>cv</strong> – flag enabling k-fold cross validation, otherwise training loss</p></li>
+<li><p><strong>cvk</strong> – if cv=TRUE, specifies the the number of folds, otherwise ignored</p></li>
+<li><p><strong>verbose</strong> – flag for verbose debug output</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix[Double]the trained model with minimal loss (by the ‘predict’ function)
+Multi-column models are returned as a column-major linearized column vector</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>one-row frame w/ optimal hyper-parameters (by ‘params’ position)</p>
 </dd>
 </dl>
 </dd></dl>
@@ -757,34 +1993,96 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.hospitalResidencyMatch">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">hospitalResidencyMatch</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">R</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">H</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">capacity</ [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This script computes a solution for the hospital residency match problem.</p>
+<p>Residents.mtx:
+2.0,1.0,3.0
+1.0,2.0,3.0
+1.0,2.0,0.0</p>
+<p>Since it is an ORDERED  matrix, this means that Resident 1 (row 1) likes hospital 2 the most, followed by hospital 1 and hospital 3.
+If it was UNORDERED, this would mean that resident 1 (row 1) likes hospital 3 the most (since the value at [1,3] is the row max),
+followed by hospital 1 (2.0 preference value) and hospital 2 (1.0 preference value).</p>
+<p>Hospitals.mtx:
+2.0,1.0,0.0
+0.0,1.0,2.0
+1.0,2.0,0.0</p>
+<p>Since it is an UNORDERED matrix this means that Hospital 1 (row 1) likes Resident 1 the most (since the value at [1,1] is the row max).</p>
+<p>capacity.mtx
+1.0
+1.0
+1.0</p>
+<p>residencyMatch.mtx
+2.0,0.0,0.0
+1.0,0.0,0.0
+0.0,2.0,0.0</p>
+<p>hospitalMatch.mtx
+0.0,1.0,0.0
+0.0,0.0,2.0
+1.0,0.0,0.0</p>
+<p>Resident 1 has matched with Hospital 3 (since [1,3] is non-zero) at a preference level of 2.0.
+Resident 2 has matched with Hospital 1 (since [2,1] is non-zero) at a preference level of 1.0.
+Resident 3 has matched with Hospital 2 (since [3,2] is non-zero) at a preference level of 2.0.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>It</strong> – an ORDERED  matrix.</p></li>
-<li><p><strong>It</strong> – an UNORDRED matrix.</p></li>
-<li><p><strong>It</strong> – a [n*1] matrix with non zero values.</p></li>
-<li><p><strong>with</strong> – and vice-versa (higher is better).</p></li>
+<li><p><strong>R</strong> – Residents matrix R.
+It must be an ORDERED  matrix.</p></li>
+<li><p><strong>H</strong> – Hospitals matrix H.
+It must be an UNORDRED matrix.</p></li>
+<li><p><strong>capacity</strong> – capacity of Hospitals matrix C.
+It must be a [n*1] matrix with non zero values.
+i.e. the leftmost value in a row is the most preferred partner’s index.
+i.e. the leftmost value in a row in P is the preference value for the acceptor
+with index 1 and vice-versa (higher is better).</p></li>
 <li><p><strong>verbose</strong> – If the operation is verbose</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing an ordered  matrix, this means that resident 1 (row 1) likes hospital 2 the most, followed by hospital 1 and hospital 3. &amp; unordered, this would mean that resident 1 (row 1) likes hospital 3 the most (since the value at [1,3] is the row max), &amp; 1 (2.0 preference value) and hospital 2 (1.0 preference value). &amp; an unordered matrix this means that hospital 1 (row 1) likes resident 1 the most (since the value at [1,1] is the ro [...]
+<dd class="field-even"><p>Result Matrix
+If cell [i,j] is non-zero, it means that Resident i has matched with Hospital j.
+Further, if cell [i,j] is non-zero, it holds the preference value that led to the match.</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Result Matrix
+If cell [i,j] is non-zero, it means that Resident i has matched with Hospital j.
+Further, if cell [i,j] is non-zero, it holds the preference value that led to the match.</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
 <dt id="systemds.operator.algorithm.hyperband">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">hyperband</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">X_val</span [...]
-<dd><dl class="field-list simple">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">hyperband</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">X_val</span [...]
+<dd><blockquote>
+<div><p>The hyperband-function is used for hyper parameter optimization and is based on multi-armed bandits and early
+elimination. Through multiple parallel brackets and consecutive trials it will return the hyper parameter combination
+which performed best on a validation dataset. A set of hyper parameter combinations is drawn from uniform distributions
+with given ranges; Those make up the candidates for hyperband. Notes:
+hyperband is hard-coded for lmCG, and uses lmPredict for validation
+hyperband is hard-coded to use the number of iterations as a resource
+hyperband can only optimize continuous hyperparameters</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>One</strong> – hyper parameter, first column specifies min, second column max value.</p></li>
+<li><p><strong>X_train</strong> – Input Matrix of training vectors</p></li>
+<li><p><strong>y_train</strong> – Labels for training vectors</p></li>
+<li><p><strong>X_val</strong> – Input Matrix of validation vectors</p></li>
+<li><p><strong>y_val</strong> – Labels for validation vectors</p></li>
+<li><p><strong>params</strong> – List of parameters to optimize</p></li>
+<li><p><strong>paramRanges</strong> – The min and max values for the uniform distributions to draw from.
+One row per hyper parameter, first column specifies min, second column max value.</p></li>
+<li><p><strong>R</strong> – Controls number of candidates evaluated</p></li>
+<li><p><strong>eta</strong> – Determines fraction of candidates to keep after each trial</p></li>
 <li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>1-column matrix of weights of best performing candidate</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>hyper parameters of best performing candidate</p>
 </dd>
 </dl>
 </dd></dl>
@@ -792,15 +2090,19 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_brightness">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_brightness</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">value</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">channel_max</span><span class="p">:</span [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The img_brightness-function is an image data augmentation function. It changes the brightness of the image.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input matrix/image</p></li>
 <li><p><strong>value</strong> – The amount of brightness to be changed for the image</p></li>
 <li><p><strong>channel_max</strong> – Maximum value of the brightness of the image</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output matrix/image</p>
 </dd>
 </dl>
 </dd></dl>
@@ -808,9 +2110,13 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_crop">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_crop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">w</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">h</span><span class="p">:</span> <span class="n">int< [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The img_crop-function is an image data augmentation function. It cuts out a subregion of an image.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input matrix/image</p></li>
 <li><p><strong>w</strong> – The width of the subregion required</p></li>
 <li><p><strong>h</strong> – The height of the subregion required</p></li>
 <li><p><strong>x_offset</strong> – The horizontal coordinate in the image to begin the crop operation</p></li>
@@ -818,7 +2124,7 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Cropped matrix/image</p>
 </dd>
 </dl>
 </dd></dl>
@@ -826,9 +2132,13 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_cutout">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_cutout</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">in [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Image Cutout function replaces a rectangular section of an image with a constant value.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input image as 2D matrix with top left corner at [1, 1]</p></li>
 <li><p><strong>x</strong> – Column index of the top left corner of the rectangle (starting at 1)</p></li>
 <li><p><strong>y</strong> – Row index of the top left corner of the rectangle (starting at 1)</p></li>
 <li><p><strong>width</strong> – Width of the rectangle (must be positive)</p></li>
@@ -837,7 +2147,7 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image as 2D matrix with top left corner at [1, 1]</p>
 </dd>
 </dl>
 </dd></dl>
@@ -845,12 +2155,18 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_invert">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_invert</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">max_value</span><span class="p">:</span> <span class="n">float</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.al [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This is an image data augmentation function. It inverts an image.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>max_value</strong> – The maximum value pixels can have</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input image</p></li>
+<li><p><strong>max_value</strong> – The maximum value pixels can have</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image</p>
 </dd>
 </dl>
 </dd></dl>
@@ -858,12 +2174,19 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_mirror">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_mirror</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">horizontal_axis</span><span class="p">:</span> <span class="n">bool</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operat [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This function is an image data augmentation function.
+It flips an image on the X (horizontal) or Y (vertical) axis.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>max_value</strong> – The maximum value pixels can have</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input matrix/image</p></li>
+<li><p><strong>max_value</strong> – The maximum value pixels can have</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Flipped matrix/image</p>
 </dd>
 </dl>
 </dd></dl>
@@ -871,15 +2194,20 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_posterize">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_posterize</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">bits</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algori [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
+Assumes the input image can attain values in the range [0, 255].</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>bits</strong> – The number of bits keep for the values.</p></li>
-<li><p><strong>1</strong> – and white, 8 means every integer between 0 and 255.</p></li>
+<li><p><strong>img_in</strong> – Input image</p></li>
+<li><p><strong>bits</strong> – The number of bits keep for the values.
+1 means black and white, 8 means every integer between 0 and 255.</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image</p>
 </dd>
 </dl>
 </dd></dl>
@@ -887,15 +2215,20 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_rotate">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_rotate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">radians</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">fill_value</span><span class="p">:</span> < [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The Image Rotate function rotates the input image counter-clockwise around the center.
+Uses nearest neighbor sampling.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input image as 2D matrix with top left corner at [1, 1]</p></li>
 <li><p><strong>radians</strong> – The value by which to rotate in radian.</p></li>
 <li><p><strong>fill_value</strong> – The background color revealed by the rotation</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image as 2D matrix with top left corner at [1, 1]</p>
 </dd>
 </dl>
 </dd></dl>
@@ -903,15 +2236,20 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_sample_pairing">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_sample_pairing</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in1</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">img_in2</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">we [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The image sample pairing function blends two images together.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>weight</strong> – The weight given to the second image.</p></li>
-<li><p><strong>0</strong> – img_in1, 1 means only img_in2 will be visible</p></li>
+<li><p><strong>img_in1</strong> – First input image</p></li>
+<li><p><strong>img_in2</strong> – Second input image</p></li>
+<li><p><strong>weight</strong> – The weight given to the second image.
+0 means only img_in1, 1 means only img_in2 will be visible</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image</p>
 </dd>
 </dl>
 </dd></dl>
@@ -919,16 +2257,21 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_shear">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_shear</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">shear_x</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">shear_y</span><span class="p">:</span> <span [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This function applies a shearing transformation to an image.
+Uses nearest neighbor sampling.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input image as 2D matrix with top left corner at [1, 1]</p></li>
 <li><p><strong>shear_x</strong> – Shearing factor for horizontal shearing</p></li>
 <li><p><strong>shear_y</strong> – Shearing factor for vertical shearing</p></li>
 <li><p><strong>fill_value</strong> – The background color revealed by the shearing</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image as 2D matrix with top left corner at [1, 1]</p>
 </dd>
 </dl>
 </dd></dl>
@@ -936,16 +2279,23 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_transform">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_transform</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">out_w</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="n">out_h</span><span class="p">:</span> <span c [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The Image Transform function applies an affine transformation to an image.
+Optionally resizes the image (without scaling).
+Uses nearest neighbor sampling.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input image as 2D matrix with top left corner at [1, 1]</p></li>
 <li><p><strong>out_w</strong> – Width of the output image</p></li>
 <li><p><strong>out_h</strong> – Height of the output image</p></li>
+<li><p><strong>a</strong><strong>,</strong><strong>b</strong><strong>,</strong><strong>c</strong><strong>,</strong><strong>d</strong><strong>,</strong><strong>e</strong><strong>,</strong><strong>f</strong> – The first two rows of the affine matrix in row-major order</p></li>
 <li><p><strong>fill_value</strong> – The background of the image</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing image as 2d matrix with top left corner at [1, 1]</p>
+<dd class="field-even"><p>Output image as 2D matrix with top left corner at [1, 1]</p>
 </dd>
 </dl>
 </dd></dl>
@@ -953,9 +2303,15 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.img_translate">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">img_translate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">img_in</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">offset_x</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">offset_y</span><span class="p">:</span> [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The Image Translate function translates the image.
+Optionally resizes the image (without scaling).
+Uses nearest neighbor sampling.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>img_in</strong> – Input image as 2D matrix with top left corner at [1, 1]</p></li>
 <li><p><strong>offset_x</strong> – The distance to move the image in x direction</p></li>
 <li><p><strong>offset_y</strong> – The distance to move the image in y direction</p></li>
 <li><p><strong>out_w</strong> – Width of the output image</p></li>
@@ -964,7 +2320,38 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output image as 2D matrix with top left corner at [1, 1]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.impurityMeasures">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">impurityMeasures</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">R</span><span cl [...]
+<dd><blockquote>
+<div><p>This function computes the measure of impurity for the given dataset based on the passed method (gini or entropy).
+The current version expects the target vector to contain only 0 or 1 values.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Feature matrix.</p></li>
+<li><p><strong>Y</strong> – Target vector containing 0 and 1 values.</p></li>
+<li><p><strong>R</strong> – Vector indicating whether a feature is categorical or continuous.
+1 denotes a continuous feature, 2 denotes a categorical feature.</p></li>
+<li><p><strong>n_bins</strong> – Number of bins for binning in case of scale features.</p></li>
+<li><p><strong>method</strong> – String indicating the method to use; either “entropy” or “gini”.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>(1 x ncol(X)) row vector containing information/gini gain for
+each feature of the dataset.
+In case of gini, the values denote the gini gains, i.e. how much
+impurity was removed with the respective split. The higher the
+value, the better the split.
+In case of entropy, the values denote the information gain, i.e.
+how much entropy was removed. The higher the information gain,
+the better the split.</p>
 </dd>
 </dl>
 </dd></dl>
@@ -972,15 +2359,23 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.imputeByFD">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByFD</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">threshold</span><span  [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Implements builtin for imputing missing values from observed values (if exist) using robust functional dependencies</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Vector X, source attribute of functional dependency</p></li>
+<li><p><strong>Y</strong> – Vector Y, target attribute of functional dependency and imputation</p></li>
 <li><p><strong>threshold</strong> – threshold value in interval [0, 1] for robust FDs</p></li>
 <li><p><strong>verbose</strong> – flag for printing verbose debug output</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Vector Y, with missing values mapped to a new max value</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Vector Y, with imputed missing values</p>
 </dd>
 </dl>
 </dd></dl>
@@ -988,39 +2383,230 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.imputeByFDApply">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByFDApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y_imp</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Implements builtin for imputing missing values from observed values (if exist) using robust functional dependencies</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
 <li><p><strong>source</strong> – source attribute to use for imputation and error correction</p></li>
 <li><p><strong>target</strong> – attribute to be fixed</p></li>
 <li><p><strong>threshold</strong> – threshold value in interval [0, 1] for robust FDs</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix with possible imputations</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.km">
+<dt id="systemds.operator.algorithm.imputeByMean">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByMean</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" hre [...]
+<dd><blockquote>
+<div><p>impute the data by mean value and if the feature is categorical then by mode value
+Related to [SYSTEMDS-2662] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>mask</strong> – A 0/1 row vector for identifying numeric (0) and categorical features (1)</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.imputeByMeanApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByMeanApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">imputedVec</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="head [...]
+<dd><blockquote>
+<div><p>impute the data by mean value and if the feature is categorical then by mode value
+Related to [SYSTEMDS-2662] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>imputationVector</strong> – column mean vector</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.imputeByMedian">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByMedian</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" h [...]
+<dd><blockquote>
+<div><p>Related to [SYSTEMDS-2662] dependency function for cleaning pipelines</p>
+<p>impute the data by median value and if the feature is categorical then by mode value</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>mask</strong> – A 0/1 row vector for identifying numeric (0) and categorical features (1)</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.imputeByMedianApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByMedianApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">imputedVec</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="he [...]
+<dd><blockquote>
+<div><p>impute the data by median value and if the feature is categorical then by mode value
+Related to [SYSTEMDS-2662] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>imputationVector</strong> – column median vector</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.imputeByMode">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByMode</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.imputeByMode" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>This function impute the data by mode value
+Related to [SYSTEMDS-2902] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.imputeByModeApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">imputeByModeApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">imputedVec</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="head [...]
+<dd><blockquote>
+<div><p>impute the data by most frequent value (recoded data only)
+Related to [SYSTEMDS-2662] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>imputationVector</strong> – column mean vector</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.intersect">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">intersect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#sy [...]
+<dd><blockquote>
+<div><p>Implements set intersection for numeric data</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – matrix X, set A</p></li>
+<li><p><strong>Y</strong> – matrix Y, set B</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>intersection matrix, set of intersecting items</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.km">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">km</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">TE</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">GI</span><span class="p">:</s [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin function that implements the analysis of survival data with KAPLAN-MEIER estimates</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>number</strong> – (categorical features) for grouping and/or stratifying</p></li>
-<li><p><strong>alpha</strong> – Parameter to compute 100*(1-alpha)% confidence intervals for the survivor</p></li>
-<li><p><strong>function</strong> – median</p></li>
-<li><p><strong>err_type</strong> – Parameter to specify the error type according to “greenwood” (the default) or “peto”</p></li>
-<li><p><strong>conf_type</strong> – Parameter to modify the confidence interval; “plain” keeps the lower and</p></li>
-<li><p><strong>upper</strong> – the confidence interval unmodified, “log” (the default)</p></li>
-<li><p><strong>corresponds</strong> – transformation and “log-log” corresponds to the</p></li>
-<li><p><strong>test_type</strong> – If survival data for multiple groups is available specifies which test to</p></li>
-<li><p><strong>perform</strong> – survival data across multiple groups: “none” (the default)</p></li>
+<li><p><strong>X</strong> – Input matrix X containing the survival data:
+timestamps, whether event occurred (1) or data is censored (0), and a
+number of factors (categorical features) for grouping and/or stratifying</p></li>
+<li><p><strong>TE</strong> – Column indices of X which contain timestamps (first entry) and event
+information (second entry)</p></li>
+<li><p><strong>GI</strong> – Column indices of X corresponding to the factors to be used for grouping</p></li>
+<li><p><strong>SI</strong> – Column indices of X corresponding to the factors to be used for stratifying</p></li>
+<li><p><strong>alpha</strong> – Parameter to compute 100*(1-alpha)% confidence intervals for the survivor
+function and its median</p></li>
+<li><p><strong>err_type</strong> – “greenwood” Parameter to specify the error type according to “greenwood” (the default) or “peto”</p></li>
+<li><p><strong>conf_type</strong> – Parameter to modify the confidence interval; “plain” keeps the lower and
+upper bound of the confidence interval unmodified, “log” (the default)
+corresponds to logistic transformation and “log-log” corresponds to the
+complementary log-log transformation</p></li>
+<li><p><strong>test_type</strong> – If survival data for multiple groups is available specifies which test to
+perform for comparing survival data across multiple groups: “none” (the default)
+“log-rank” or “wilcoxon” test</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing 7 consecutive columns in km corresponds to a unique &amp; and strata in the data with the following schema &amp; number of factors used for stratifying, i.e., ncol(si)) &amp; of groups and strata is equal to 1, m will have 4 columns with &amp; 4 matrix t and an g x 5 matrix t_groups_oe with</p>
+<dd class="field-even"><p>Matrix KM whose dimension depends on the number of groups (denoted by g) and
+strata (denoted by s) in the data:
+each collection of 7 consecutive columns in KM corresponds to a unique
+combination of groups and strata in the data with the following schema
+1. col: timestamp
+2. col: no. at risk
+3. col: no. of events
+4. col: Kaplan-Meier estimate of survivor function surv
+5. col: standard error of surv
+6. col: lower 100*(1-alpha)% confidence interval for surv
+7. col: upper 100*(1-alpha)% confidence interval for surv</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix M whose dimension depends on the number of groups (g) and strata (s) in
+the data (k denotes the number of factors used for grouping  ,i.e., ncol(GI) and
+l denotes the number of factors used for stratifying, i.e., ncol(SI))
+M[,1:k]: unique combination of values in the k factors used for grouping
+M[,(k+1):(k+l)]: unique combination of values in the l factors used for stratifying
+M[,k+l+1]: total number of records
+M[,k+l+2]: total number of events
+M[,k+l+3]: median of surv
+M[,k+l+4]: lower 100*(1-alpha)% confidence interval of the median of surv
+M[,k+l+5]: upper 100*(1-alpha)% confidence interval of the median of surv
+If the number of groups and strata is equal to 1, M will have 4 columns with
+M[,1]: total number of events
+M[,2]: median of surv
+M[,3]: lower 100*(1-alpha)% confidence interval of the median of surv
+M[,4]: upper 100*(1-alpha)% confidence interval of the median of surv</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>If survival data from multiple groups available and ttype=log-rank or wilcoxon,
+a 1 x 4 matrix T and an g x 5 matrix T_GROUPS_OE with
+T_GROUPS_OE[,1] = no. of events
+T_GROUPS_OE[,2] = observed value (O)
+T_GROUPS_OE[,3] = expected value (E)
+T_GROUPS_OE[,4] = (O-E)^2/E
+T_GROUPS_OE[,5] = (O-E)^2/V
+T[1,1] = no. of groups
+T[1,2] = degree of freedom for Chi-squared distributed test statistic
+T[1,3] = test statistic
+T[1,4] = P-value</p>
 </dd>
 </dl>
 </dd></dl>
@@ -1028,21 +2614,136 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.kmeans">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">kmeans</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span> [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin function that implements the k-Means clustering algorithm</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – The input Matrix to do KMeans on.</p></li>
 <li><p><strong>k</strong> – Number of centroids</p></li>
 <li><p><strong>runs</strong> – Number of runs (with different initial centroids)</p></li>
 <li><p><strong>max_iter</strong> – Maximum number of iterations per run</p></li>
 <li><p><strong>eps</strong> – Tolerance (epsilon) for WCSS change ratio</p></li>
 <li><p><strong>is_verbose</strong> – do not print per-iteration stats</p></li>
 <li><p><strong>avg_sample_size_per_centroid</strong> – Average number of records per centroid in data samples</p></li>
-<li><p><strong>seed</strong> – The seed used for initial sampling. If set to -1</p></li>
-<li><p><strong>random</strong> – selected.</p></li>
+<li><p><strong>seed</strong> – The seed used for initial sampling. If set to -1
+random seeds are selected.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The mapping of records to centroids</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>The output matrix with the centroids</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.kmeansPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">kmeansPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href= [...]
+<dd><blockquote>
+<div><p>Builtin function that does predictions based on a set of centroids provided.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – The input Matrix to do KMeans on.</p></li>
+<li><p><strong>C</strong> – The input Centroids to map X onto.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The mapping of records to centroids</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.knn">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">knn</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">Train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Test</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">CL</span><span class=" [...]
+<dd><blockquote>
+<div><p>This script implements KNN (K Nearest Neighbor) algorithm.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>Train</strong> – The input matrix as features</p></li>
+<li><p><strong>Test</strong> – The input matrix for nearest neighbor search</p></li>
+<li><p><strong>CL</strong> – The input matrix as target</p></li>
+<li><p><strong>CL_T</strong> – The target type of matrix CL whether
+columns in CL are continuous ( =1 ) or
+categorical ( =2 ) or not specified ( =0 )</p></li>
+<li><p><strong>trans_continuous</strong> – Option flag for continuous feature transformed to [-1,1]:
+FALSE = do not transform continuous variable;
+TRUE = transform continuous variable;</p></li>
+<li><p><strong>k_value</strong> – k value for KNN, ignore if select_k enable</p></li>
+<li><p><strong>select_k</strong> – Use k selection algorithm to estimate k (TRUE means yes)</p></li>
+<li><p><strong>k_min</strong> – Min k value(  available if select_k = 1 )</p></li>
+<li><p><strong>k_max</strong> – Max k value(  available if select_k = 1 )</p></li>
+<li><p><strong>select_feature</strong> – Use feature selection algorithm to select feature (TRUE means yes)</p></li>
+<li><p><strong>feature_max</strong> – Max feature selection</p></li>
+<li><p><strong>interval</strong> – Interval value for K selecting (  available if select_k = 1 )</p></li>
+<li><p><strong>feature_importance</strong> – Use feature importance algorithm to estimate each feature
+(TRUE means yes)</p></li>
+<li><p><strong>predict_con_tg</strong> – Continuous  target predict function: mean(=0) or median(=1)</p></li>
+<li><p><strong>START_SELECTED</strong> – feature selection initial value</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Applied clusters to X</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Cluster matrix</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Feature importance value</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.knnGraph">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">knnGraph</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">k</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.knnGraph" [...]
+<dd><blockquote>
+<div><p>Builtin for k nearest neighbor graph construction</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – <p>—</p>
+</p></li>
+<li><p><strong>k</strong> – <p>—</p>
+</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.knnbf">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">knnbf</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">T</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kw [...]
+<dd><blockquote>
+<div><p>This script implements KNN (K Nearest Neighbor) algorithm.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – <p>—</p>
+</p></li>
+<li><p><strong>T</strong> – <p>—</p>
+</p></li>
+<li><p><strong>k_value</strong> – <p>—</p>
+</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p><p>—</p>
+</p>
 </dd>
 </dl>
 </dd></dl>
@@ -1050,24 +2751,27 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.l2svm">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">l2svm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kw [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin function Implements binary-class SVM with squared slack variables</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – matrix X of feature vectors</p></li>
+<li><p><strong>Y</strong> – matrix Y of class labels have to be a single column</p></li>
 <li><p><strong>intercept</strong> – No Intercept ( If set to TRUE then a constant bias column is added to X)</p></li>
-<li><p><strong>epsilon</strong> – Procedure terminates early if the reduction in objective function value is less</p></li>
-<li><p><strong>lambda</strong> – Regularization parameter (lambda) for L2 regularization</p></li>
+<li><p><strong>epsilon</strong> – Procedure terminates early if the reduction in objective function value is less
+than epsilon (tolerance) times the initial objective function value.</p></li>
+<li><p><strong>reg</strong> – Regularization parameter (reg) for L2 regularization</p></li>
 <li><p><strong>maxIterations</strong> – Maximum number of conjugate gradient iterations</p></li>
-<li><p><strong>maxii</strong> – <ul>
-<li></li>
-</ul>
-</p></li>
+<li><p><strong>maxii</strong> – max inner for loop iterations</p></li>
 <li><p><strong>verbose</strong> – Set to true if one wants print statements updating on loss.</p></li>
-<li><p><strong>columnId</strong> – The column Id used if one wants to add a ID to the print statement, Specificly</p></li>
-<li><p><strong>usefull</strong> – is used in MSVM.</p></li>
+<li><p><strong>columnId</strong> – The column Id used if one wants to add a ID to the print statement,
+eg. used when L2SVM is used in MSVM.</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>the trained model</p>
 </dd>
 </dl>
 </dd></dl>
@@ -1075,12 +2779,23 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.l2svmPredict">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">l2svmPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">W</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin function Implements binary-class SVM with squared slack variables.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>verbose</strong> – Set to true if one wants print statements.</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – matrix X of feature vectors to classify</p></li>
+<li><p><strong>W</strong> – matrix of the trained variables</p></li>
+<li><p><strong>verbose</strong> – Set to true if one wants print statements.</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Classification Labels Raw, meaning not modified to clean
+labels of 1’s and -1’s</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Classification Labels Maxed to ones and zeros.</p>
 </dd>
 </dl>
 </dd></dl>
@@ -1088,9 +2803,15 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.lasso">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lasso</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kw [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>Builtin function for the SpaRSA algorithm to perform lasso regression
+(SpaRSA .. Sparse Reconstruction by Separable Approximation)</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – input feature matrix</p></li>
+<li><p><strong>y</strong> – matrix Y columns of the design matrix</p></li>
 <li><p><strong>tol</strong> – target convergence tolerance</p></li>
 <li><p><strong>M</strong> – history length</p></li>
 <li><p><strong>tau</strong> – regularization component</p></li>
@@ -1099,7 +2820,30 @@
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>model matrix</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.lenetPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lenetPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">model</span><span class="p">:</span> <span class="n">systemds.operator.nodes.list.List</span></em>, <em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span class= [...]
+<dd><blockquote>
+<div><p>This builtin function makes prediction given data and trained LeNet model</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>model</strong> – Trained LeNet model</p></li>
+<li><p><strong>X</strong> – Input data matrix, of shape (N, C*Hin*Win)</p></li>
+<li><p><strong>C</strong> – Number of input channels</p></li>
+<li><p><strong>Hin</strong> – Input height</p></li>
+<li><p><strong>Win</strong> – Input width</p></li>
+<li><p><strong>batch_size</strong> – Batch size</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Predicted values</p>
 </dd>
 </dl>
 </dd></dl>
@@ -1107,9 +2851,18 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.lenetTrain">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lenetTrain</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">X_val</span><span clas [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>This builtin function trains LeNet CNN. The architecture of the
+networks is:conv1 -&gt; relu1 -&gt; pool1 -&gt; conv2 -&gt; relu2 -&gt; pool2 -&gt;
+affine3 -&gt; relu3 -&gt; affine4 -&gt; softmax</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input data matrix, of shape (N, C*Hin*Win)</p></li>
+<li><p><strong>Y</strong> – Target matrix, of shape (N, K)</p></li>
+<li><p><strong>X_val</strong> – Validation data matrix, of shape (N, C*Hin*Win)</p></li>
+<li><p><strong>Y_val</strong> – Validation target matrix, of shape (N, K)</p></li>
 <li><p><strong>C</strong> – Number of input channels (dimensionality of input depth)</p></li>
 <li><p><strong>Hin</strong> – Input width</p></li>
 <li><p><strong>Win</strong> – Input height</p></li>
@@ -1118,13 +2871,13 @@
 <li><p><strong>lr</strong> – Learning rate</p></li>
 <li><p><strong>mu</strong> – Momentum value</p></li>
 <li><p><strong>decay</strong> – Learning rate decay</p></li>
-<li><p><strong>lambda</strong> – Regularization strength</p></li>
+<li><p><strong>reg</strong> – Regularization strength</p></li>
 <li><p><strong>seed</strong> – Seed for model initialization</p></li>
 <li><p><strong>verbose</strong> – Flag indicates if function should print to stdout</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Trained model which can be used in lenetPredict</p>
 </dd>
 </dl>
 </dd></dl>
@@ -1132,633 +2885,1770 @@
 <dl class="py function">
 <dt id="systemds.operator.algorithm.lm">
 <code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwarg [...]
-<dd><dl class="field-list simple">
+<dd><blockquote>
+<div><p>The lm-function solves linear regression using either the direct solve method or the conjugate gradient
+algorithm depending on the input size of the matrices (See lmDS-function and lmCG-function respectively).</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors.</p></li>
+<li><p><strong>y</strong> – 1-column matrix of response values.</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
+<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero
+for highly dependant/sparse/numerous features</p></li>
+<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate gradient procedure terminates early if L2
+norm of the beta-residual is less than tolerance * its initial norm</p></li>
+<li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations. 0 = no maximum</p></li>
+<li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The model fit</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.lmCG">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lmCG</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwa [...]
+<dd><blockquote>
+<div><p>The lmCG function solves linear regression using the conjugate gradient algorithm</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors.</p></li>
+<li><p><strong>y</strong> – 1-column matrix of response values.</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
+<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero
+for highly dependant/sparse/numerous features</p></li>
+<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate gradient procedure terminates early if L2
+norm of the beta-residual is less than tolerance * its initial norm</p></li>
+<li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations. 0 = no maximum</p></li>
+<li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The model fit</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.lmDS">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lmDS</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwa [...]
+<dd><blockquote>
+<div><p>The lmDC function solves linear regression using the direct solve method</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors.</p></li>
+<li><p><strong>y</strong> – 1-column matrix of response values.</p></li>
 <li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
-<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero</p></li>
-<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate gradient procedure terminates early if L2</p></li>
-<li><p><strong>norm</strong> – beta-residual is less than tolerance * its initial norm</p></li>
+<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero
+for highly dependant/sparse/numerous features</p></li>
+<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate gradient procedure terminates early if L2
+norm of the beta-residual is less than tolerance * its initial norm</p></li>
 <li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations. 0 = no maximum</p></li>
 <li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>The model fit</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.lmPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lmPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">B</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n [...]
+<dd><blockquote>
+<div><p>The lmPredict-function predicts the class of a feature vector</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors</p></li>
+<li><p><strong>B</strong> – 1-column matrix of weights.</p></li>
+<li><p><strong>ytest</strong> – test labels, used only for verbose output. can be set to matrix(0,1,1)
+if verbose output is not wanted</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
+<li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>1-column matrix of classes</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.logSumExp">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">logSumExp</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">M</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</sp [...]
+<dd><blockquote>
+<div><p>Built-in LOGSUMEXP</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>M</strong> – matrix to perform Log sum exp on.</p></li>
+<li><p><strong>margin</strong> – if the logsumexp of rows is required set margin = “row”
+if the logsumexp of columns is required set margin = “col”
+if set to “none” then a single scalar is returned computing logsumexp of matrix</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>a 1*1 matrix, row vector or column vector depends on margin value</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.matrixProfile">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">matrixProfile</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ts</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p"> [...]
+<dd><blockquote>
+<div><p>Builtin function that computes the MatrixProfile of a time series efficiently
+using the SCRIMP++ algorithm.</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>References:
+Yan Zhu et al.. 2018.
+  Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds.
+  2018 IEEE International Conference on Data Mining (ICDM), 2018, pp. 837-846.
+  DOI: 10.1109/ICDM.2018.00099.
+  https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
+</pre></div>
+</div>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ts</strong> – Time series to profile</p></li>
+<li><p><strong>window_size</strong> – Sliding window size</p></li>
+<li><p><strong>sample_percent</strong> – Degree of approximation
+between zero and one (1
+computes the exact solution)</p></li>
+<li><p><strong>is_verbose</strong> – Print debug information</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The computed matrix profile</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Indices of least distances</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.mcc">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">mcc</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">predictions</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">labels</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink"  [...]
+<dd><blockquote>
+<div><p>Built-in function mcc: Matthews’ Correlation Coefficient for binary classification evaluation</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>predictions</strong> – Vector of predicted 0/1 values.
+(requires setting ‘labels’ parameter)</p></li>
+<li><p><strong>labels</strong> – Vector of 0/1 labels.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matthews’ Correlation Coefficient</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.mdedup">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">mdedup</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">LHSfeatures</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">LHSthreshold</span [...]
+<dd><blockquote>
+<div><p>Implements builtin for deduplication using matching dependencies (e.g. Street 0.95, City 0.90 -&gt; ZIP 1.0)
+and Jaccard distance.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input Frame X</p></li>
+<li><p><strong>LHSfeatures</strong> – A matrix 1xd with numbers of columns for MDs
+(e.g. Street 0.95, City 0.90 -&gt; ZIP 1.0)</p></li>
+<li><p><strong>LHSthreshold</strong> – A matrix 1xd with threshold values in interval [0, 1] for MDs</p></li>
+<li><p><strong>RHSfeatures</strong> – A matrix 1xd with numbers of columns for MDs</p></li>
+<li><p><strong>RHSthreshold</strong> – A matrix 1xd with threshold values in interval [0, 1] for MDs</p></li>
+<li><p><strong>verbose</strong> – To print the output</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix nx1 of duplicates</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.mice">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">mice</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">cMask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n" [...]
+<dd><blockquote>
+<div><p>This Builtin function implements multiple imputation using Chained Equations (MICE)</p>
+<p>Assumption missing value are represented with empty string i.e “,,” in CSV file  
+variables with suffix n are storing continuos/numeric data and variables with 
+suffix c are storing categorical data</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>cMask</strong> – A 0/1 row vector for identifying numeric (0) and categorical features (1)</p></li>
+<li><p><strong>iter</strong> – Number of iteration for multiple imputations</p></li>
+<li><p><strong>threshold</strong> – confidence value [0, 1] for robust imputation, values will only be imputed
+if the predicted value has probability greater than threshold,
+only applicable for categorical data</p></li>
+<li><p><strong>verbose</strong> – Boolean value.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.miceApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">miceApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">meta</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">threshold</span><spa [...]
+<dd><blockquote>
+<div><p>This Builtin function implements multiple imputation using Chained Equations (MICE)</p>
+<p>Assumption missing value are represented with empty string i.e “,,” in CSV file  
+variables with suffix n are storing continuos/numeric data and variables with 
+suffix c are storing categorical data</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix (Recoded Matrix for categorical features)</p></li>
+<li><p><strong>mtea</strong> – A meta matrix with each rows storing values 1) mask of original matrix,
+2) information of columns with missing values on  original data 0 for no missing value in column and 1 otherwise
+3) dist values in each columns in original data 1 for continuous columns and colMax for categorical</p></li>
+<li><p><strong>threshold</strong> – confidence value [0, 1] for robust imputation, values will only be imputed
+if the predicted value has probability greater than threshold,
+only applicable for categorical data</p></li>
+<li><p><strong>dM</strong> – meta frame from OHE on original data</p></li>
+<li><p><strong>betaList</strong> – List of machine learning models trained for each column imputation</p></li>
+<li><p><strong>verbose</strong> – Boolean value.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>imputed dataset</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.msvm">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">msvm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwa [...]
+<dd><blockquote>
+<div><p>Implements builtin multi-class SVM with squared slack variables, 
+learns one-against-the-rest binary-class classifiers by making a function call to l2SVM</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – matrix X of feature vectors</p></li>
+<li><p><strong>Y</strong> – matrix Y of class labels</p></li>
+<li><p><strong>intercept</strong> – No Intercept ( If set to TRUE then a constant bias column is added to X)</p></li>
+<li><p><strong>num_classes</strong> – Number of classes</p></li>
+<li><p><strong>epsilon</strong> – Procedure terminates early if the reduction in objective function
+value is less than epsilon (tolerance) times the initial objective function value.</p></li>
+<li><p><strong>reg</strong> – Regularization parameter (lambda) for L2 regularization</p></li>
+<li><p><strong>maxIterations</strong> – Maximum number of conjugate gradient iterations</p></li>
+<li><p><strong>verbose</strong> – Set to true to print while training.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>model matrix</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.msvmPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">msvmPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">W</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="# [...]
+<dd><blockquote>
+<div><p>This Scripts helps in applying an trained MSVM</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – matrix X of feature vectors to classify</p></li>
+<li><p><strong>W</strong> – matrix of the trained variables</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Classification Labels Raw, meaning not modified to clean
+Labeles of 1’s and -1’s</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Classification Labels Maxed to ones and zeros.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.multiLogReg">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogReg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class= [...]
+<dd><blockquote>
+<div><p>Solves Multinomial Logistic Regression using Trust Region method.
+(See: Trust Region Newton Method for Logistic Regression, Lin, Weng and Keerthi, JMLR 9 (2008) 627-650)
+The largest label represents the baseline category; if label -1 or 0 is present, then it is
+the baseline label (and it is converted to the largest label).</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Location to read the matrix of feature vectors</p></li>
+<li><p><strong>Y</strong> – Location to read the matrix with category labels</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling X columns: 0 = no intercept,
+no shifting, no rescaling; 1 = add intercept, but neither shift nor
+rescale X; 2 = add intercept, shift &amp; rescale X columns to mean = 0, variance = 1</p></li>
+<li><p><strong>tol</strong> – tolerance (“epsilon”)</p></li>
+<li><p><strong>reg</strong> – regularization parameter (lambda = 1/C); intercept is not regularized</p></li>
+<li><p><strong>maxi</strong> – max. number of outer (Newton) iterations</p></li>
+<li><p><strong>maxii</strong> – max. number of inner (conjugate gradient) iterations, 0 = no max</p></li>
+<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>regression betas as output for prediction</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.multiLogRegPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogRegPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">B</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span  [...]
+<dd><blockquote>
+<div><p>THIS SCRIPT APPLIES THE ESTIMATED PARAMETERS OF MULTINOMIAL LOGISTIC REGRESSION TO A NEW (TEST) DATASET
+Matrix M of predicted means/probabilities, some statistics in CSV format (see below)</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Data Matrix X</p></li>
+<li><p><strong>B</strong> – Regression parameters betas</p></li>
+<li><p><strong>Y</strong> – Response vector Y</p></li>
+<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix M of predicted means/probabilities</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Predicted response vector</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>scalar value of accuracy</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.na_locf">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">na_locf</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span [...]
+<dd><blockquote>
+<div><p>Builtin function for imputing missing values using forward fill and backward fill techniques</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
+<li><p><strong>option</strong> – String “locf” (last observation moved forward) to do forward fill
+“nocb” (next observation carried backward) to do backward fill</p></li>
+<li><p><strong>verbose</strong> – to print output on screen</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix with no missing values</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.naiveBayes">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">naiveBayes</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">D</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class=" [...]
+<dd><blockquote>
+<div><p>The naiveBayes-function computes the class conditional probabilities and class priors.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>D</strong> – One dimensional column matrix with N rows.</p></li>
+<li><p><strong>C</strong> – One dimensional column matrix with N rows.</p></li>
+<li><p><strong>laplace</strong> – Any Double value.</p></li>
+<li><p><strong>verbose</strong> – Boolean value.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Class priors, One dimensional column matrix with N rows.</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Class conditional probabilities, One dimensional column matrix with N rows.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.naiveBayesPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">naiveBayesPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">P</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span c [...]
+<dd><blockquote>
+<div><p>The naiveBaysePredict-function predicts the scoring with a naive Bayes model.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of test data with N rows.</p></li>
+<li><p><strong>P</strong> – Class priors, One dimensional column matrix with N rows.</p></li>
+<li><p><strong>C</strong> – Class conditional probabilities, matrix with N rows</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>A matrix containing the top-K item-ids with highest predicted ratings.</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>A matrix containing predicted ratings.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.normalize">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">normalize</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.normalize" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>Min-max normalization (a.k.a. min-max scaling) to range [0,1]. For matrices 
+of positive values, this normalization preserves the input sparsity.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><p><strong>X</strong> – Input feature matrix of shape n-by-m</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Modified output feature matrix of shape n-by-m</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Column minima of shape 1-by-m</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Column maxima of shape 1-by-m</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.normalizeApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">normalizeApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">cmin</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">cmax</span><spa [...]
+<dd><blockquote>
+<div><p>Min-max normalization (a.k.a. min-max scaling) to range [0,1], given 
+existing min-max ranges. For matrices of positive values, this normalization 
+preserves the input sparsity. The validity of the provided min-max range
+and post-processing is under control of the caller.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input feature matrix of shape n-by-m</p></li>
+<li><p><strong>cmin</strong> – Colunm minima of shape 1-by-m</p></li>
+<li><p><strong>cmax</strong> – Column maxima of shape 1-by-m</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Modified output feature matrix of shape n-by-m</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.outlier">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlier</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">opposite</span><span class="p">:</span> <span class="n">bool</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.ou [...]
+<dd><blockquote>
+<div><p>This outlier-function takes a matrix data set as input from where it determines
+which point(s) have the largest difference from mean.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of Recoded dataset for outlier evaluation</p></li>
+<li><p><strong>opposite</strong> – (1)TRUE for evaluating outlier from upper quartile range,
+(0)FALSE for evaluating outlier from lower quartile range</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>matrix indicating outlier values</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.outlierByArima">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierByArima</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p"> [...]
+<dd><blockquote>
+<div><p>Built-in function for detecting and repairing outliers in time series, by training an ARIMA model
+and classifying values that are more than k standard-deviations away from the predicated values as outliers.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
+<li><p><strong>k</strong> – threshold values 1, 2, 3 for 68%, 95%, 99.7% respectively (3-sigma rule)</p></li>
+<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers, 1 = replace outliers as zeros
+2 = replace outliers as missing values</p></li>
+<li><p><strong>p</strong> – non-seasonal AR order</p></li>
+<li><p><strong>d</strong> – non-seasonal differencing order</p></li>
+<li><p><strong>q</strong> – non-seasonal MA order</p></li>
+<li><p><strong>P</strong> – seasonal AR order</p></li>
+<li><p><strong>D</strong> – seasonal differencing order</p></li>
+<li><p><strong>Q</strong> – seasonal MA order</p></li>
+<li><p><strong>s</strong> – period in terms of number of time-steps</p></li>
+<li><p><strong>include_mean</strong> – If the mean should be included</p></li>
+<li><p><strong>solver</strong> – solver, is either “cg” or “jacobi”</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix X with no outliers</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.outlierByIQR">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierByIQR</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">k</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">max_iterations</span><span class="p">:</span> <span  [...]
+<dd><blockquote>
+<div><p>Builtin function for detecting and repairing outliers using standard deviation</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
+<li><p><strong>k</strong> – a constant used to discern outliers k*IQR</p></li>
+<li><p><strong>isIterative</strong> – iterative repair or single repair</p></li>
+<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers,
+1 = replace outliers with zeros
+2 = replace outliers as missing values</p></li>
+<li><p><strong>max_iterations</strong> – values: 0 = arbitrary number of iteraition until all outliers are removed,
+n = any constant defined by user</p></li>
+<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix X with no outliers</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.outlierByIQRApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierByIQRApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Q1</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Q3</span><span [...]
+<dd><blockquote>
+<div><p>Builtin function for repairing outliers by IQR</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
+<li><p><strong>Q1</strong> – first quartile</p></li>
+<li><p><strong>Q3</strong> – third quartile</p></li>
+<li><p><strong>IQR</strong> – Inter-quartile range</p></li>
+<li><p><strong>k</strong> – a constant used to discern outliers k*IQR</p></li>
+<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers,
+1 = replace outliers with zeros
+2 = replace outliers as missing values</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix X with no outliers</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.outlierBySd">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierBySd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">max_iterations</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><spa [...]
+<dd><blockquote>
+<div><p>Builtin function for detecting and repairing outliers using standard deviation</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
+<li><p><strong>k</strong> – threshold values 1, 2, 3 for 68%, 95%, 99.7% respectively (3-sigma rule)</p></li>
+<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers, 1 = replace outliers as  zeros
+2 = replace outliers as missing values</p></li>
+<li><p><strong>max_iterations</strong> – values: 0 = arbitrary number of iteration until all outliers are removed,
+n = any constant defined by user</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix X with no outliers</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.outlierBySdApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierBySdApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">colMean</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">colSD</spa [...]
+<dd><blockquote>
+<div><p>Builtin function for detecting and repairing outliers using standard deviation</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix X</p></li>
+<li><p><strong>colMean</strong> – Matrix X</p></li>
+<li><p><strong>k</strong> – a constant used to discern outliers k*IQR</p></li>
+<li><p><strong>isIterative</strong> – iterative repair or single repair</p></li>
+<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers,
+1 = replace outliers with zeros
+2 = replace outliers as missing values</p></li>
+<li><p><strong>max_iterations</strong> – values: 0 = arbitrary number of iteraition until all outliers are removed,
+n = any constant defined by user</p></li>
+<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix X with no outliers</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.pca">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAG [...]
+<dd><blockquote>
+<div><p>The function Principal Component Analysis (PCA) is used for dimensionality reduction</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>K</strong> – Number of reduced dimensions (i.e., columns)</p></li>
+<li><p><strong>Center</strong> – Indicates whether or not to center the feature matrix</p></li>
+<li><p><strong>Scale</strong> – Indicates whether or not to scale the feature matrix</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Output feature matrix with K columns</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Output dominant eigen vectors (can be used for projections)</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The column means of the input, subtracted to construct the PCA</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>The Scaling of the values, to make each dimension same size.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.pcaInverse">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pcaInverse</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Clusters</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Centering</span [...]
+<dd><blockquote>
+<div><p>Principal Component Analysis (PCA) for reconstruction of approximation of the original data.
+This methods allows to reconstruct an approximation of the original matrix, and is useful for
+calculating how much information is lost in the PCA.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>Y</strong> – Input features that have PCA applied to them</p></li>
+<li><p><strong>Clusters</strong> – The previous PCA components computed</p></li>
+<li><p><strong>Centering</strong> – The column means of the PCA model, subtracted to construct the PCA</p></li>
+<li><p><strong>ScaleFactor</strong> – The scaling of each dimension in the PCA model</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Output feature matrix reconstructing and approximation of the original matrix</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.pcaTransform">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pcaTransform</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Clusters</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Centering</sp [...]
+<dd><blockquote>
+<div><p>Principal Component Analysis (PCA) for dimensionality reduction prediction
+This method is used to transpose data, which the PCA model was not trained on. To validate how good
+The PCA is, and to apply in production.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>Clusters</strong> – The previously computed principal components</p></li>
+<li><p><strong>Centering</strong> – The column means of the PCA model, subtracted to construct the PCA</p></li>
+<li><p><strong>ScaleFactor</strong> – The scaling of each dimension in the PCA model</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Output feature matrix dimensionally reduced by PCA</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.pnmf">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pnmf</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">rnk</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</spa [...]
+<dd><blockquote>
+<div><p>The pnmf-function implements Poisson Non-negative Matrix Factorization (PNMF). Matrix X is factorized into two
+non-negative matrices, W and H based on Poisson probabilistic assumption. This non-negativity makes the resulting
+matrices easier to inspect.</p>
+<p>[Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, Yi-Min Wang:
+Distributed nonnegative matrix factorization for web-scale dyadic 
+data analysis on mapreduce. WWW 2010: 681-690]</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors.</p></li>
+<li><p><strong>rnk</strong> – Number of components into which matrix X is to be factored.</p></li>
+<li><p><strong>eps</strong> – Tolerance</p></li>
+<li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations.</p></li>
+<li><p><strong>verbose</strong> – If TRUE, ‘iter’ and ‘obj’ are printed.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>List of pattern matrices, one for each repetition.</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>List of amplitude matrices, one for each repetition.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.ppca">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">ppca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DA [...]
+<dd><blockquote>
+<div><p>This script performs Probabilistic Principal Component Analysis (PCA) on the given input data.
+It is based on paper: sPCA: Scalable Principal Component Analysis for Big Data on Distributed
+Platforms. Tarek Elgamal et.al.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – n x m input feature matrix</p></li>
+<li><p><strong>k</strong> – indicates dimension of the new vector space constructed from eigen vectors</p></li>
+<li><p><strong>maxi</strong> – maximum number of iterations until convergence</p></li>
+<li><p><strong>tolobj</strong> – objective function tolerance value to stop ppca algorithm</p></li>
+<li><p><strong>tolrecerr</strong> – reconstruction error tolerance value to stop the algorithm</p></li>
+<li><p><strong>verbose</strong> – verbose debug output</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Output feature matrix with K columns</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Output dominant eigen vectors (can be used for projections)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.randomForest">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">randomForest</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">R</span><span class= [...]
+<dd><blockquote>
+<div><p>This script implement classification random forest with both scale and categorical features.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Feature matrix X; note that X needs to be both recoded and dummy coded</p></li>
+<li><p><strong>Y</strong> – Label matrix Y; note that Y needs to be both recoded and dummy coded</p></li>
+<li><p><strong>R</strong> – Matrix which for each feature in X contains the following information
+- R[,1]: column ids       TODO pass recorded and binned
+- R[,2]: start indices
+- R[,3]: end indices
+If R is not provided by default all variables are assumed to be scale</p></li>
+<li><p><strong>bins</strong> – Number of equiheight bins per scale feature to choose thresholds</p></li>
+<li><p><strong>depth</strong> – Maximum depth of the learned tree</p></li>
+<li><p><strong>num_leaf</strong> – Number of samples when splitting stops and a leaf node is added</p></li>
+<li><p><strong>num_samples</strong> – Number of samples at which point we switch to in-memory subtree building</p></li>
+<li><p><strong>num_trees</strong> – Number of trees to be learned in the random forest model</p></li>
+<li><p><strong>subsamp_rate</strong> – Parameter controlling the size of each tree in the forest; samples are selected from a
+Poisson distribution with parameter subsamp_rate (the default value is 1.0)</p></li>
+<li><p><strong>feature_subset</strong> – Parameter that controls the number of feature used as candidates for splitting at each tree node
+as a power of number of features in the dataset;
+by default square root of features (i.e., feature_subset = 0.5) are used at each tree node</p></li>
+<li><p><strong>impurity</strong> – Impurity measure: entropy or Gini (the default)</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Matrix M containing the learned tree, where each column corresponds to a node
+in the learned tree and each row contains the following information:
+M[1,j]: id of node j (in a complete binary tree)
+M[2,j]: tree id to which node j belongs
+M[3,j]: Offset (no. of columns) to left child of j
+M[4,j]: Feature index of the feature that node j looks at if j is an internal node, otherwise 0
+M[5,j]: Type of the feature that node j looks at if j is an internal node: 1 for scale and 2
+for categorical features,
+otherwise the label that leaf node j is supposed to predict
+M[6,j]: 1 if j is an internal node and the feature chosen for j is scale, otherwise the
+size of the subset of values
+stored in rows 7,8,… if j is categorical
+M[7:,j]: Only applicable for internal nodes. Threshold the example’s feature value is
+compared to is stored at M[7,j] if the feature chosen for j is scale;
+If the feature chosen for j is categorical rows 7,8,… depict the value subset chosen for j</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix C containing the number of times samples are chosen in each tree of the random forest</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Mappings from scale feature ids to global feature ids</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Mappings from categorical feature ids to global feature ids</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt id="systemds.operator.algorithm.scale">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">scale</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>D [...]
+<dd><blockquote>
+<div><p>This function scales and center individual features in the input matrix (column wise.) using z-score to scale the values.</p>
+</div></blockquote>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>center</strong> – Indicates whether or not to center the feature matrix</p></li>
+<li><p><strong>scale</strong> – Indicates whether or not to scale the feature matrix</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Output feature matrix with K columns</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>The column means of the input, subtracted if Center was TRUE</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>The Scaling of the values, to make each dimension have similar value ranges</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.lmCG">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lmCG</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.scaleApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">scaleApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Centering</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">ScaleFactor</s [...]
+<dd><blockquote>
+<div><p>This function scales and center individual features in the input matrix (column wise.) using the input matrices.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
-<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero</p></li>
-<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate gradient procedure terminates early if L2</p></li>
-<li><p><strong>norm</strong> – beta-residual is less than tolerance * its initial norm</p></li>
-<li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations. 0 = no maximum</p></li>
-<li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>Centering</strong> – The column means to subtract from X (not done if empty)</p></li>
+<li><p><strong>ScaleFactor</strong> – The column scaling to multiply with X (not done if empty)</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output feature matrix with K columns</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.lmDS">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">lmDS</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.scaleMinMax">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">scaleMinMax</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.scaleMinMax" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>This function performs min-max normalization (rescaling to [0,1]).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X</p></li>
-<li><p><strong>reg</strong> – Regularization constant (lambda) for L2-regularization. set to nonzero</p></li>
-<li><p><strong>tol</strong> – Tolerance (epsilon); conjugate gradient procedure terminates early if L2</p></li>
-<li><p><strong>norm</strong> – beta-residual is less than tolerance * its initial norm</p></li>
-<li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations. 0 = no maximum</p></li>
-<li><p><strong>verbose</strong> – If TRUE print messages are activated</p></li>
-</ul>
+<dd class="field-odd"><p><strong>X</strong> – Input feature matrix</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Scaled output matrix</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.logSumExp">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">logSumExp</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">M</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</sp [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.selectByVarThresh">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">selectByVarThresh</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class=" [...]
+<dd><blockquote>
+<div><p>This function drops feature with &lt;= thresh variance (by default drop constants).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>margin</strong> – if the logsumexp of rows is required set margin = “row”</p></li>
-<li><p><strong>if</strong> – of columns is required set margin = “col”</p></li>
-<li><p><strong>if</strong> – “none” then a single scalar is returned computing logsumexp of matrix</p></li>
+<li><p><strong>X</strong> – Matrix of feature vectors.</p></li>
+<li><p><strong>thresh</strong> – The threshold for to drop</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix of feature vectors with &lt;= thresh variance.</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.matrixProfile">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">matrixProfile</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ts</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p"> [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.setdiff">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">setdiff</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#syst [...]
+<dd><blockquote>
+<div><p>Builtin function that implements difference operation on vectors</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>window_size</strong> – Sliding window size</p></li>
-<li><p><strong>sample_percent</strong> – Degree of approximation</p></li>
-<li><p><strong>between</strong> – one (1</p></li>
-<li><p><strong>computes</strong> – solution)</p></li>
-<li><p><strong>is_verbose</strong> – Print debug information</p></li>
+<li><p><strong>X</strong> – input vector</p></li>
+<li><p><strong>Y</strong> – input vector</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>vector with all elements that are present in X but not in Y</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.miceApply">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">miceApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">meta</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">threshold</span><spa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.sherlock">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">sherlock</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y_train</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink [...]
+<dd><blockquote>
+<div><p>This function implements training phase of Sherlock: A Deep Learning Approach to Semantic Data Type Detection</p>
+<p>[Hulsebos, Madelon, et al. “Sherlock: A deep learning approach to semantic data type detection.”
+Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining.
+2019.]</p>
+<p>Split feature matrix into four different feature categories and train neural networks on the
+respective single features. Then combine all trained features to train final neural network.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>threshold</strong> – confidence value [0, 1] for robust imputation, values will only be imputed</p></li>
-<li><p><strong>if</strong> – value has probability greater than threshold,</p></li>
-<li><p><strong>only</strong> – categorical data</p></li>
-<li><p><strong>verbose</strong> – Boolean value.</p></li>
+<li><p><strong>X_train</strong> – matrix of feature vectors</p></li>
+<li><p><strong>y_train</strong> – matrix Y of class labels of semantic data type</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing are represented with empty string i.e “,,” in csv file   &amp; n are storing continuos/numeric data and variables with  &amp; storing categorical data</p>
+<dd class="field-even"><p>weights (parameters) matrices for character distributions</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>biases vectors for character distributions</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>weights (parameters) matrices for word embeddings</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>biases vectors for word embeddings</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>weights (parameters) matrices for paragraph vectors</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>biases vectors for paragraph vectors</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>weights (parameters) matrices for global statistics</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>biases vectors for global statistics</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>weights (parameters) matrices for  combining all trained features (final)</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>biases vectors for combining all trained features (final)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.msvm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">msvm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.sherlockPredict">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">sherlockPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">cW1</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">cb1</span><span [...]
+<dd><blockquote>
+<div><p>This function implements prediction and evaluation phase of Sherlock:
+Split feature matrix into four different feature categories and predicting the class probability
+on the respective features. Then combine all predictions for final predicted probabilities.
+A Deep Learning Approach to Semantic Data Type Detection.
+[Hulsebos, Madelon, et al. “Sherlock: A deep learning approach to semantic data type detection.”
+Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining.
+2019.]</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>intercept</strong> – No Intercept ( If set to TRUE then a constant bias column is added to X)</p></li>
-<li><p><strong>num_classes</strong> – Number of classes</p></li>
-<li><p><strong>epsilon</strong> – Procedure terminates early if the reduction in objective function</p></li>
-<li><p><strong>value</strong> – than epsilon (tolerance) times the initial objective function value.</p></li>
-<li><p><strong>lambda</strong> – Regularization parameter (lambda) for L2 regularization</p></li>
-<li><p><strong>maxIterations</strong> – Maximum number of conjugate gradient iterations</p></li>
-<li><p><strong>verbose</strong> – Set to true to print while training.</p></li>
+<li><p><strong>X</strong> – matrix of values which are to be classified</p></li>
+<li><p><strong>cW</strong> – weights (parameters) matrices for character distribtions</p></li>
+<li><p><strong>cb</strong> – biases vectors for character distribtions</p></li>
+<li><p><strong>wW</strong> – weights (parameters) matrices for word embeddings</p></li>
+<li><p><strong>wb</strong> – biases vectors for word embeddings</p></li>
+<li><p><strong>pW</strong> – weights (parameters) matrices for paragraph vectors</p></li>
+<li><p><strong>pb</strong> – biases vectors for paragraph vectors</p></li>
+<li><p><strong>sW</strong> – weights (parameters) matrices for global statistics</p></li>
+<li><p><strong>sb</strong> – biases vectors for global statistics</p></li>
+<li><p><strong>fW</strong> – weights (parameters) matrices for  combining all trained features (final)</p></li>
+<li><p><strong>fb</strong> – biases vectors for combining all trained features (final)</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>class probabilities of shape (N, K)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.multiLogReg">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogReg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class= [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.shortestPath">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">shortestPath</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">G</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">sourceNode</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span c [...]
+<dd><blockquote>
+<div><p>Computes the minimum distances (shortest-path) between a single source vertex and every other vertex in the graph.</p>
+<p>Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bilk, 
+James C. Dehnert, Ikkan Horn, Naty Leiser and Grzegorz Czajkowski:
+Pregel: A System for Large-Scale Graph Processing, SIGMOD 2010</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling X columns: 0 = no intercept,</p></li>
-<li><p><strong>tol</strong> – tolerance (“epsilon”)</p></li>
-<li><p><strong>reg</strong> – regularization parameter (lambda = 1/C); intercept is not regularized</p></li>
-<li><p><strong>maxi</strong> – max. number of outer (Newton) iterations</p></li>
-<li><p><strong>maxii</strong> – max. number of inner (conjugate gradient) iterations, 0 = no max</p></li>
-<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
+<li><p><strong>G</strong> – adjacency matrix of the labeled graph: Such graph can be directed
+(G is symmetric) or undirected (G is not symmetric).
+The values of G can be 0/1 (just specifying whether the nodes
+are connected or not) or integer values (representing the weight
+of the edges or the distances between nodes, 0 if not connected).</p></li>
+<li><p><strong>maxi</strong> – Integer max number of iterations accepted (0 for FALSE, i.e.
+max number of iterations not defined)</p></li>
+<li><p><strong>sourceNode</strong> – node index to calculate the shortest paths to all other nodes.</p></li>
+<li><p><strong>verbose</strong> – flag for verbose debug output</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output matrix (double) of minimum distances (shortest-path) between
+vertices: The value of the ith row and the jth column of the output
+matrix is the minimum distance shortest-path from vertex i to vertex j.
+When the value of the minimum distance is infinity, the two nodes are
+not connected.</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.multiLogRegPredict">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">multiLogRegPredict</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">B</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span  [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.sigmoid">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">sigmoid</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.sigmoid" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>The Sigmoid function is a type of activation function, and also defined as a squashing function which limit the
+output to a range between 0 and 1, which will make these functions useful in the prediction of probabilities.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>verbose</strong> – flag specifying if logging information should be printed</p>
+<dd class="field-odd"><p><strong>X</strong> – Matrix of feature vectors.</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing value of accuracy</p>
+<dd class="field-even"><p>1-column matrix of weights.</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.na_locf">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">na_locf</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.slicefinder">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">slicefinder</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">e</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class= [...]
+<dd><blockquote>
+<div><p>This builtin function implements SliceLine, a linear-algebra-based
+ML model debugging technique for finding the top-k data slices where
+a trained models performs significantly worse than on the overall 
+dataset. For a detailed description and experimental results, see:
+Svetlana Sagadeeva, Matthias Boehm: SliceLine: Fast, Linear-Algebra-based Slice Finding for ML Model Debugging.(SIGMOD 2021)</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>option</strong> – String “locf” (last observation moved forward) to do forward fill</p></li>
-<li><p><strong>verbose</strong> – to print output on screen</p></li>
+<li><p><strong>X</strong> – Recoded dataset into Matrix</p></li>
+<li><p><strong>e</strong> – Trained model</p></li>
+<li><p><strong>k</strong> – Number of subsets required</p></li>
+<li><p><strong>maxL</strong> – maximum level L (conjunctions of L predicates), 0 unlimited</p></li>
+<li><p><strong>minSup</strong> – minimum support (min number of rows per slice)</p></li>
+<li><p><strong>alpha</strong> – weight [0,1]: 0 only size, 1 only error</p></li>
+<li><p><strong>tpEval</strong> – flag for task-parallel slice evaluation,
+otherwise data-parallel</p></li>
+<li><p><strong>tpBlksz</strong> – block size for task-parallel execution (num slices)</p></li>
+<li><p><strong>selFeat</strong> – flag for removing one-hot-encoded features that don’t satisfy
+the initial minimum-support constraint and/or have zero error</p></li>
+<li><p><strong>verbose</strong> – flag for verbose debug output</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>top-k slices (k x ncol(X) if successful)</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>score, size, error of slices (k x 3)</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>debug matrix, populated with enumeration stats if verbose</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.naiveBayes">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">naiveBayes</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">D</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">C</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class=" [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.smote">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">smote</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n" [...]
+<dd><blockquote>
+<div><p>Builtin function for handing class imbalance using Synthetic Minority Over-sampling Technique (SMOTE)
+by Nitesh V. Chawla et. al. In Journal of Artificial Intelligence Research 16 (2002). 321–357</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>Laplace</strong> – Any Double value.</p></li>
-<li><p><strong>Verbose</strong> – Boolean value.</p></li>
+<li><p><strong>X</strong> – Matrix of minority class samples</p></li>
+<li><p><strong>mask</strong> – 0/1 mask vector where 0 represent numeric value and 1 represent categorical value</p></li>
+<li><p><strong>s</strong> – Amount of SMOTE (percentage of oversampling), integral multiple of 100</p></li>
+<li><p><strong>k</strong> – Number of nearest neighbor</p></li>
+<li><p><strong>verbose</strong> – if the algorithm should be verbose</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix of (N/100)-1 * nrow(X) synthetic minority class samples</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.outlier">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlier</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">opposite</span><span class="p">:</span> <span class="n">bool</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.ou [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.softmax">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">softmax</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">S</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.softmax" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>Performs softmax on the given input matrix.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>opposite</strong> – (1)TRUE for evaluating outlier from upper quartile range,</p>
+<dd class="field-odd"><p><strong>S</strong> – Inputs of shape (N, D).</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Outputs of shape (N, D).</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.outlierByArima">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierByArima</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p"> [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.split">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">split</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kw [...]
+<dd><blockquote>
+<div><p>This function split input data X and Y into contiguous or samples train/test sets</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers, 1 = replace outliers as zeros</p></li>
-<li><p><strong>p</strong> – non-seasonal AR order</p></li>
-<li><p><strong>d</strong> – non-seasonal differencing order</p></li>
-<li><p><strong>q</strong> – non-seasonal MA order</p></li>
-<li><p><strong>P</strong> – seasonal AR order</p></li>
-<li><p><strong>D</strong> – seasonal differencing order</p></li>
-<li><p><strong>Q</strong> – seasonal MA order</p></li>
-<li><p><strong>s</strong> – period in terms of number of time-steps</p></li>
-<li><p><strong>solver</strong> – solver, is either “cg” or “jacobi”</p></li>
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>Y</strong> – Input Labels</p></li>
+<li><p><strong>f</strong> – Train set fraction [0,1]</p></li>
+<li><p><strong>cont</strong> – contiguous splits, otherwise sampled</p></li>
+<li><p><strong>seed</strong> – The seed to randomly select rows in sampled mode</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Train split of feature matrix</p>
 </dd>
-</dl>
-</dd></dl>
-
-<dl class="py function">
-<dt id="systemds.operator.algorithm.outlierByIQR">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierByIQR</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">k</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">max_iterations</span><span class="p">:</span> <span  [...]
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>k</strong> – a constant used to discern outliers k*IQR</p></li>
-<li><p><strong>isIterative</strong> – iterative repair or single repair</p></li>
-<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers,</p></li>
-<li><p><strong>max_iterations</strong> – values: 0 = arbitrary number of iteraition until all outliers are removed,</p></li>
-<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
-</ul>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Test split of feature matrix</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing meaning &amp; matrix x with no outliers</p>
+<dd class="field-even"><p>Train split of label matrix</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Test split of label matrix</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.outlierByIQRApply">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierByIQRApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Q1</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Q3</span><span [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.splitBalanced">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">splitBalanced</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span clas [...]
+<dd><blockquote>
+<div><p>This functions split input data X and Y into contiguous balanced ratio
+Related to [SYSTEMDS-2902] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>k</strong> – a constant used to discern outliers k*IQR</p></li>
-<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers,</p></li>
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>Y</strong> – Input Labels</p></li>
+<li><p><strong>f</strong> – Train set fraction [0,1]</p></li>
+<li><p><strong>verbose</strong> – print available</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing meaning &amp; matrix x with no outliers</p>
+<dd class="field-even"><p>Train split of feature matrix</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Test split of feature matrix</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Train split of label matrix</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Test split of label matrix</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.outlierBySd">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierBySd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">max_iterations</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><spa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.stableMarriage">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">stableMarriage</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">P</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">A</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span cla [...]
+<dd><blockquote>
+<div><p>This script computes a solution for the stable marriage problem.</p>
+<p>result description:</p>
+<p>If cell [i,j] is non-zero, it means that acceptor i has matched with
+proposer j. Further, if cell [i,j] is non-zero, it holds the preference
+value that led to the match.
+Proposers.mtx:
+2.0,1.0,3.0
+1.0,2.0,3.0
+1.0,3.0,2.0</p>
+<p>Since ordered=TRUE, this means that proposer 1 (row 1) likes acceptor 2
+the most, followed by acceptor 1 and acceptor 3.
+If ordered=FALSE, this would mean that proposer 1 (row 1) likes acceptor 3
+the most (since the value at [1,3] is the row max),
+followed by acceptor 1 (2.0 preference value) and acceptor 2 (1.0 preference value).</p>
+<p>Acceptors.mtx:
+3.0,1.0,2.0
+2.0,1.0,3.0
+3.0,2.0,1.0</p>
+<p>Since ordered=TRUE, this means that acceptor 1 (row 1) likes proposer 3
+the most, followed by proposer 1 and proposer 2.
+If ordered=FALSE, this would mean that acceptor 1 (row 1) likes proposer 1
+the most (since the value at [1,1] is the row max),
+followed by proposer 3 (2.0 preference value) and proposer 2
+(1.0 preference value).</p>
+<p>Output.mtx (assuming ordered=TRUE):
+0.0,0.0,3.0
+0.0,3.0,0.0
+1.0,0.0,0.0</p>
+<p>Acceptor 1 has matched with proposer 3 (since [1,3] is non-zero) at a
+preference level of 3.0.
+Acceptor 2 has matched with proposer 2 (since [2,2] is non-zero) at a
+preference level of 3.0.
+Acceptor 3 has matched with proposer 1 (since [3,1] is non-zero) at a
+preference level of 1.0.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>k</strong> – threshold values 1, 2, 3 for 68%, 95%, 99.7% respectively (3-sigma rule)</p></li>
-<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers, 1 = replace outliers as  zeros</p></li>
-<li><p><strong>max_iterations</strong> – values: 0 = arbitrary number of iteration until all outliers are removed,</p></li>
+<li><p><strong>P</strong> – proposer matrix P.
+It must be a square matrix with no zeros.</p></li>
+<li><p><strong>A</strong> – acceptor matrix A.
+It must be a square matrix with no zeros.</p></li>
+<li><p><strong>ordered</strong> – If true, P and A are assumed to be ordered,
+i.e. the leftmost value in a row is the most preferred partner’s index.
+i.e. the leftmost value in a row in P is the preference value for the acceptor with
+index 1 and vice-versa (higher is better).</p></li>
+<li><p><strong>verbose</strong> – if the algorithm should print verbosely</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Result Matrix</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.outlierBySdApply">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">outlierBySdApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">colMean</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">colSD</spa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.statsNA">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">statsNA</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span [...]
+<dd><blockquote>
+<div><p>The statsNA-function Print summary stats about the distribution of missing values in a univariate time series.</p>
+<dl class="simple">
+<dt>result matrix contains the following:</dt><dd><ol class="arabic simple">
+<li><p>Length of time series (including NAs)</p></li>
+<li><p>Number of Missing Values (NAs)</p></li>
+<li><p>Percentage of Missing Values (#2/#1)</p></li>
+<li><p>Number of Gaps (consisting of one or more consecutive NAs)</p></li>
+<li><p>Average Gap Size - Average size of consecutive NAs for the NA gaps</p></li>
+<li><p>Longest NA gap - Longest series of consecutive missing values</p></li>
+<li><p>Most frequent gap size - Most frequently occurring gap size</p></li>
+<li><p>Gap size accounting for most NAs</p></li>
+</ol>
+</dd>
+</dl>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>k</strong> – a constant used to discern outliers k*IQR</p></li>
-<li><p><strong>isIterative</strong> – iterative repair or single repair</p></li>
-<li><p><strong>repairMethod</strong> – values: 0 = delete rows having outliers,</p></li>
-<li><p><strong>max_iterations</strong> – values: 0 = arbitrary number of iteraition until all outliers are removed,</p></li>
-<li><p><strong>verbose</strong> – flag specifying if logging information should be printed</p></li>
+<li><p><strong>X</strong> – Numeric Vector (‘vector’) object containing NAs</p></li>
+<li><p><strong>bins</strong> – Split number for bin stats. Number of bins the time series gets
+divided into. For each bin information about amount/percentage of
+missing values is printed.</p></li>
+<li><p><strong>verbose</strong> – Print detailed information.
+For print_only = TRUE, the missing value stats are printed with
+more information (“Stats for Bins” and “overview NA series”).</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing meaning &amp; matrix x with no outliers</p>
+<dd class="field-even"><p>Column vector where each row correspond to described values</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.pca">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DAG [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.steplm">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">steplm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">k [...]
+<dd><blockquote>
+<div><p>The steplm-function (stepwise linear regression) implements a classical forward feature selection method.
+This method iteratively runs what-if scenarios and greedily selects the next best feature
+until the Akaike information criterion (AIC) does not improve anymore. Each configuration trains a regression model
+via lm, which in turn calls either the closed form lmDS or iterative lmGC.</p>
+<div class="highlight-txt notranslate"><div class="highlight"><pre><span></span>return: Matrix of regression parameters (the betas) and its size depend on icpt input value:
+        OUTPUT SIZE:   OUTPUT CONTENTS:                HOW TO PREDICT Y FROM X AND B:
+icpt=0: ncol(X)   x 1  Betas for X only                Y ~ X %*% B[1:ncol(X), 1], or just X %*% B
+icpt=1: ncol(X)+1 x 1  Betas for X and intercept       Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
+icpt=2: ncol(X)+1 x 2  Col.1: betas for X &amp; intercept  Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
+                       Col.2: betas for shifted/rescaled X and intercept
+</pre></div>
+</div>
+<p>In addition, in the last run of linear regression some statistics are provided in CSV format, one comma-separated
+name-value pair per each line, as follows:</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>K</strong> – Number of reduced dimensions (i.e., columns)</p></li>
-<li><p><strong>Center</strong> – Indicates whether or not to center the feature matrix</p></li>
-<li><p><strong>Scale</strong> – Indicates whether or not to scale the feature matrix</p></li>
+<li><p><strong>X</strong> – Location (on HDFS) to read the matrix X of feature vectors</p></li>
+<li><p><strong>Y</strong> – Location (on HDFS) to read the 1-column matrix Y of response values</p></li>
+<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X:
+0 = no intercept, no shifting, no rescaling;
+1 = add intercept, but neither shift nor rescale X;
+2 = add intercept, shift &amp; rescale X columns to mean = 0, variance = 1</p></li>
+<li><p><strong>reg</strong> – learning rate</p></li>
+<li><p><strong>tol</strong> – Tolerance threshold to train until achieved</p></li>
+<li><p><strong>maxi</strong> – maximum iterations 0 means until tolerance is reached</p></li>
+<li><p><strong>verbose</strong> – If the algorithm should be verbose</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix of regression parameters (the betas) and its size depend on icpt input value.</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Matrix of selected features ordered as computed by the algorithm.</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.pnmf">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">pnmf</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">rnk</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</spa [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.stratstats">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">stratstats</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</s [...]
+<dd><blockquote>
+<div><p>The stratstats.dml script computes common bivariate statistics, such as correlation, slope, and their p-value,
+in parallel for many pairs of input variables in the presence of a confounding categorical variable.</p>
+<p>Output contains:
+(1st covariante, 2nd covariante)
+40 columns containing the following information:
+Col 01: 1st covariate X-column number
+Col 02: 1st covariate global presence count
+Col 03: 1st covariate global mean
+Col 04: 1st covariate global standard deviation
+Col 05: 1st covariate stratified standard deviation
+Col 06: R-squared, 1st covariate vs. strata
+Col 07: adjusted R-squared, 1st covariate vs. strata
+Col 08: P-value, 1st covariate vs. strata
+Col 09-10: Reserved
+Col 11: 2nd covariate Y-column number
+Col 12: 2nd covariate global presence count
+Col 13: 2nd covariate global mean
+Col 14: 2nd covariate global standard deviation
+Col 15: 2nd covariate stratified standard deviation
+Col 16: R-squared, 2nd covariate vs. strata
+Col 17: adjusted R-squared, 2nd covariate vs. strata
+Col 18: P-value, 2nd covariate vs. strata
+Col 19-20: Reserved
+Col 21: Global 1st &amp; 2nd covariate presence count
+Col 22: Global regression slope (2nd vs. 1st covariate)
+Col 23: Global regression slope standard deviation
+Col 24: Global correlation = +/- sqrt(R-squared)
+Col 25: Global residual standard deviation
+Col 26: Global R-squared
+Col 27: Global adjusted R-squared
+Col 28: Global P-value for hypothesis “slope = 0”
+Col 29-30: Reserved
+Col 31: Stratified 1st &amp; 2nd covariate presence count
+Col 32: Stratified regression slope (2nd vs. 1st covariate)
+Col 33: Stratified regression slope standard deviation
+Col 34: Stratified correlation = +/- sqrt(R-squared)
+Col 35: Stratified residual standard deviation
+Col 36: Stratified R-squared
+Col 37: Stratified adjusted R-squared
+Col 38: Stratified P-value for hypothesis “slope = 0”
+Col 39: Number of strata with at least two counted points
+Col 40: Reserved</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>rnk</strong> – Number of components into which matrix X is to be factored.</p></li>
-<li><p><strong>maxi</strong> – Maximum number of conjugate gradient iterations.</p></li>
-<li><p><strong>verbose</strong> – If TRUE, ‘iter’ and ‘obj’ are printed.</p></li>
+<li><p><strong>X</strong> – Matrix X that has all 1-st covariates</p></li>
+<li><p><strong>Y</strong> – Matrix Y that has all 2-nd covariates
+the default value empty means “use X in place of Y”</p></li>
+<li><p><strong>S</strong> – Matrix S that has the stratum column
+the default value empty means “use X in place of S”</p></li>
+<li><p><strong>Xcid</strong> – 1-st covariate X-column indices
+the default value empty means “use columns 1 : ncol(X)”</p></li>
+<li><p><strong>Ycid</strong> – 2-nd covariate Y-column indices
+the default value empty means “use columns 1 : ncol(Y)”</p></li>
+<li><p><strong>Scid</strong> – Column index of the stratum column in S</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Output matrix, one row per each distinct pair</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.ppca">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">ppca</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DA [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.symmetricDifference">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">symmetricDifference</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" [...]
+<dd><blockquote>
+<div><p>Builtin function that implements symmetric difference set-operation on vectors</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>k</strong> – indicates dimension of the new vector space constructed from eigen vectors</p></li>
-<li><p><strong>maxi</strong> – maximum number of iterations until convergence</p></li>
-<li><p><strong>tolobj</strong> – objective function tolerance value to stop ppca algorithm</p></li>
-<li><p><strong>tolrecerr</strong> – reconstruction error tolerance value to stop the algorithm</p></li>
-<li><p><strong>verbose</strong> – verbose debug output</p></li>
+<li><p><strong>X</strong> – input vector</p></li>
+<li><p><strong>Y</strong> – input vector</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>vector with all elements in X and Y but not in both</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.randomForest">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">randomForest</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">R</span><span class= [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.tSNE">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">tSNE</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DA [...]
+<dd><blockquote>
+<div><p>This function performs dimensionality reduction using tSNE algorithm based on
+the paper: Visualizing Data using t-SNE, Maaten et. al.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>If</strong> – not provided by default all variables are assumed to be scale</p></li>
-<li><p><strong>bins</strong> – Number of equiheight bins per scale feature to choose thresholds</p></li>
-<li><p><strong>depth</strong> – Maximum depth of the learned tree</p></li>
-<li><p><strong>num_leaf</strong> – Number of samples when splitting stops and a leaf node is added</p></li>
-<li><p><strong>num_samples</strong> – Number of samples at which point we switch to in-memory subtree building</p></li>
-<li><p><strong>num_trees</strong> – Number of trees to be learned in the random forest model</p></li>
-<li><p><strong>subsamp_rate</strong> – Parameter controlling the size of each tree in the forest; samples are selected from a</p></li>
-<li><p><strong>Poisson</strong> – parameter subsamp_rate (the default value is 1.0)</p></li>
-<li><p><strong>feature_subset</strong> – Parameter that controls the number of feature used as candidates for splitting at each tree node</p></li>
-<li><p><strong>as</strong> – of number of features in the dataset;</p></li>
-<li><p><strong>by</strong> – root of features (i.e., feature_subset = 0.5) are used at each tree node</p></li>
-<li><p><strong>impurity</strong> – Impurity measure: entropy or Gini (the default)</p></li>
+<li><p><strong>X</strong> – Data Matrix of shape
+(number of data points, input dimensionality)</p></li>
+<li><p><strong>reduced_dims</strong> – Output dimensionality</p></li>
+<li><p><strong>perplexity</strong> – Perplexity Parameter</p></li>
+<li><p><strong>lr</strong> – Learning rate</p></li>
+<li><p><strong>momentum</strong> – Momentum Parameter</p></li>
+<li><p><strong>max_iter</strong> – Number of iterations</p></li>
+<li><p><strong>seed</strong> – The seed used for initial values.
+If set to -1 random seeds are selected.</p></li>
+<li><p><strong>is_verbose</strong> – Print debug information</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing tree and each row contains the following information: &amp; that leaf node j is supposed to predict &amp; subset of values &amp; 7,8,… if j is categorical &amp; stored at m[7,j] if the feature chosen for j is scale; &amp; chosen for j is categorical rows 7,8,… depict the value subset chosen for j</p>
+<dd class="field-even"><p>Data Matrix of shape (number of data points, reduced_dims)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.scale">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">scale</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>D [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.toOneHot">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">toOneHot</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">numClasses</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm. [...]
+<dd><blockquote>
+<div><p>The toOneHot-function encodes unordered categorical vector to multiple binary vectors.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>center</strong> – Indicates whether or not to center the feature matrix</p></li>
-<li><p><strong>scale</strong> – Indicates whether or not to scale the feature matrix</p></li>
+<li><p><strong>X</strong> – Vector with N integer entries between 1 and numClasses</p></li>
+<li><p><strong>numclasses</strong> – Number of columns, must be be greater than or equal to largest value in X</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>One-hot-encoded matrix with shape (N, numClasses)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.shortestPath">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">shortestPath</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">G</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">sourceNode</span><span class="p">:</span> <span class="n">int</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span c [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.tomeklink">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">tomeklink</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#sy [...]
+<dd><blockquote>
+<div><p>The tomekLink-function performs under sampling by removing Tomek’s links for imbalanced multi-class problems
+Computes TOMEK links and drops them from data matrix and label vector.
+Drops only the majority label and corresponding point of TOMEK links.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>The</strong> – G can be 0/1 (just specifying whether the nodes</p></li>
-<li><p><strong>are</strong> – not) or integer values (representing the weight</p></li>
-<li><p><strong>of</strong> – or the distances between nodes, 0 if not connected).</p></li>
-<li><p><strong>maxi</strong> – Integer max number of iterations accepted (0 for FALSE, i.e.</p></li>
-<li><p><strong>max</strong> – iterations not defined)</p></li>
-<li><p><strong>sourceNode</strong> – index to calculate the shortest paths to all other nodes.</p></li>
-<li><p><strong>verbose</strong> – flag for verbose debug output</p></li>
+<li><p><strong>X</strong> – Data Matrix (nxm)</p></li>
+<li><p><strong>y</strong> – Label Matrix (nx1), greater than zero</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing minimum distance shortest-path from vertex i to vertex j. &amp; of the minimum distance is infinity, the two nodes are</p>
+<dd class="field-even"><p>Data Matrix without Tomek links</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>Labels corresponding to under sampled data</p>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>Indices of dropped rows/labels wrt input</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.sigmoid">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">sigmoid</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.sigmoid" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>‘OperationNode’ containing meaning</p>
-</dd>
-</dl>
+<dt id="systemds.operator.algorithm.topk_cleaning">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">topk_cleaning</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dataTrain</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">primitives</span><span class="p">:</span> <span class="n">systemds.operator.nodes.frame.Frame</span></em>, <em class="sig-param"><span class="n">parame [...]
+<dd><p>This function cleans top-K item (where K is given as input)for a given list of users.
+metaData[3, ncol(X)] : metaData[1] stores mask, metaData[2] stores schema, metaData[3] stores FD mask</p>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.slicefinder">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">slicefinder</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">e</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class= [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.underSampling">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">underSampling</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">ratio</span><span c [...]
+<dd><blockquote>
+<div><p>Builtin to perform random under sampling on data.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>k</strong> – Number of subsets required</p></li>
-<li><p><strong>maxL</strong> – level L (conjunctions of L predicates), 0 unlimited</p></li>
-<li><p><strong>minSup</strong> – support (min number of rows per slice)</p></li>
-<li><p><strong>alpha</strong> – [0,1]: 0 only size, 1 only error</p></li>
-<li><p><strong>tpEval</strong> – for task-parallel slice evaluation,</p></li>
-<li><p><strong>tpBlksz</strong> – size for task-parallel execution (num slices)</p></li>
-<li><p><strong>selFeat</strong> – for removing one-hot-encoded features that don’t satisfy</p></li>
-<li><p><strong>the</strong> – constraint and/or have zero error</p></li>
-<li><p><strong>verbose</strong> – for verbose debug output</p></li>
+<li><p><strong>X</strong> – X data to sample from</p></li>
+<li><p><strong>Y</strong> – Y data to sample from it will sample the same rows from x.</p></li>
+<li><p><strong>ratio</strong> – The ratio to sample</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>The under sample data X</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p>The under sample data Y</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.smote">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">smote</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n" [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.union">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">union</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#system [...]
+<dd><blockquote>
+<div><p>Builtin function that implements union operation on vectors</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>s</strong> – Amount of SMOTE (percentage of oversampling), integral multiple of 100</p></li>
-<li><p><strong>k</strong> – Number of nearest neighbour</p></li>
-<li><p><strong>verbose</strong> – if the algorithm should be verbose</p></li>
+<li><p><strong>X</strong> – input vector</p></li>
+<li><p><strong>Y</strong> – input vector</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>matrix with all unique rows existing in X and Y</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.split">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">split</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kw [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.unique">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">unique</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.unique" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>Builtin function that implements unique operation on vectors</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>f</strong> – Train set fraction [0,1]</p></li>
-<li><p><strong>cont</strong> – contiuous splits, otherwise sampled</p></li>
-<li><p><strong>seed</strong> – The seed to reandomly select rows in sampled mode</p></li>
-</ul>
+<dd class="field-odd"><p><strong>X</strong> – input vector</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>matrix with only unique rows</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.splitBalanced">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">splitBalanced</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span clas [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.univar">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">univar</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">types</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#s [...]
+<dd><blockquote>
+<div><p>Computes univariate statistics for all attributes in a given data set</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>f</strong> – Train set fraction [0,1]</p></li>
-<li><p><strong>verbose</strong> – print available</p></li>
+<li><p><strong>X</strong> – Input matrix of the shape (N, D)</p></li>
+<li><p><strong>TYPES</strong> – Matrix of the shape (1, D) with features types:
+1 for scale, 2 for nominal, 3 for ordinal</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>univariate statistics for all attributes</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.stableMarriage">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">stableMarriage</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">P</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">A</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span cla [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.vectorToCsv">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">vectorToCsv</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">mask</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.vectorToCsv" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>This builtin function  convert vector into csv string such as [1 0 0 1 1 0 1] = “1,4,5,7”
+Related to [SYSTEMDS-2662] dependency function for cleaning pipelines</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>It</strong> – a square matrix with no zeros.</p></li>
-<li><p><strong>It</strong> – a square matrix with no zeros.</p></li>
-<li><p><strong>ordered</strong> – If true, P and A are assumed to be ordered,</p></li>
-<li><p><strong>index</strong> – vice-versa (higher is better).</p></li>
-</ul>
+<dd class="field-odd"><p><strong>mask</strong> – Data vector (having 0 for excluded indexes)</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing to the match. &amp; 1 (2.0 preference value) and acceptor 2 (1.0 preference value). &amp; 3 (2.0 preference value) and proposer 2 &amp; matched with proposer 3 (since [1,3] is non-zero) at a &amp; 3.0. &amp; matched with proposer 2 (since [2,2] is non-zero) at a &amp; 3.0. &amp; matched with proposer 1 (since [3,1] is non-zero) at a &amp; 1.0.</p>
+<dd class="field-even"><p>indexes</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.statsNA">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">statsNA</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.winsorize">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">winsorize</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">verbose</span><span class="p">:</span> <span class="n">bool</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class= [...]
+<dd><blockquote>
+<div><p>The winsorize-function removes outliers from the data. It does so by computing upper and
+lower quartile range of the given data then it replaces any value that falls outside this range
+(less than lower quartile range or more than upper quartile range).</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>bins</strong> – Split number for bin stats. Number of bins the time series gets</p></li>
-<li><p><strong>missing</strong> – printed.</p></li>
-<li><p><strong>verbose</strong> – Print detailed information.</p></li>
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>verbose</strong> – To print output on screen</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix without outlier values</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.steplm">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">steplm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">k [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.winsorizeApply">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">winsorizeApply</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">qLower</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">qUpper</span> [...]
+<dd><blockquote>
+<div><p>winsorizeApply takes the upper and lower quantile values per column, and
+remove outliers by replacing them with these upper and lower bound values.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
 <dd class="field-odd"><ul class="simple">
-<li><p><strong>icpt</strong> – Intercept presence, shifting and rescaling the columns of X:</p></li>
-<li><p><strong>reg</strong> – learning rate</p></li>
-<li><p><strong>tol</strong> – Tolerance threashold to train until achieved</p></li>
-<li><p><strong>maxi</strong> – maximum iterations 0 means until tolerange is reached</p></li>
-<li><p><strong>verbose</strong> – If the algorithm should be verbose</p></li>
+<li><p><strong>X</strong> – Input feature matrix</p></li>
+<li><p><strong>qLower</strong> – row vector of upper bounds per column</p></li>
+<li><p><strong>qUpper</strong> – row vector of lower bounds per column</p></li>
 </ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix without outlier values</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.tSNE">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">tSNE</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n">Dict<span class="p">[</span>str<span class="p">, </span>Union<span class="p">[</span>DA [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.xdummy1">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">xdummy1</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.xdummy1" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>This builtin function is here for debugging purposes</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>reduced_dims</strong> – Output dimensionality</p></li>
-<li><p><strong>perplexity</strong> – Perplexity Parameter</p></li>
-<li><p><strong>lr</strong> – Learning rate</p></li>
-<li><p><strong>momentum</strong> – Momentum Parameter</p></li>
-<li><p><strong>max_iter</strong> – Number of iterations</p></li>
-<li><p><strong>seed</strong> – The seed used for initial values.</p></li>
-<li><p><strong>If</strong> – -1 random seeds are selected.</p></li>
-<li><p><strong>is_verbose</strong> – Print debug information</p></li>
-</ul>
+<dd class="field-odd"><p><strong>X</strong> – test input</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>test result</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.toOneHot">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">toOneHot</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">numClasses</span><span class="p">:</span> <span class="n">int</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm. [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.xdummy2">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">xdummy2</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#systemds.operator.algorithm.xdummy2" title="Permalink to this definition">¶</a></dt>
+<dd><blockquote>
+<div><p>This builtin function is here for debugging purposes</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>numclasses</strong> – Number of columns, must be be greater than or equal to largest value in X</p>
+<dd class="field-odd"><p><strong>X</strong> – Debug input</p>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p><p>—</p>
+</p>
+</dd>
+<dt class="field-odd">Returns</dt>
+<dd class="field-odd"><p><p>—</p>
+</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.underSampling">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">underSampling</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">Y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">ratio</span><span c [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.xgboost">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">xgboost</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span><span class="n"> [...]
+<dd><blockquote>
+<div><p>XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
+implementation supports classification and regression and is capable of working with categorical and scalar features.</p>
+<p>Output explained:
+(the first node is the init prediction) and each row contains
+the following information:
+M[1,j]: id of node j (in a complete binary tree)
+M[2,j]: tree id to which node j belongs
+M[3,j]: Offset (no. of columns) to left child of j if j is an internal node, otherwise 0
+M[4,j]: Feature index of the feature (scale feature id if the feature is
+scale or categorical feature id if the feature is categorical)
+that node j looks at if j is an internal node, otherwise 0
+M[5,j]: Type of the feature that node j looks at if j is an internal node.
+if leaf = 0, if scalar = 1, if categorical = 2
+M[6:,j]: If j is an internal node: Threshold the example’s feature value is
+compared to is stored at M[6,j] if the feature chosen for j is scale,
+otherwise if the feature chosen for j is categorical rows 6,7,… depict
+the value subset chosen for j
+If j is a leaf node 1 if j is impure and the number of samples at j &gt; threshold, otherwise 0</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>ratio</strong> – The ratio to sample</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Feature matrix X; note that X needs to be both recoded and dummy coded</p></li>
+<li><p><strong>y</strong> – Label matrix y; note that y needs to be both recoded and dummy coded</p></li>
+<li><p><strong>R</strong> – Matrix R; 1xn vector which for each feature in X contains the following information
+- R[,1]: 1 (scalar feature)
+- R[,2]: 2 (categorical feature)
+Feature 1 is a scalar feature and features 2 is a categorical feature
+If R is not provided by default all variables are assumed to be scale (1)</p></li>
+<li><p><strong>sml_type</strong> – Supervised machine learning type: 1 = Regression(default), 2 = Classification</p></li>
+<li><p><strong>num_trees</strong> – Number of trees to be created in the xgboost model</p></li>
+<li><p><strong>learning_rate</strong> – Alias: eta. After each boosting step the learning rate controls the weights of the new predictions</p></li>
+<li><p><strong>max_depth</strong> – Maximum depth of a tree. Increasing this value will make the model more complex and more likely to overfit</p></li>
+<li><p><strong>lambda</strong> – L2 regularization term on weights. Increasing this value will make model more conservative and reduce amount of leaves of a tree</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>Matrix M where each column corresponds to a node in the learned tree</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.univar">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">univar</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">types</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em><span class="sig-paren">)</span><a class="headerlink" href="#s [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.xgboostPredictClassification">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">xgboostPredictClassification</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">M</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</ [...]
+<dd><blockquote>
+<div><p>XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
+implementation supports classification  and is capable of working with categorical features.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>1</strong> – 2 for nominal, 3 for ordinal</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors we want to predict (X_test)</p></li>
+<li><p><strong>M</strong> – The model created at xgboost</p></li>
+<li><p><strong>learning_rate</strong> – The learning rate used in the model</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>The predictions of the samples using the given xgboost model. (y_prediction)</p>
 </dd>
 </dl>
 </dd></dl>
 
 <dl class="py function">
-<dt id="systemds.operator.algorithm.winsorize">
-<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">winsorize</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">verbose</span><span class="p">:</span> <span class="n">bool</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span><span class= [...]
-<dd><dl class="field-list simple">
+<dt id="systemds.operator.algorithm.xgboostPredictRegression">
+<code class="sig-prename descclassname">systemds.operator.algorithm.</code><code class="sig-name descname">xgboostPredictRegression</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">X</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="n">M</span><span class="p">:</span> <span class="n">systemds.operator.nodes.matrix.Matrix</span></em>, <em class="sig-param"><span class="o">**</span [...]
+<dd><blockquote>
+<div><p>XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
+implementation supports regression.</p>
+</div></blockquote>
+<dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>verbose</strong> – To print output on screen</p>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>X</strong> – Matrix of feature vectors we want to predict (X_test)</p></li>
+<li><p><strong>M</strong> – The model created at xgboost</p></li>
+<li><p><strong>learning_rate</strong> – The learning rate used in the model</p></li>
+</ul>
 </dd>
 <dt class="field-even">Returns</dt>
-<dd class="field-even"><p>‘OperationNode’ containing</p>
+<dd class="field-even"><p>The predictions of the samples using the given xgboost model. (y_prediction)</p>
 </dd>
 </dl>
 </dd></dl>
diff --git a/docs/api/python/api/operator/node/scalar.html b/docs/api/python/api/operator/node/scalar.html
index 4dd7319c86..c5e83520a2 100644
--- a/docs/api/python/api/operator/node/scalar.html
+++ b/docs/api/python/api/operator/node/scalar.html
@@ -183,10 +183,10 @@
 the recommended way is to use the methods defined on <code class="docutils literal notranslate"><span class="pre">SystemDSContext</span></code>.</p>
 <dl class="py class">
 <dt id="systemds.operator.Scalar">
-<em class="property">class </em><code class="sig-prename descclassname">systemds.operator.</code><code class="sig-name descname">Scalar</code><span class="sig-paren">(</span><em class="sig-param">sds_context: SystemDSContext</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em cl [...]
+<em class="property">class </em><code class="sig-prename descclassname">systemds.operator.</code><code class="sig-name descname">Scalar</code><span class="sig-paren">(</span><em class="sig-param">sds_context</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">n [...]
 <dd><dl class="py method">
 <dt id="systemds.operator.Scalar.__init__">
-<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sds_context: SystemDSContext</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">named_input_nodes: Dict[str</em>, <em class="sig-param">Union[DAGNode</em>, <em [...]
+<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sds_context</em>, <em class="sig-param">operation: str</em>, <em class="sig-param">unnamed_input_nodes: Iterable[Union[DAGNode</em>, <em class="sig-param">str</em>, <em class="sig-param">int</em>, <em class="sig-param">float</em>, <em class="sig-param">bool]] = None</em>, <em class="sig-param">named_input_nodes: Dict[str</em>, <em class="sig-param">Union[DAGNode</em>, <em class="sig-param [...]
 <dd><p>Create general <cite>OperationNode</cite></p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters</dt>
diff --git a/docs/api/python/genindex.html b/docs/api/python/genindex.html
index de202fbc0f..7c3af1a423 100644
--- a/docs/api/python/genindex.html
+++ b/docs/api/python/genindex.html
@@ -197,6 +197,7 @@
  | <a href="#U"><strong>U</strong></a>
  | <a href="#V"><strong>V</strong></a>
  | <a href="#W"><strong>W</strong></a>
+ | <a href="#X"><strong>X</strong></a>
  
 </div>
 <h2 id="_">_</h2>
@@ -244,13 +245,17 @@
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.als">als() (in module systemds.operator.algorithm)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.alsCG">alsCG() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.alsDS">alsDS() (in module systemds.operator.algorithm)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.alsPredict">alsPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.alsTopkPredict">alsTopkPredict() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.apply_pipeline">apply_pipeline() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.arima">arima() (in module systemds.operator.algorithm)</a>
 </li>
@@ -268,16 +273,20 @@
         <li><a href="api/operator/node/scalar.html#systemds.operator.Scalar.atan">(systemds.operator.Scalar method)</a>
 </li>
       </ul></li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.autoencoder_2layer">autoencoder_2layer() (in module systemds.operator.algorithm)</a>
+</li>
   </ul></td>
 </tr></table>
 
 <h2 id="B">B</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.bivar">bivar() (in module systemds.operator.algorithm)</a>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.bandit">bandit() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.bivar">bivar() (in module systemds.operator.algorithm)</a>
+</li>
       <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.build_code">build_code() (systemds.script_building.script.DMLScript method)</a>
 </li>
   </ul></td>
@@ -333,6 +342,12 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.confusionMatrix">confusionMatrix() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.cor">cor() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.correctTypos">correctTypos() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.correctTyposApply">correctTyposApply() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.cos">cos() (systemds.operator.Matrix method)</a>
 
@@ -372,17 +387,23 @@
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.decisionTree">decisionTree() (in module systemds.operator.algorithm)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.decisionTreePredict">decisionTreePredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.deepWalk">deepWalk() (in module systemds.operator.algorithm)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.denialConstraints">denialConstraints() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.dict">dict() (systemds.context.SystemDSContext method)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.discoverFD">discoverFD() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.dist">dist() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript">DMLScript (class in systemds.script_building.script)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.dmv">dmv() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -390,12 +411,14 @@
 <h2 id="E">E</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.exception_and_close">exception_and_close() (systemds.context.SystemDSContext method)</a>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.ema">ema() (in module systemds.operator.algorithm)</a>
 </li>
-      <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.execute">execute() (systemds.script_building.script.DMLScript method)</a>
+      <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.exception_and_close">exception_and_close() (systemds.context.SystemDSContext method)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.execute">execute() (systemds.script_building.script.DMLScript method)</a>
+</li>
       <li><a href="api/script_building/script.html#systemds.script_building.script.DMLScript.execute_with_lineage">execute_with_lineage() (systemds.script_building.script.DMLScript method)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.executePipeline">executePipeline() (in module systemds.operator.algorithm)</a>
@@ -407,13 +430,27 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.federated">federated() (systemds.context.SystemDSContext method)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.ffPredict">ffPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.ffTrain">ffTrain() (in module systemds.operator.algorithm)</a>
 </li>
-      <li><a href="api/operator/node/frame.html#systemds.operator.Frame">Frame (class in systemds.operator)</a>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.fit_pipeline">fit_pipeline() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.fixInvalidLengths">fixInvalidLengths() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.fixInvalidLengthsApply">fixInvalidLengthsApply() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/node/frame.html#systemds.operator.Frame">Frame (class in systemds.operator)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.frameSort">frameSort() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.frequencyEncode">frequencyEncode() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.frequencyEncodeApply">frequencyEncodeApply() (in module systemds.operator.algorithm)</a>
+</li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.from_numpy">from_numpy() (systemds.context.SystemDSContext method)</a>
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.from_pandas">from_pandas() (systemds.context.SystemDSContext method)</a>
@@ -440,19 +477,23 @@
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.get_stderr">get_stderr() (systemds.context.SystemDSContext method)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.get_stdout">get_stdout() (systemds.context.SystemDSContext method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.getAccuracy">getAccuracy() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.glm">glm() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.glmPredict">glmPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.gmm">gmm() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.gmmPredict">gmmPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.gnmf">gnmf() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.gridSearch">gridSearch() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -484,8 +525,6 @@
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.img_posterize">img_posterize() (in module systemds.operator.algorithm)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.img_rotate">img_rotate() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.img_sample_pairing">img_sample_pairing() (in module systemds.operator.algorithm)</a>
@@ -494,11 +533,29 @@
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.img_transform">img_transform() (in module systemds.operator.algorithm)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.img_translate">img_translate() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.impurityMeasures">impurityMeasures() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByFD">imputeByFD() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByFDApply">imputeByFDApply() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByMean">imputeByMean() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByMeanApply">imputeByMeanApply() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByMedian">imputeByMedian() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByMedianApply">imputeByMedianApply() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByMode">imputeByMode() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.imputeByModeApply">imputeByModeApply() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.intersect">intersect() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -507,10 +564,18 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.km">km() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.kmeans">kmeans() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.kmeansPredict">kmeansPredict() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.kmeans">kmeans() (in module systemds.operator.algorithm)</a>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.knn">knn() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.knnbf">knnbf() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.knnGraph">knnGraph() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -523,6 +588,8 @@
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.l2svmPredict">l2svmPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lasso">lasso() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lenetPredict">lenetPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lenetTrain">lenetTrain() (in module systemds.operator.algorithm)</a>
 </li>
@@ -537,6 +604,8 @@
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lmCG">lmCG() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lmDS">lmDS() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.lmPredict">lmPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.logSumExp">logSumExp() (in module systemds.operator.algorithm)</a>
 </li>
@@ -553,13 +622,21 @@
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.matrixProfile">matrixProfile() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.max">max() (systemds.operator.Matrix method)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.mcc">mcc() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.mdedup">mdedup() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.mean">mean() (systemds.operator.Matrix method)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.mice">mice() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.miceApply">miceApply() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.min">min() (systemds.operator.Matrix method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     module
 
@@ -575,9 +652,9 @@
         <li><a href="api/utils/helpers.html#module-systemds.utils.helpers">systemds.utils.helpers</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.msvm">msvm() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.msvmPredict">msvmPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.multiLogReg">multiLogReg() (in module systemds.operator.algorithm)</a>
 </li>
@@ -590,10 +667,16 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.na_locf">na_locf() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.naiveBayes">naiveBayes() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.naiveBayesPredict">naiveBayesPredict() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.naiveBayes">naiveBayes() (in module systemds.operator.algorithm)</a>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.normalize">normalize() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.normalizeApply">normalizeApply() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/utils/converters.html#systemds.utils.converters.numpy_to_matrix_block">numpy_to_matrix_block() (in module systemds.utils.converters)</a>
 </li>
@@ -648,6 +731,10 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.pca">pca() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.pcaInverse">pcaInverse() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.pcaTransform">pcaTransform() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.pnmf">pnmf() (in module systemds.operator.algorithm)</a>
 </li>
@@ -696,8 +783,20 @@
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.scalar">scalar() (systemds.context.SystemDSContext method)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.scale">scale() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.scaleApply">scaleApply() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.scaleMinMax">scaleMinMax() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.selectByVarThresh">selectByVarThresh() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.seq">seq() (systemds.context.SystemDSContext method)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.setdiff">setdiff() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.sherlock">sherlock() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.sherlockPredict">sherlockPredict() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.shortestPath">shortestPath() (in module systemds.operator.algorithm)</a>
 </li>
@@ -718,15 +817,17 @@
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.slicefinder">slicefinder() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.smote">smote() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.softmax">softmax() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/node/source.html#systemds.operator.Source">Source (class in systemds.operator)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/context/systemds_context.html#systemds.context.SystemDSContext.source">source() (systemds.context.SystemDSContext method)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.split">split() (in module systemds.operator.algorithm)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.splitBalanced">splitBalanced() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.stableMarriage">stableMarriage() (in module systemds.operator.algorithm)</a>
@@ -734,8 +835,12 @@
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.statsNA">statsNA() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.steplm">steplm() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.stratstats">stratstats() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.sum">sum() (systemds.operator.Matrix method)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.symmetricDifference">symmetricDifference() (in module systemds.operator.algorithm)</a>
 </li>
       <li>
     systemds.operator.algorithm
@@ -794,17 +899,21 @@
         <li><a href="api/operator/node/scalar.html#systemds.operator.Scalar.tanh">(systemds.operator.Scalar method)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.to_one_hot">to_one_hot() (systemds.operator.Matrix method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.to_string">to_string() (systemds.operator.Matrix method)</a>
 
       <ul>
         <li><a href="api/operator/node/scalar.html#systemds.operator.Scalar.to_string">(systemds.operator.Scalar method)</a>
 </li>
       </ul></li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.tomeklink">tomeklink() (in module systemds.operator.algorithm)</a>
+</li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.toOneHot">toOneHot() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.topk_cleaning">topk_cleaning() (in module systemds.operator.algorithm)</a>
 </li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.tSNE">tSNE() (in module systemds.operator.algorithm)</a>
 </li>
@@ -815,9 +924,13 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.underSampling">underSampling() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.union">union() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.unique">unique() (in module systemds.operator.algorithm)</a>
+</li>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.univar">univar() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
@@ -827,6 +940,10 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/node/matrix.html#systemds.operator.Matrix.var">var() (systemds.operator.Matrix method)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.vectorToCsv">vectorToCsv() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -835,14 +952,38 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.winsorize">winsorize() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.winsorizeApply">winsorizeApply() (in module systemds.operator.algorithm)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.WoE">WoE() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.WoEApply">WoEApply() (in module systemds.operator.algorithm)</a>
+</li>
       <li><a href="api/operator/operation_node.html#systemds.operator.OperationNode.write">write() (systemds.operator.OperationNode method)</a>
 </li>
   </ul></td>
 </tr></table>
 
+<h2 id="X">X</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.xdummy1">xdummy1() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.xdummy2">xdummy2() (in module systemds.operator.algorithm)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.xgboost">xgboost() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.xgboostPredictClassification">xgboostPredictClassification() (in module systemds.operator.algorithm)</a>
+</li>
+      <li><a href="api/operator/algorithms.html#systemds.operator.algorithm.xgboostPredictRegression">xgboostPredictRegression() (in module systemds.operator.algorithm)</a>
+</li>
+  </ul></td>
+</tr></table>
+
 
 
            </div>
diff --git a/docs/api/python/guide/federated.html b/docs/api/python/guide/federated.html
index 2ca1b782ec..61d545e162 100644
--- a/docs/api/python/guide/federated.html
+++ b/docs/api/python/guide/federated.html
@@ -93,6 +93,10 @@
 <li class="toctree-l2"><a class="reference internal" href="#start-federated-worker">Start Federated worker</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#simple-aggregation-example">Simple Aggregation Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#multiple-federated-environments">Multiple Federated Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#multi-tenant-federated-learning">Multi-tenant Federated Learning</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#limitations">Limitations</a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="algorithms_basics.html">Built-in Algorithms</a></li>
@@ -292,6 +296,29 @@ that you have:</p>
 <p>a csv file, mtd file, and SystemDS Environment is set correctly.</p>
 </div>
 </div>
+<div class="section" id="multi-tenant-federated-learning">
+<h2>Multi-tenant Federated Learning<a class="headerlink" href="#multi-tenant-federated-learning" title="Permalink to this headline">¶</a></h2>
+<p>SystemDS supports Multi-tenant Federated Learning, meaning that multiple
+coordinators learn on shared federated workers. From another perspective,
+the federated worker allows multiple coordinators to perform model training
+simultaneously using the data from the respective federated site. This
+approach enables the worker to operate in a server-like mode, providing
+multiple tenants with the ability to learn on the federated data at the same
+time. Tenant isolation ensures that tenant-specific intermediate results are
+only accessible by the respective tenant.</p>
+<div class="section" id="limitations">
+<h3>Limitations<a class="headerlink" href="#limitations" title="Permalink to this headline">¶</a></h3>
+<p>Since the coordinators are differentiated by their IP address in combination
+with their process ID, the worker is not able to isolate coordinators which
+share the same IP address and the same process ID. This occurs, for example,
+when two coordinators are running behind a proxy (same IP address), where
+both coordinators coincidentally have the same process ID.</p>
+<p>A second limitation is showing up in networks using the Dynamic Host Protocol
+(DHCP). Since the federated worker identifies the coordinator based on the
+IP address, the worker does not re-identify the coordinator when its IP address
+has changed, i.e., when DHCP renews its IP address.</p>
+</div>
+</div>
 </div>
 
 
diff --git a/docs/api/python/objects.inv b/docs/api/python/objects.inv
index ae1d4dc713..c92fc48f72 100644
Binary files a/docs/api/python/objects.inv and b/docs/api/python/objects.inv differ
diff --git a/docs/api/python/searchindex.js b/docs/api/python/searchindex.js
index 75be01e19e..547c2bb3bc 100644
--- a/docs/api/python/searchindex.js
+++ b/docs/api/python/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["api/context/systemds_context","api/operator/algorithms","api/operator/node/frame","api/operator/node/list","api/operator/node/matrix","api/operator/node/scalar","api/operator/node/source","api/operator/operation_node","api/script_building/dag","api/script_building/script","api/utils/converters","api/utils/helpers","getting_started/install","getting_started/simple_examples","guide/algorithms_basics","guide/federated","guide/python_end_to_end_tut","index"],envve [...]
\ No newline at end of file
+Search.setIndex({docnames:["api/context/systemds_context","api/operator/algorithms","api/operator/node/frame","api/operator/node/list","api/operator/node/matrix","api/operator/node/scalar","api/operator/node/source","api/operator/operation_node","api/script_building/dag","api/script_building/script","api/utils/converters","api/utils/helpers","getting_started/install","getting_started/simple_examples","guide/algorithms_basics","guide/federated","guide/python_end_to_end_tut","index"],envve [...]
\ No newline at end of file


[systemds] 04/05: [MINOR] Update and fix minor syntax for Python Docs

Posted by ba...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit d1081a48aeede19c3d5343feba19c9758033eeec
Author: baunsgaard <ba...@tugraz.at>
AuthorDate: Fri Jun 10 16:20:42 2022 +0200

    [MINOR] Update and fix minor syntax for Python Docs
---
 src/main/python/generator/generator.py             |  16 +--
 src/main/python/generator/parser.py                |  10 +-
 .../systemds/operator/algorithm/builtin/WoE.py     |  12 +-
 .../operator/algorithm/builtin/WoEApply.py         |   7 +-
 .../systemds/operator/algorithm/builtin/abstain.py |  16 +--
 .../systemds/operator/algorithm/builtin/als.py     |  12 +-
 .../systemds/operator/algorithm/builtin/alsCG.py   |  12 +-
 .../systemds/operator/algorithm/builtin/alsDS.py   |  14 ++-
 .../operator/algorithm/builtin/alsPredict.py       |  11 +-
 .../operator/algorithm/builtin/alsTopkPredict.py   |  12 +-
 .../operator/algorithm/builtin/apply_pipeline.py   |  11 +-
 .../systemds/operator/algorithm/builtin/arima.py   |   7 +-
 .../algorithm/builtin/autoencoder_2layer.py        |  27 ++--
 .../systemds/operator/algorithm/builtin/bandit.py  |   9 +-
 .../systemds/operator/algorithm/builtin/bivar.py   |  14 ++-
 .../operator/algorithm/builtin/components.py       |  13 +-
 .../operator/algorithm/builtin/confusionMatrix.py  |  31 ++---
 .../systemds/operator/algorithm/builtin/cor.py     |   7 +-
 .../operator/algorithm/builtin/correctTypos.py     |  26 ++--
 .../algorithm/builtin/correctTyposApply.py         |  29 +++--
 .../systemds/operator/algorithm/builtin/cox.py     |  52 ++++----
 .../systemds/operator/algorithm/builtin/cspline.py |  13 +-
 .../operator/algorithm/builtin/csplineCG.py        |   8 +-
 .../operator/algorithm/builtin/csplineDS.py        |   8 +-
 .../systemds/operator/algorithm/builtin/cvlm.py    |  12 +-
 .../systemds/operator/algorithm/builtin/dbscan.py  |   7 +-
 .../operator/algorithm/builtin/dbscanApply.py      |   8 +-
 .../operator/algorithm/builtin/decisionTree.py     |  27 ++--
 .../algorithm/builtin/decisionTreePredict.py       |  10 +-
 .../operator/algorithm/builtin/deepWalk.py         |   7 +-
 .../algorithm/builtin/denialConstraints.py         |  68 +++++-----
 .../operator/algorithm/builtin/discoverFD.py       |   8 +-
 .../systemds/operator/algorithm/builtin/dist.py    |   7 +-
 .../systemds/operator/algorithm/builtin/dmv.py     |   7 +-
 .../systemds/operator/algorithm/builtin/ema.py     |   7 +-
 .../operator/algorithm/builtin/executePipeline.py  |  13 +-
 .../operator/algorithm/builtin/ffPredict.py        |   7 +-
 .../systemds/operator/algorithm/builtin/ffTrain.py |  11 +-
 .../operator/algorithm/builtin/fit_pipeline.py     |  12 +-
 .../algorithm/builtin/fixInvalidLengths.py         |   8 +-
 .../algorithm/builtin/fixInvalidLengthsApply.py    |   9 +-
 .../operator/algorithm/builtin/frameSort.py        |   9 +-
 .../operator/algorithm/builtin/frequencyEncode.py  |   8 +-
 .../algorithm/builtin/frequencyEncodeApply.py      |   7 +-
 .../systemds/operator/algorithm/builtin/garch.py   |  22 ++--
 .../algorithm/builtin/gaussianClassifier.py        |  20 +--
 .../operator/algorithm/builtin/getAccuracy.py      |   7 +-
 .../systemds/operator/algorithm/builtin/glm.py     | 139 +++++++++++----------
 .../operator/algorithm/builtin/glmPredict.py       |  80 ++++++------
 .../systemds/operator/algorithm/builtin/gmm.py     |  16 ++-
 .../operator/algorithm/builtin/gmmPredict.py       |  11 +-
 .../systemds/operator/algorithm/builtin/gnmf.py    |  21 ++--
 .../operator/algorithm/builtin/gridSearch.py       |  12 +-
 .../algorithm/builtin/hospitalResidencyMatch.py    |  78 +++++++-----
 .../operator/algorithm/builtin/hyperband.py        |  20 +--
 .../operator/algorithm/builtin/img_brightness.py   |   7 +-
 .../operator/algorithm/builtin/img_crop.py         |   7 +-
 .../operator/algorithm/builtin/img_cutout.py       |   7 +-
 .../operator/algorithm/builtin/img_invert.py       |   7 +-
 .../operator/algorithm/builtin/img_mirror.py       |   9 +-
 .../operator/algorithm/builtin/img_posterize.py    |   9 +-
 .../operator/algorithm/builtin/img_rotate.py       |   9 +-
 .../algorithm/builtin/img_sample_pairing.py        |   7 +-
 .../operator/algorithm/builtin/img_shear.py        |   9 +-
 .../operator/algorithm/builtin/img_transform.py    |  11 +-
 .../operator/algorithm/builtin/img_translate.py    |  11 +-
 .../operator/algorithm/builtin/impurityMeasures.py |  19 +--
 .../operator/algorithm/builtin/imputeByFD.py       |   8 +-
 .../operator/algorithm/builtin/imputeByFDApply.py  |   7 +-
 .../operator/algorithm/builtin/imputeByMean.py     |   9 +-
 .../algorithm/builtin/imputeByMeanApply.py         |   9 +-
 .../operator/algorithm/builtin/imputeByMedian.py   |  10 +-
 .../algorithm/builtin/imputeByMedianApply.py       |   9 +-
 .../operator/algorithm/builtin/imputeByMode.py     |   9 +-
 .../algorithm/builtin/imputeByModeApply.py         |   9 +-
 .../operator/algorithm/builtin/intersect.py        |   7 +-
 .../systemds/operator/algorithm/builtin/km.py      |  63 +++++-----
 .../systemds/operator/algorithm/builtin/kmeans.py  |   8 +-
 .../operator/algorithm/builtin/kmeansPredict.py    |   7 +-
 .../systemds/operator/algorithm/builtin/knn.py     |   9 +-
 .../operator/algorithm/builtin/knnGraph.py         |   7 +-
 .../systemds/operator/algorithm/builtin/knnbf.py   |   7 +-
 .../systemds/operator/algorithm/builtin/l2svm.py   |   7 +-
 .../operator/algorithm/builtin/l2svmPredict.py     |  10 +-
 .../systemds/operator/algorithm/builtin/lasso.py   |   9 +-
 .../operator/algorithm/builtin/lenetPredict.py     |   7 +-
 .../operator/algorithm/builtin/lenetTrain.py       |  11 +-
 .../systemds/operator/algorithm/builtin/lm.py      |   9 +-
 .../systemds/operator/algorithm/builtin/lmCG.py    |   7 +-
 .../systemds/operator/algorithm/builtin/lmDS.py    |   7 +-
 .../operator/algorithm/builtin/lmPredict.py        |   7 +-
 .../operator/algorithm/builtin/logSumExp.py        |   7 +-
 .../operator/algorithm/builtin/matrixProfile.py    |  25 ++--
 .../systemds/operator/algorithm/builtin/mcc.py     |   7 +-
 .../systemds/operator/algorithm/builtin/mdedup.py  |  10 +-
 .../systemds/operator/algorithm/builtin/mice.py    |  14 ++-
 .../operator/algorithm/builtin/miceApply.py        |  14 ++-
 .../systemds/operator/algorithm/builtin/msvm.py    |   9 +-
 .../operator/algorithm/builtin/msvmPredict.py      |  10 +-
 .../operator/algorithm/builtin/multiLogReg.py      |  13 +-
 .../algorithm/builtin/multiLogRegPredict.py        |  11 +-
 .../systemds/operator/algorithm/builtin/na_locf.py |   7 +-
 .../operator/algorithm/builtin/naiveBayes.py       |   8 +-
 .../algorithm/builtin/naiveBayesPredict.py         |   8 +-
 .../operator/algorithm/builtin/normalize.py        |  11 +-
 .../operator/algorithm/builtin/normalizeApply.py   |  13 +-
 .../systemds/operator/algorithm/builtin/outlier.py |   9 +-
 .../operator/algorithm/builtin/outlierByArima.py   |   9 +-
 .../operator/algorithm/builtin/outlierByIQR.py     |   7 +-
 .../algorithm/builtin/outlierByIQRApply.py         |   7 +-
 .../operator/algorithm/builtin/outlierBySd.py      |   7 +-
 .../operator/algorithm/builtin/outlierBySdApply.py |   7 +-
 .../systemds/operator/algorithm/builtin/pca.py     |  10 +-
 .../operator/algorithm/builtin/pcaInverse.py       |  11 +-
 .../operator/algorithm/builtin/pcaTransform.py     |  11 +-
 .../systemds/operator/algorithm/builtin/pnmf.py    |  19 +--
 .../systemds/operator/algorithm/builtin/ppca.py    |  12 +-
 .../operator/algorithm/builtin/randomForest.py     |  28 +++--
 .../systemds/operator/algorithm/builtin/scale.py   |   9 +-
 .../operator/algorithm/builtin/scaleApply.py       |   7 +-
 .../operator/algorithm/builtin/scaleMinMax.py      |   7 +-
 .../algorithm/builtin/selectByVarThresh.py         |   7 +-
 .../systemds/operator/algorithm/builtin/setdiff.py |   7 +-
 .../operator/algorithm/builtin/sherlock.py         |  28 +++--
 .../operator/algorithm/builtin/sherlockPredict.py  |  19 +--
 .../operator/algorithm/builtin/shortestPath.py     |  19 +--
 .../systemds/operator/algorithm/builtin/sigmoid.py |   9 +-
 .../operator/algorithm/builtin/slicefinder.py      |  17 +--
 .../systemds/operator/algorithm/builtin/smote.py   |   9 +-
 .../systemds/operator/algorithm/builtin/softmax.py |   7 +-
 .../systemds/operator/algorithm/builtin/split.py   |  10 +-
 .../operator/algorithm/builtin/splitBalanced.py    |  12 +-
 .../operator/algorithm/builtin/stableMarriage.py   |  79 ++++++------
 .../systemds/operator/algorithm/builtin/statsNA.py |  27 ++--
 .../systemds/operator/algorithm/builtin/steplm.py  |  33 ++---
 .../operator/algorithm/builtin/stratstats.py       |  91 +++++++-------
 .../algorithm/builtin/symmetricDifference.py       |   7 +-
 .../systemds/operator/algorithm/builtin/tSNE.py    |   9 +-
 .../operator/algorithm/builtin/toOneHot.py         |   7 +-
 .../operator/algorithm/builtin/tomeklink.py        |  13 +-
 .../operator/algorithm/builtin/topk_cleaning.py    |   5 +-
 .../operator/algorithm/builtin/underSampling.py    |   8 +-
 .../systemds/operator/algorithm/builtin/union.py   |   7 +-
 .../systemds/operator/algorithm/builtin/unique.py  |   7 +-
 .../systemds/operator/algorithm/builtin/univar.py  |   7 +-
 .../operator/algorithm/builtin/vectorToCsv.py      |   9 +-
 .../operator/algorithm/builtin/winsorize.py        |  11 +-
 .../operator/algorithm/builtin/winsorizeApply.py   |   9 +-
 .../systemds/operator/algorithm/builtin/xdummy1.py |   7 +-
 .../systemds/operator/algorithm/builtin/xdummy2.py |   8 +-
 .../systemds/operator/algorithm/builtin/xgboost.py |  42 ++++---
 .../builtin/xgboostPredictClassification.py        |   9 +-
 .../algorithm/builtin/xgboostPredictRegression.py  |   9 +-
 153 files changed, 1294 insertions(+), 1000 deletions(-)

diff --git a/src/main/python/generator/generator.py b/src/main/python/generator/generator.py
index f23f31350d..ffc2c2dc8d 100644
--- a/src/main/python/generator/generator.py
+++ b/src/main/python/generator/generator.py
@@ -291,7 +291,6 @@ class PythonAPIFunctionGenerator(object):
 class PythonAPIDocumentationGenerator(object):
 
     param_str = "\n    :param {pname}: {meaning}"
-    return_str = "\n    :return: \'OperationNode\' containing {meaning} \n"
 
     def __init__(self):
         super(PythonAPIDocumentationGenerator, self).__init__()
@@ -314,12 +313,10 @@ class PythonAPIDocumentationGenerator(object):
         if description == "":
             data['function_header'] = ""
         elif header_data["return_values"] == []:
-            data['function_header'] = '"""\n    ' + description + '"""'
+            data['function_header'] = '"""\n    ' + description + '"""\n'
         else:
-            res_str = "\n    :return: \'OperationNode\' containing {meaning} \n".format(
-                meaning=output_param.lower())
             data['function_header'] = '"""\n    ' + description + \
-                input_param + res_str + '    """'
+                input_param + output_param + '\n    """\n'
 
     def header_parameter_string(self, parameter: dict) -> str:
         parameter_str = "\n    "
@@ -330,14 +327,9 @@ class PythonAPIDocumentationGenerator(object):
         return parameter_str
 
     def header_return_string(self, parameter: dict) -> str:
-        meaning_str = "\n        "
-        first = True
+        meaning_str = ""
         for param in parameter:
-            if first:
-                meaning_str += param[1]
-            else:
-                meaning_str += "\n        & " + param[1]
-
+            meaning_str +=  "\n    :return: " +  param[1]
         return meaning_str
 
 
diff --git a/src/main/python/generator/parser.py b/src/main/python/generator/parser.py
index a1162a1623..017abf78b3 100644
--- a/src/main/python/generator/parser.py
+++ b/src/main/python/generator/parser.py
@@ -177,15 +177,15 @@ class FunctionParser(object):
                     # skip two lines
                     line = f.readline()
                     line = f.readline()
-
+                
                 if in_output:
                     if "----------" not in line:
-                        h_output += line[2:]
+                        h_output += line[1:]
                 elif in_input:
                     if "----------" not in line:
-                        h_input += line[2:]
+                        h_input += line[1:]
                 else:
-                    description += line[2:]
+                    description += line[1:]
                 line = f.readline()
 
         if description == "" or h_input == "" or h_output == "":
@@ -212,7 +212,7 @@ class FunctionParser(object):
         ret = []
         for line in data.split("\n"):
             if line:
-                if line[0] == " ":
+                if line[1] == " ":
                     prev = ret[-1]
                     n = (prev[0], prev[1] +"\n        " + line.strip())
                     ret[-1] = n
diff --git a/src/main/python/systemds/operator/algorithm/builtin/WoE.py b/src/main/python/systemds/operator/algorithm/builtin/WoE.py
index f16b878cc4..3a22bad6c9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/WoE.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/WoE.py
@@ -33,26 +33,26 @@ def WoE(X: Matrix,
         Y: Matrix,
         mask: Matrix):
     """
-    function Weight of evidence / information gain
+     function Weight of evidence / information gain
+    
     
     
     :param X: ---
     :param Y: ---
     :param mask: ---
-    :return: 'OperationNode' containing 
-        --------- 
+    :return: Weighted X matrix where the entropy mask is applied
+    :return: A entropy matrix to apply to data
     """
+
     params_dict = {'X': X, 'Y': Y, 'mask': mask}
     
     vX_0 = Matrix(X.sds_context, '')
     vX_1 = Matrix(X.sds_context, '')
-    vX_2 = Matrix(X.sds_context, '')
-    output_nodes = [vX_0, vX_1, vX_2, ]
+    output_nodes = [vX_0, vX_1, ]
 
     op = MultiReturn(X.sds_context, 'WoE', output_nodes, named_input_nodes=params_dict)
 
     vX_0._unnamed_input_nodes = [op]
     vX_1._unnamed_input_nodes = [op]
-    vX_2._unnamed_input_nodes = [op]
 
     return op
diff --git a/src/main/python/systemds/operator/algorithm/builtin/WoEApply.py b/src/main/python/systemds/operator/algorithm/builtin/WoEApply.py
index d6299bb9f3..78e76d558b 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/WoEApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/WoEApply.py
@@ -33,15 +33,16 @@ def WoEApply(X: Matrix,
              Y: Matrix,
              entropyMatrix: Matrix):
     """
-    function Weight of evidence / information gain apply on new data
+     function Weight of evidence / information gain apply on new data
+    
     
     
     :param X: ---
     :param Y: ---
     :param entropyMatrix: ---
-    :return: 'OperationNode' containing 
-        --- 
+    :return: Weighted X matrix where the entropy mask is applied
     """
+
     params_dict = {'X': X, 'Y': Y, 'entropyMatrix': entropyMatrix}
     return Matrix(X.sds_context,
         'WoEApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/abstain.py b/src/main/python/systemds/operator/algorithm/builtin/abstain.py
index ee8611a44e..bfd294f966 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/abstain.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/abstain.py
@@ -34,17 +34,19 @@ def abstain(X: Matrix,
             threshold: float,
             **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function calls the multiLogReg-function in which solves Multinomial
-    Logistic Regression using Trust Region method
+     This function calls the multiLogReg-function in which solves Multinomial
+     Logistic Regression using Trust Region method
     
     
-    :param X: Location to read the matrix of feature vectors
-    :param Y: Location to read the matrix with category labels
-    :param threshold: ---
+    
+    :param X: matrix of feature vectors
+    :param Y: matrix with category labels
+    :param threshold: threshold to clear otherwise return X and Y unmodified
     :param verbose: flag specifying if logging information should be printed
-    :return: 'OperationNode' containing 
-        ------ 
+    :return: abstained output X
+    :return: abstained output Y
     """
+
     params_dict = {'X': X, 'Y': Y, 'threshold': threshold}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/als.py b/src/main/python/systemds/operator/algorithm/builtin/als.py
index f067d94953..3fa7f70caf 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/als.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/als.py
@@ -32,9 +32,10 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def als(X: Matrix,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script computes an approximate factorization of a low-rank matrix X into two matrices U and V
-    using different implementations of the Alternating-Least-Squares (ALS) algorithm.
-    Matrices U and V are computed by minimizing a loss function (with regularization).
+     This script computes an approximate factorization of a low-rank matrix X into two matrices U and V
+     using different implementations of the Alternating-Least-Squares (ALS) algorithm.
+     Matrices U and V are computed by minimizing a loss function (with regularization).
+    
     
     
     :param X: Location to read the input matrix X to be factorized
@@ -55,9 +56,10 @@ def als(X: Matrix,
         if check is FALSE thr is ignored
     :param seed: The seed to random parts of the algorithm
     :param verbose: If the algorithm should run verbosely
-    :return: 'OperationNode' containing 
-        an m x r matrix where r is the factorization rankan m x r matrix where r is the factorization rank 
+    :return: An m x r matrix where r is the factorization rank
+    :return: An m x r matrix where r is the factorization rank
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsCG.py b/src/main/python/systemds/operator/algorithm/builtin/alsCG.py
index 80095faeeb..14dff61948 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsCG.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsCG.py
@@ -32,9 +32,10 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def alsCG(X: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script computes an approximate factorization of a low-rank matrix X into two matrices U and V
-    using the Alternating-Least-Squares (ALS) algorithm with conjugate gradient.
-    Matrices U and V are computed by minimizing a loss function (with regularization).
+     This script computes an approximate factorization of a low-rank matrix X into two matrices U and V
+     using the Alternating-Least-Squares (ALS) algorithm with conjugate gradient.
+     Matrices U and V are computed by minimizing a loss function (with regularization).
+    
     
     
     :param X: Location to read the input matrix X to be factorized
@@ -55,9 +56,10 @@ def alsCG(X: Matrix,
         if check is FALSE thr is ignored
     :param seed: The seed to random parts of the algorithm
     :param verbose: If the algorithm should run verbosely
-    :return: 'OperationNode' containing 
-        an m x r matrix where r is the factorization rankan m x r matrix where r is the factorization rank 
+    :return: An m x r matrix where r is the factorization rank
+    :return: An m x r matrix where r is the factorization rank
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsDS.py b/src/main/python/systemds/operator/algorithm/builtin/alsDS.py
index fba79a30aa..fa2e33d4d3 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsDS.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsDS.py
@@ -32,10 +32,11 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def alsDS(X: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Alternating-Least-Squares (ALS) algorithm using a direct solve method for
-    individual least squares problems (reg="L2"). This script computes an 
-    approximate factorization of a low-rank matrix V into two matrices L and R.
-    Matrices L and R are computed by minimizing a loss function (with regularization).
+     Alternating-Least-Squares (ALS) algorithm using a direct solve method for
+     individual least squares problems (reg="L2"). This script computes an 
+     approximate factorization of a low-rank matrix V into two matrices L and R.
+     Matrices L and R are computed by minimizing a loss function (with regularization).
+    
     
     
     :param X: Location to read the input matrix V to be factorized
@@ -48,9 +49,10 @@ def alsDS(X: Matrix,
         if check is FALSE thr is ignored
     :param seed: The seed to random parts of the algorithm
     :param verbose: If the algorithm should run verbosely
-    :return: 'OperationNode' containing 
-        an m x r matrix where r is the factorization rankan m x r matrix where r is the factorization rank 
+    :return: An m x r matrix where r is the factorization rank
+    :return: An m x r matrix where r is the factorization rank
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py b/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py
index 38ddcbaf64..83e486665a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py
@@ -34,18 +34,19 @@ def alsPredict(userIDs: Matrix,
                L: Matrix,
                R: Matrix):
     """
-    This script computes the rating/scores for a given list of userIDs 
-    using 2 factor matrices L and R. We assume that all users have rates 
-    at least once and all items have been rates at least once.
+     This script computes the rating/scores for a given list of userIDs 
+     using 2 factor matrices L and R. We assume that all users have rates 
+     at least once and all items have been rates at least once.
+    
     
     
     :param userIDs: Column vector of user-ids (n x 1)
     :param I: Indicator matrix user-id x user-id to exclude from scoring
     :param L: The factor matrix L: user-id x feature-id
     :param R: The factor matrix R: feature-id x item-id
-    :return: 'OperationNode' containing 
-        the output user-id/item-id/score# 
+    :return: The output user-id/item-id/score#
     """
+
     params_dict = {'userIDs': userIDs, 'I': I, 'L': L, 'R': R}
     return Matrix(userIDs.sds_context,
         'alsPredict',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py b/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py
index 86eb1a9483..1c51abe4b9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py
@@ -35,9 +35,10 @@ def alsTopkPredict(userIDs: Matrix,
                    R: Matrix,
                    **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script computes the top-K rating/scores for a given list of userIDs 
-    using 2 factor matrices L and R. We assume that all users have rates 
-    at least once and all items have been rates at least once.
+     This script computes the top-K rating/scores for a given list of userIDs 
+     using 2 factor matrices L and R. We assume that all users have rates 
+     at least once and all items have been rates at least once.
+    
     
     
     :param userIDs: Column vector of user-ids (n x 1)
@@ -45,9 +46,10 @@ def alsTopkPredict(userIDs: Matrix,
     :param L: The factor matrix L: user-id x feature-id
     :param R: The factor matrix R: feature-id x item-id
     :param K: The number of top-K items
-    :return: 'OperationNode' containing 
-        a matrix containing the top-k item-ids with highest predicted ratings for the specified users (rows)a matrix containing the top-k predicted ratings for the specified users (rows) 
+    :return: A matrix containing the top-K item-ids with highest predicted ratings for the specified users (rows)
+    :return: A matrix containing the top-K predicted ratings for the specified users (rows)
     """
+
     params_dict = {'userIDs': userIDs, 'I': I, 'L': L, 'R': R}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/apply_pipeline.py b/src/main/python/systemds/operator/algorithm/builtin/apply_pipeline.py
index 7b232ccd6b..be1100b412 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/apply_pipeline.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/apply_pipeline.py
@@ -37,9 +37,10 @@ def apply_pipeline(testData: Frame,
                    iState: List,
                    **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script will read the dirty and clean data, then it will apply the best pipeline on dirty data
-    and then will classify both cleaned dataset and check if the cleaned dataset is performing same as original dataset
-    in terms of classification accuracy
+     This script will read the dirty and clean data, then it will apply the best pipeline on dirty data
+     and then will classify both cleaned dataset and check if the cleaned dataset is performing same as original dataset
+     in terms of classification accuracy
+    
     
     
     :param trainData: ---
@@ -52,9 +53,9 @@ def apply_pipeline(testData: Frame,
     :param evalFunHp: ---
     :param isLastLabel: ---
     :param correctTypos: ---
-    :return: 'OperationNode' containing 
-        --- 
+    :return: ---
     """
+
     params_dict = {'testData': testData, 'pip': pip, 'applyFunc': applyFunc, 'hp': hp, 'exState': exState, 'iState': iState}
     params_dict.update(kwargs)
     return Matrix(testData.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/arima.py b/src/main/python/systemds/operator/algorithm/builtin/arima.py
index 38669c7b69..d1f4abc64f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/arima.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/arima.py
@@ -32,7 +32,8 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def arima(X: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function that implements ARIMA
+     Builtin function that implements ARIMA
+    
     
     
     :param X: The input Matrix to apply Arima on.
@@ -46,9 +47,9 @@ def arima(X: Matrix,
     :param s: period in terms of number of time-steps
     :param include_mean: center to mean 0, and include in result
     :param solver: solver, is either "cg" or "jacobi"
-    :return: 'OperationNode' containing 
-        the calculated coefficients 
+    :return: The calculated coefficients
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/autoencoder_2layer.py b/src/main/python/systemds/operator/algorithm/builtin/autoencoder_2layer.py
index b6012ef345..b55fa5eb0d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/autoencoder_2layer.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/autoencoder_2layer.py
@@ -35,13 +35,14 @@ def autoencoder_2layer(X: Matrix,
                        max_epochs: int,
                        **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Trains a 2-layer autoencoder with minibatch SGD and step-size decay.
-    If invoked with H1 > H2 then it becomes a 'bowtie' structured autoencoder
-    Weights are initialized using Glorot & Bengio (2010) AISTATS initialization.
-    The script standardizes the input before training (can be turned off).
-    Also, it randomly reshuffles rows before training.
-    Currently, tanh is set to be the activation function. 
-    By re-implementing 'func' DML-bodied function, one can change the activation.
+     Trains a 2-layer autoencoder with minibatch SGD and step-size decay.
+     If invoked with H1 > H2 then it becomes a 'bowtie' structured autoencoder
+     Weights are initialized using Glorot & Bengio (2010) AISTATS initialization.
+     The script standardizes the input before training (can be turned off).
+     Also, it randomly reshuffles rows before training.
+     Currently, tanh is set to be the activation function. 
+     By re-implementing 'func' DML-bodied function, one can change the activation.
+    
     
     
     :param X: Filename where the input is stored
@@ -59,9 +60,17 @@ def autoencoder_2layer(X: Matrix,
     :param W2_rand: ---
     :param W3_rand: ---
     :param W4_rand: ---
-    :return: 'OperationNode' containing 
-        matrix storing weights between input layer and 1st hidden layermatrix storing bias between input layer and 1st hidden layermatrix storing weights between 1st hidden layer and 2nd hidden layermatrix storing bias between 1st hidden layer and 2nd hidden layermatrix storing weights between 2nd hidden layer and 3rd hidden layermatrix storing bias between 2nd hidden layer and 3rd hidden layermatrix storing weights between 3rd hidden layer and output layermatrix storing bias between 3rd [...]
+    :return: Matrix storing weights between input layer and 1st hidden layer
+    :return: Matrix storing bias between input layer and 1st hidden layer
+    :return: Matrix storing weights between 1st hidden layer and 2nd hidden layer
+    :return: Matrix storing bias between 1st hidden layer and 2nd hidden layer
+    :return: Matrix storing weights between 2nd hidden layer and 3rd hidden layer
+    :return: Matrix storing bias between 2nd hidden layer and 3rd hidden layer
+    :return: Matrix storing weights between 3rd hidden layer and output layer
+    :return: Matrix storing bias between 3rd hidden layer and output layer
+    :return: Matrix storing the hidden (2nd) layer representation if needed
     """
+
     params_dict = {'X': X, 'num_hidden1': num_hidden1, 'num_hidden2': num_hidden2, 'max_epochs': max_epochs}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/bandit.py b/src/main/python/systemds/operator/algorithm/builtin/bandit.py
index 64ea2a1a3d..fe433c45a2 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/bandit.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/bandit.py
@@ -44,8 +44,9 @@ def bandit(X_train: Matrix,
            cv: bool,
            **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    In The bandit function the objective is to find an arm that optimizes
-    a known functional of the unknown arm-reward distributions.
+     In The bandit function the objective is to find an arm that optimizes
+     a known functional of the unknown arm-reward distributions.
+    
     
     
     :param X_train: ---
@@ -65,9 +66,9 @@ def bandit(X_train: Matrix,
     :param cvk: ---
     :param verbose: ---
     :param output: ---
-    :return: 'OperationNode' containing 
-        --- 
+    :return: ---
     """
+
     params_dict = {'X_train': X_train, 'Y_train': Y_train, 'X_test': X_test, 'Y_test': Y_test, 'metaList': metaList, 'evaluationFunc': evaluationFunc, 'evalFunHp': evalFunHp, 'lp': lp, 'lpHp': lpHp, 'primitives': primitives, 'param': param, 'baseLineScore': baseLineScore, 'cv': cv}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/bivar.py b/src/main/python/systemds/operator/algorithm/builtin/bivar.py
index b2e02a5408..6f278220d8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/bivar.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/bivar.py
@@ -36,9 +36,10 @@ def bivar(X: Matrix,
           T2: Matrix,
           verbose: bool):
     """
-    For a given pair of attribute sets, compute bivariate statistics between all attribute pairs.
-    Given, index1 = {A_11, A_12, ... A_1m} and index2 = {A_21, A_22, ... A_2n}
-    compute bivariate stats for m*n pairs (A_1i, A_2j), (1<= i <=m) and (1<= j <=n).
+     For a given pair of attribute sets, compute bivariate statistics between all attribute pairs.
+     Given, index1 = {A_11, A_12, ... A_1m} and index2 = {A_21, A_22, ... A_2n}
+     compute bivariate stats for m*n pairs (A_1i, A_2j), (1<= i <=m) and (1<= j <=n).
+    
     
     
     :param X: Input matrix
@@ -47,9 +48,12 @@ def bivar(X: Matrix,
     :param T1: Kind for attributes in S1
         (kind=1 for scale, kind=2 for nominal, kind=3 for ordinal)
     :param verbose: Print bivar stats
-    :return: 'OperationNode' containing 
-        basestats_scale_scale as output with bivar statsbasestats_nominal_scale as output with bivar statsbasestats_nominal_nominal as output with bivar statsbasestats_ordinal_ordinal as output with bivar stats 
+    :return: basestats_scale_scale as output with bivar stats
+    :return: basestats_nominal_scale as output with bivar stats
+    :return: basestats_nominal_nominal as output with bivar stats
+    :return: basestats_ordinal_ordinal as output with bivar stats
     """
+
     params_dict = {'X': X, 'S1': S1, 'S2': S2, 'T1': T1, 'T2': T2, 'verbose': verbose}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/components.py b/src/main/python/systemds/operator/algorithm/builtin/components.py
index 6133a4bf1e..f94288eb3f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/components.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/components.py
@@ -32,10 +32,11 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def components(G: Matrix,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Computes the connected components of a graph and returns a
-    vector indicating the assignment of vertices to components,
-    where each component is identified by the maximum vertex ID
-    (i.e., row/column position of the input graph) 
+     Computes the connected components of a graph and returns a
+     vector indicating the assignment of vertices to components,
+     where each component is identified by the maximum vertex ID
+     (i.e., row/column position of the input graph) 
+    
     
     
     :param X: Location to read the matrix of feature vectors
@@ -48,9 +49,9 @@ def components(G: Matrix,
     :param maxi: max. number of outer (Newton) iterations
     :param maxii: max. number of inner (conjugate gradient) iterations, 0 = no max
     :param verbose: flag specifying if logging information should be printed
-    :return: 'OperationNode' containing 
-        regression betas as output for prediction 
+    :return: regression betas as output for prediction
     """
+
     params_dict = {'G': G}
     params_dict.update(kwargs)
     return Matrix(G.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py b/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py
index f2183706b8..b230c3a906 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py
@@ -32,27 +32,28 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def confusionMatrix(P: Matrix,
                     Y: Matrix):
     """
-    Accepts a vector for prediction and a one-hot-encoded matrix
-    Then it computes the max value of each vector and compare them
-    After which, it calculates and returns the sum of classifications
-    and the average of each true class.
-                      True Labels
-                        1    2
-                    1   TP | FP
-      Predictions      ----+----
-                    2   FN | TN
-    TP = True Positives
-    FP = False Positives
-    FN = False Negatives
-    TN = True Negatives
+     Accepts a vector for prediction and a one-hot-encoded matrix
+     Then it computes the max value of each vector and compare them
+     After which, it calculates and returns the sum of classifications
+     and the average of each true class.
+    
+     .. code-block:: txt
+    
+                       True Labels
+                         1    2
+                     1   TP | FP
+       Predictions      ----+----
+                     2   FN | TN
+    
     
     
     :param P: vector of Predictions
     :param Y: vector of Golden standard One Hot Encoded; the one hot
         encoded vector of actual labels
-    :return: 'OperationNode' containing 
-        the confusion matrix sums of classificationsthe confusion matrix averages of each true class 
+    :return: The Confusion Matrix Sums of classifications
+    :return: The Confusion Matrix averages of each true class
     """
+
     params_dict = {'P': P, 'Y': Y}
     
     vX_0 = Matrix(P.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cor.py b/src/main/python/systemds/operator/algorithm/builtin/cor.py
index bb5a87c29d..a19af9bccd 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cor.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cor.py
@@ -31,13 +31,14 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def cor(X: Matrix):
     """
-    This Function compute correlation matrix
+     This Function compute correlation matrix
+    
     
     
     :param X: A Matrix Input to compute the correlation on
-    :return: 'OperationNode' containing 
-        correlation matrix of the input matrix 
+    :return: Correlation matrix of the input matrix
     """
+
     params_dict = {'X': X}
     return Matrix(X.sds_context,
         'cor',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/correctTypos.py b/src/main/python/systemds/operator/algorithm/builtin/correctTypos.py
index 59ad8e1d5c..1dd4cdf350 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/correctTypos.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/correctTypos.py
@@ -32,24 +32,28 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def correctTypos(strings: Frame,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Corrects corrupted frames of strings
-    This algorithm operates on the assumption that most strings are correct
-    and simply swaps strings that do not occur often with similar strings that 
-    occur more often
-    References:
-    Fred J. Damerau. 1964. 
-      A technique for computer detection and correction of spelling errors. 
-      Commun. ACM 7, 3 (March 1964), 171–176. 
-      DOI:https://doi.org/10.1145/363958.363994
+     Corrects corrupted frames of strings
+     This algorithm operates on the assumption that most strings are correct
+     and simply swaps strings that do not occur often with similar strings that 
+     occur more often
+    
+     .. code-block:: txt
+    
+       References:
+       Fred J. Damerau. 1964. 
+         A technique for computer detection and correction of spelling errors. 
+         Commun. ACM 7, 3 (March 1964), 171–176. 
+         DOI:https://doi.org/10.1145/363958.363994
+    
     
     
     :param strings: The nx1 input frame of corrupted strings
     :param frequency_threshold: Strings that occur above this frequency level will not be corrected
     :param distance_threshold: Max distance at which strings are considered similar
     :param is_verbose: Print debug information
-    :return: 'OperationNode' containing 
-        corrected nx1 output frame 
+    :return: Corrected nx1 output frame
     """
+
     params_dict = {'strings': strings}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/correctTyposApply.py b/src/main/python/systemds/operator/algorithm/builtin/correctTyposApply.py
index c93a4cc418..e9e2ddf11f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/correctTyposApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/correctTyposApply.py
@@ -34,16 +34,21 @@ def correctTyposApply(strings: Frame,
                       dict: Frame,
                       **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Corrects corrupted frames of strings
-    This algorithm operates on the assumption that most strings are correct
-    and simply swaps strings that do not occur often with similar strings that 
-    occur more often
-    References:
-    Fred J. Damerau. 1964. 
-      A technique for computer detection and correction of spelling errors. 
-      Commun. ACM 7, 3 (March 1964), 171–176. 
-      DOI:https://doi.org/10.1145/363958.363994
-    TODO: future: add parameter for list of words that are sure to be correct
+     Corrects corrupted frames of strings
+     This algorithm operates on the assumption that most strings are correct
+     and simply swaps strings that do not occur often with similar strings that 
+     occur more often
+    
+     .. code-block:: txt
+    
+       References:
+       Fred J. Damerau. 1964. 
+         A technique for computer detection and correction of spelling errors. 
+         Commun. ACM 7, 3 (March 1964), 171–176. 
+         DOI:https://doi.org/10.1145/363958.363994
+    
+     TODO: future: add parameter for list of words that are sure to be correct
+    
     
     
     :param strings: The nx1 input frame of corrupted strings
@@ -52,9 +57,9 @@ def correctTyposApply(strings: Frame,
     :param distance_threshold: Max distance at which strings are considered similar
     :param distance matrix: ---
     :param dict: ---
-    :return: 'OperationNode' containing 
-        corrected nx1 output frame 
+    :return: Corrected nx1 output frame
     """
+
     params_dict = {'strings': strings, 'distance_matrix': distance_matrix, 'dict': dict}
     params_dict.update(kwargs)
     return Matrix(strings.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cox.py b/src/main/python/systemds/operator/algorithm/builtin/cox.py
index b00c511a3a..edd4120289 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cox.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cox.py
@@ -35,10 +35,10 @@ def cox(X: Matrix,
         R: Matrix,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script fits a cox Proportional hazard regression model.
-    The Breslow method is used for handling ties and the regression parameters 
-    are computed using trust region newton method with conjugate gradient 
-    
+     This script fits a cox Proportional hazard regression model.
+     The Breslow method is used for handling ties and the regression parameters 
+     are computed using trust region newton method with conjugate gradient 
+     
     
     
     :param X: Location to read the input matrix X containing the survival data
@@ -63,31 +63,33 @@ def cox(X: Matrix,
     :param tol: Tolerance ("epsilon")
     :param moi: Max. number of outer (Newton) iterations
     :param mii: Max. number of inner (conjugate gradient) iterations, 0 = no max
-    :return: 'OperationNode' containing 
-        a d x 7 matrix m, where d denotes the number of covariates, with the following schema:
-        m[,1]: betas
-        m[,2]: exp(betas)
-        m[,3]: standard error of betas
-        m[,4]: z
-        m[,5]: p-value
-        m[,6]: lower 100*(1-alpha)% confidence interval of betas
-        m[,7]: upper 100*(1-alpha)% confidence interval of betastwo matrices containing a summary of some statistics of the fitted model:
-        1 - file s with the following format
+    :return: A D x 7 matrix M, where D denotes the number of covariates, with the following schema:
+        M[,1]: betas
+        M[,2]: exp(betas)
+        M[,3]: standard error of betas
+        M[,4]: Z
+        M[,5]: P-value
+        M[,6]: lower 100*(1-alpha)% confidence interval of betas
+        M[,7]: upper 100*(1-alpha)% confidence interval of betas
+    :return: Two matrices containing a summary of some statistics of the fitted model:
+        1 - File S with the following format
         - row 1: no. of observations
         - row 2: no. of events
         - row 3: log-likelihood
-        - row 4: aic
-        - row 5: rsquare (cox & snell)
-        - row 6: max possible rsquare
-        2 - file t with the following format
-        - row 1: likelihood ratio test statistic, degree of freedom, p-value
-        - row 2: wald test statistic, degree of freedom, p-value
-        - row 3: score (log-rank) test statistic, degree of freedom, p-valueadditionally, the following matrices are stored (needed for prediction)
-        1- a column matrix rt that contains the order-preserving recoded timestamps from x
-        2- matrix xo which is matrix x with sorted timestamps
-        3- variance-covariance matrix of the betas cov
-        4- a column matrix mf that contains the column indices of x with the baseline factors removed (if available) 
+        - row 4: AIC
+        - row 5: Rsquare (Cox & Snell)
+        - row 6: max possible Rsquare
+        2 - File T with the following format
+        - row 1: Likelihood ratio test statistic, degree of freedom, P-value
+        - row 2: Wald test statistic, degree of freedom, P-value
+        - row 3: Score (log-rank) test statistic, degree of freedom, P-value
+    :return: Additionally, the following matrices are stored (needed for prediction)
+        1- A column matrix RT that contains the order-preserving recoded timestamps from X
+        2- Matrix XO which is matrix X with sorted timestamps
+        3- Variance-covariance matrix of the betas COV
+        4- A column matrix MF that contains the column indices of X with the baseline factors removed (if available)
     """
+
     params_dict = {'X': X, 'TE': TE, 'F': F, 'R': R}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cspline.py b/src/main/python/systemds/operator/algorithm/builtin/cspline.py
index e84f9b01d5..bf7db602da 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cspline.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cspline.py
@@ -34,9 +34,11 @@ def cspline(X: Matrix,
             inp_x: float,
             **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Solves Cubic Spline Interpolation
-    Algorithms: implement https://en.wikipedia.org/wiki/Spline_interpolation#Algorithm_to_find_the_interpolating_cubic_spline
-    It use natural spline with q1''(x0) == qn''(xn) == 0.0
+     Solves Cubic Spline Interpolation
+    
+     Algorithms: implement https://en.wikipedia.org/wiki/Spline_interpolation#Algorithm_to_find_the_interpolating_cubic_spline
+     It use natural spline with q1''(x0) == qn''(xn) == 0.0
+    
     
     
     :param X: 1-column matrix of x values knots. It is assumed that x values are
@@ -47,9 +49,10 @@ def cspline(X: Matrix,
     :param tol: Tolerance (epsilon); conjugate graduent procedure terminates early if
         L2 norm of the beta-residual is less than tolerance * its initial norm
     :param maxi: Maximum number of conjugate gradient iterations, 0 = no maximum
-    :return: 'OperationNode' containing 
-        predicted valuematrix of k parameters 
+    :return: Predicted value
+    :return: Matrix of k parameters
     """
+
     params_dict = {'X': X, 'Y': Y, 'inp_x': inp_x}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/csplineCG.py b/src/main/python/systemds/operator/algorithm/builtin/csplineCG.py
index 1e5e52929a..fa6dcb04f9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/csplineCG.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/csplineCG.py
@@ -34,7 +34,8 @@ def csplineCG(X: Matrix,
               inp_x: float,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin that solves cubic spline interpolation using conjugate gradient algorithm
+     Builtin that solves cubic spline interpolation using conjugate gradient algorithm
+    
     
     
     :param X: 1-column matrix of x values knots. It is assumed that x values are
@@ -44,9 +45,10 @@ def csplineCG(X: Matrix,
     :param tol: Tolerance (epsilon); conjugate graduent procedure terminates early if
         L2 norm of the beta-residual is less than tolerance * its initial norm
     :param maxi: Maximum number of conjugate gradient iterations, 0 = no maximum
-    :return: 'OperationNode' containing 
-        predicted valuematrix of k parameters 
+    :return: Predicted value
+    :return: Matrix of k parameters
     """
+
     params_dict = {'X': X, 'Y': Y, 'inp_x': inp_x}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py b/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py
index dfdfa536df..04a1d6f9a5 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py
@@ -33,16 +33,18 @@ def csplineDS(X: Matrix,
               Y: Matrix,
               inp_x: float):
     """
-    Builtin that solves cubic spline interpolation using a direct solver.
+     Builtin that solves cubic spline interpolation using a direct solver.
+    
     
     
     :param X: 1-column matrix of x values knots. It is assumed that x values are
         monotonically increasing and there is no duplicates points in X
     :param Y: 1-column matrix of corresponding y values knots
     :param inp_x: the given input x, for which the cspline will find predicted y.
-    :return: 'OperationNode' containing 
-        predicted valuematrix of k parameters 
+    :return: Predicted value
+    :return: Matrix of k parameters
     """
+
     params_dict = {'X': X, 'Y': Y, 'inp_x': inp_x}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cvlm.py b/src/main/python/systemds/operator/algorithm/builtin/cvlm.py
index 35f8e519e5..ff9aaed29c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cvlm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cvlm.py
@@ -34,9 +34,10 @@ def cvlm(X: Matrix,
          k: int,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The cvlm-function is used for cross-validation of the provided data model. This function follows a non-exhaustive cross
-    validation method. It uses lm and lmPredict functions to solve the linear regression and to predict the class of a
-    feature vector with no intercept, shifting, and rescaling.
+     The cvlm-function is used for cross-validation of the provided data model. This function follows a non-exhaustive cross
+     validation method. It uses lm and lmPredict functions to solve the linear regression and to predict the class of a
+     feature vector with no intercept, shifting, and rescaling.
+    
     
     
     :param X: Recorded Data set into matrix
@@ -45,9 +46,10 @@ def cvlm(X: Matrix,
     :param icpt: Intercept presence, shifting and rescaling the columns of X
     :param reg: Regularization constant (lambda) for L2-regularization. set to nonzero for
         highly dependant/sparse/numerous features
-    :return: 'OperationNode' containing 
-        response valuesvalidated data set 
+    :return: Response values
+    :return: Validated data set
     """
+
     params_dict = {'X': X, 'y': y, 'k': k}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dbscan.py b/src/main/python/systemds/operator/algorithm/builtin/dbscan.py
index 541b272a58..35fb0dda50 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dbscan.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dbscan.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def dbscan(X: Matrix,
            **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Implements the DBSCAN clustering algorithm using Euclidian distance matrix
+     Implements the DBSCAN clustering algorithm using Euclidian distance matrix
+    
     
     
     :param X: The input Matrix to do DBSCAN on.
     :param eps: Maximum distance between two points for one to be considered reachable for the other.
     :param minPts: Number of points in a neighborhood for a point to be considered as a core point
         (includes the point itself).
-    :return: 'OperationNode' containing 
-        clustering matrix 
+    :return: clustering Matrix
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dbscanApply.py b/src/main/python/systemds/operator/algorithm/builtin/dbscanApply.py
index 0d254e79cc..42a29dc323 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dbscanApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dbscanApply.py
@@ -33,16 +33,16 @@ def dbscanApply(X: Matrix,
                 clusterModel: Matrix,
                 eps: float):
     """
-    Implements the outlier detection/prediction algorithm using a DBScan model
+     Implements the outlier detection/prediction algorithm using a DBScan model
+    
     
     
-    :param NAME: MEANING
     :param X: The input Matrix to do outlier detection on.
     :param clusterModel: Model of clusters to predict outliers against.
     :param eps: Maximum distance between two points for one to be considered reachable for the other.
-    :return: 'OperationNode' containing 
-        meaningpredicted outliers 
+    :return: Predicted outliers
     """
+
     params_dict = {'X': X, 'clusterModel': clusterModel, 'eps': eps}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py b/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py
index 9b321898e2..4fb2ee5688 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py
@@ -34,7 +34,8 @@ def decisionTree(X: Matrix,
                  R: Matrix,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin script implementing classification trees with scale and categorical features
+     Builtin script implementing classification trees with scale and categorical features
+    
     
     
     :param X: Feature matrix X; note that X needs to be both recoded and dummy coded
@@ -46,25 +47,25 @@ def decisionTree(X: Matrix,
     :param bins: Number of equiheight bins per scale feature to choose thresholds
     :param depth: Maximum depth of the learned tree
     :param verbose: boolean specifying if the algorithm should print information while executing
-    :return: 'OperationNode' containing 
-        matrix m where each column corresponds to a node in the learned tree and each row
+    :return: Matrix M where each column corresponds to a node in the learned tree and each row
         contains the following information:
-        m[1,j]: id of node j (in a complete binary tree)
-        m[2,j]: offset (no. of columns) to left child of j if j is an internal node, otherwise 0
-        m[3,j]: feature index of the feature (scale feature id if the feature is scale or
+        M[1,j]: id of node j (in a complete binary tree)
+        M[2,j]: Offset (no. of columns) to left child of j if j is an internal node, otherwise 0
+        M[3,j]: Feature index of the feature (scale feature id if the feature is scale or
         categorical feature id if the feature is categorical)
         that node j looks at if j is an internal node, otherwise 0
-        m[4,j]: type of the feature that node j looks at if j is an internal node: holds
-        the same information as r input vector
-        m[5,j]: if j is an internal node: 1 if the feature chosen for j is scale,
+        M[4,j]: Type of the feature that node j looks at if j is an internal node: holds
+        the same information as R input vector
+        M[5,j]: If j is an internal node: 1 if the feature chosen for j is scale,
         otherwise the size of the subset of values
         stored in rows 6,7,... if j is categorical
-        if j is a leaf node: number of misclassified samples reaching at node j
-        m[6:,j]: if j is an internal node: threshold the example's feature value is compared
-        to is stored at m[6,j] if the feature chosen for j is scale,
+        If j is a leaf node: number of misclassified samples reaching at node j
+        M[6:,j]: If j is an internal node: Threshold the example's feature value is compared
+        to is stored at M[6,j] if the feature chosen for j is scale,
         otherwise if the feature chosen for j is categorical rows 6,7,... depict the value subset chosen for j
-        if j is a leaf node 1 if j is impure and the number of samples at j > threshold, otherwise 0 
+        If j is a leaf node 1 if j is impure and the number of samples at j > threshold, otherwise 0
     """
+
     params_dict = {'X': X, 'Y': Y, 'R': R}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/decisionTreePredict.py b/src/main/python/systemds/operator/algorithm/builtin/decisionTreePredict.py
index 7c485fa3c8..51a396eef7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/decisionTreePredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/decisionTreePredict.py
@@ -33,8 +33,10 @@ def decisionTreePredict(M: Matrix,
                         X: Matrix,
                         strategy: str):
     """
-    Builtin script implementing prediction based on classification trees with scale features using prediction methods of the
-    Hummingbird paper (https://www.usenix.org/system/files/osdi20-nakandala.pdf).
+    
+     Builtin script implementing prediction based on classification trees with scale features using prediction methods of the
+     Hummingbird paper (https://www.usenix.org/system/files/osdi20-nakandala.pdf).
+    
     
     
     :param M: Decision tree matrix M, as generated by scripts/builtin/decisionTree.dml, where each column corresponds
@@ -57,9 +59,9 @@ def decisionTreePredict(M: Matrix,
     :param X: Feature matrix X
     :param strategy: Prediction strategy, can be one of ["GEMM", "TT", "PTT"], referring to "Generic matrix multiplication",
         "Tree traversal", and "Perfect tree traversal", respectively
-    :return: 'OperationNode' containing 
-        matrix containing the predicted labels for x 
+    :return: Matrix containing the predicted labels for X
     """
+
     params_dict = {'M': M, 'X': X, 'strategy': strategy}
     return Matrix(M.sds_context,
         'decisionTreePredict',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/deepWalk.py b/src/main/python/systemds/operator/algorithm/builtin/deepWalk.py
index 3295690676..1cecded9ee 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/deepWalk.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/deepWalk.py
@@ -36,7 +36,8 @@ def deepWalk(Graph: Matrix,
              t: int,
              **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script performs DeepWalk on a given graph (https://arxiv.org/pdf/1403.6652.pdf)
+     This script performs DeepWalk on a given graph (https://arxiv.org/pdf/1403.6652.pdf)
+    
     
     
     :param Graph: adjacency matrix of a graph (n x n)
@@ -46,9 +47,9 @@ def deepWalk(Graph: Matrix,
     :param t: walk length
     :param alpha: learning rate
     :param beta: factor for decreasing learning rate
-    :return: 'OperationNode' containing 
-        matrix of vertex/word representation (n x d) 
+    :return: matrix of vertex/word representation (n x d)
     """
+
     params_dict = {'Graph': Graph, 'w': w, 'd': d, 'gamma': gamma, 't': t}
     params_dict.update(kwargs)
     return Matrix(Graph.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/denialConstraints.py b/src/main/python/systemds/operator/algorithm/builtin/denialConstraints.py
index ab46e7fac8..3c7d8724e6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/denialConstraints.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/denialConstraints.py
@@ -32,31 +32,39 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def denialConstraints(dataFrame: Frame,
                       constraintsFrame: Frame):
     """
-    This function considers some constraints indicating statements that can NOT happen in the data (denial constraints).
-      EXAMPLE:
-      dataFrame:
-           rank       discipline   yrs.since.phd   yrs.service   sex      salary
-      1    Prof       B            19              18            Male     139750
-      2    Prof       B            20              16            Male     173200
-      3    AsstProf   B            3               3             Male     79750.56
-      4    Prof       B            45              39            Male     115000
-      5    Prof       B            40              40            Male     141500
-      6    AssocProf  B            6               6             Male     97000
-      7    Prof       B            30              23            Male     175000
-      8    Prof       B            45              45            Male     147765
-      9    Prof       B            21              20            Male     119250
-      10   Prof       B            18              18            Female   129000
-      11   AssocProf  B            12              8             Male     119800
-      12   AsstProf   B            7               2             Male     79800
-      13   AsstProf   B            1               1             Male     77700
-      constraintsFrame:
-         
-      idx   constraint.type   group.by   group.variable      group.option   variable1      relation   variable2
-      1     variableCompare   FALSE                                         yrs.since.phd  <          yrs.service
-      2     instanceCompare   TRUE       rank                Prof           yrs.service    ><         salary
-      3     valueCompare      FALSE                                         salary         =          78182
-      4     variableCompare   TRUE       discipline          B              yrs.service    >          yrs.since.phd
-      Example: explanation of constraint 2 --> it can't happen that one professor of rank Prof has more years of service than other, but lower salary.
+     This function considers some constraints indicating statements that can NOT happen in the data (denial constraints).
+    
+     .. code-block:: txt
+    
+       EXAMPLE:
+       dataFrame:
+    
+            rank       discipline   yrs.since.phd   yrs.service   sex      salary
+       1    Prof       B            19              18            Male     139750
+       2    Prof       B            20              16            Male     173200
+       3    AsstProf   B            3               3             Male     79750.56
+       4    Prof       B            45              39            Male     115000
+       5    Prof       B            40              40            Male     141500
+       6    AssocProf  B            6               6             Male     97000
+       7    Prof       B            30              23            Male     175000
+       8    Prof       B            45              45            Male     147765
+       9    Prof       B            21              20            Male     119250
+       10   Prof       B            18              18            Female   129000
+       11   AssocProf  B            12              8             Male     119800
+       12   AsstProf   B            7               2             Male     79800
+       13   AsstProf   B            1               1             Male     77700
+    
+       constraintsFrame:
+          
+       idx   constraint.type   group.by   group.variable      group.option   variable1      relation   variable2
+       1     variableCompare   FALSE                                         yrs.since.phd  <          yrs.service
+       2     instanceCompare   TRUE       rank                Prof           yrs.service    ><         salary
+       3     valueCompare      FALSE                                         salary         =          78182
+       4     variableCompare   TRUE       discipline          B              yrs.service    >          yrs.since.phd
+    
+    
+     Example: explanation of constraint 2 --> it can't happen that one professor of rank Prof has more years of service than other, but lower salary.
+    
     
     
     :param dataFrame: frame which columns represent the variables of the data and the rows correspond
@@ -77,12 +85,12 @@ def denialConstraints(dataFrame: Frame,
         7. relation: (string) can be < , > or = in the case of variableCompare and valueCompare, and < >, < < , > < or > >
         in the case of instanceCompare
         8. variable2: (string) second variable to compare (name of column in dataFrame) or fixed value for the case of valueCompare.
-    :return: 'OperationNode' containing 
-        matrix of 2 columns.
-        - first column shows the indexes of dataframe that are wrong.
-        - second column shows the index of the denial constraint that is fulfilled
-        if there are no wrong instances to show (0 constrains fulfilled) --> wronginstances=matrix(0,1,2) 
+    :return: Matrix of 2 columns.
+        - First column shows the indexes of dataFrame that are wrong.
+        - Second column shows the index of the denial constraint that is fulfilled
+        If there are no wrong instances to show (0 constrains fulfilled) --> WrongInstances=matrix(0,1,2)
     """
+
     params_dict = {'dataFrame': dataFrame, 'constraintsFrame': constraintsFrame}
     return Matrix(dataFrame.sds_context,
         'denialConstraints',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py b/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py
index 11d2b7eb4e..fca2e24df0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py
@@ -33,17 +33,17 @@ def discoverFD(X: Matrix,
                Mask: Matrix,
                threshold: float):
     """
-    Implements builtin for finding functional dependencies
-    
+     Implements builtin for finding functional dependencies
+     
     
     
     :param X: Input Matrix X, encoded Matrix if data is categorical
     :param Mask: A row vector for interested features i.e. Mask =[1, 0, 1]
         will exclude the second column from processing
     :param threshold: threshold value in interval [0, 1] for robust FDs
-    :return: 'OperationNode' containing 
-        matrix of functional dependencies 
+    :return: matrix of functional dependencies
     """
+
     params_dict = {'X': X, 'Mask': Mask, 'threshold': threshold}
     return Matrix(X.sds_context,
         'discoverFD',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dist.py b/src/main/python/systemds/operator/algorithm/builtin/dist.py
index 933bfe0de9..4933299703 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dist.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dist.py
@@ -31,13 +31,14 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def dist(X: Matrix):
     """
-    Returns Euclidean distance matrix (distances between N n-dimensional points)
+     Returns Euclidean distance matrix (distances between N n-dimensional points)
+    
     
     
     :param X: Matrix to calculate the distance inside
-    :return: 'OperationNode' containing 
-        euclidean distance matrix 
+    :return: Euclidean distance matrix
     """
+
     params_dict = {'X': X}
     return Matrix(X.sds_context,
         'dist',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dmv.py b/src/main/python/systemds/operator/algorithm/builtin/dmv.py
index c95b9535cc..deaf3ea8a6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dmv.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dmv.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def dmv(X: Frame,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The dmv-function is used to find disguised missing values utilising syntactical pattern recognition.
+     The dmv-function is used to find disguised missing values utilising syntactical pattern recognition.
+    
     
     
     :param X: Input Frame
     :param threshold: Threshold value in interval [0, 1] for dominant pattern per column (e.g., 0.8 means
         that 80% of the entries per column must adhere this pattern to be dominant)
     :param replace: The string disguised missing values are replaced with
-    :return: 'OperationNode' containing 
-        frame x including detected disguised missing values 
+    :return: Frame X including detected disguised missing values
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/ema.py b/src/main/python/systemds/operator/algorithm/builtin/ema.py
index 485bc60463..4e0ccca6bb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/ema.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/ema.py
@@ -37,7 +37,8 @@ def ema(X: Frame,
         beta: float,
         gamma: float):
     """
-    This function imputes values with exponential moving average (single, double or triple).
+     This function imputes values with exponential moving average (single, double or triple).
+    
     
     
     :param X: Frame that contains time series data that needs to be imputed
@@ -48,9 +49,9 @@ def ema(X: Frame,
     :param alpha: alpha- value for EMA
     :param beta: beta- value for EMA
     :param gamma: gamma- value for EMA
-    :return: 'OperationNode' containing 
-        frame with ema results 
+    :return: Frame with EMA results
     """
+
     params_dict = {'X': X, 'search_iterations': search_iterations, 'mode': mode, 'freq': freq, 'alpha': alpha, 'beta': beta, 'gamma': gamma}
     return Matrix(X.sds_context,
         'ema',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/executePipeline.py b/src/main/python/systemds/operator/algorithm/builtin/executePipeline.py
index 52a885f182..021925e2b9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/executePipeline.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/executePipeline.py
@@ -40,7 +40,8 @@ def executePipeline(pipeline: Frame,
                     verbose: bool,
                     **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function execute pipeline.
+     This function execute pipeline.
+    
     
     
     :param logical: ---
@@ -56,9 +57,15 @@ def executePipeline(pipeline: Frame,
     :param flagsCount: ---
     :param test: ---
     :param verbose: ---
-    :return: 'OperationNode' containing 
-        --------------------- 
+    :return: ---
+    :return: ---
+    :return: ---
+    :return: ---
+    :return: ---
+    :return: ---
+    :return: ---
     """
+
     params_dict = {'pipeline': pipeline, 'Xtrain': Xtrain, 'Ytrain': Ytrain, 'Xtest': Xtest, 'Ytest': Ytest, 'metaList': metaList, 'hyperParameters': hyperParameters, 'flagsCount': flagsCount, 'verbose': verbose}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/ffPredict.py b/src/main/python/systemds/operator/algorithm/builtin/ffPredict.py
index e262b747e6..93531d2236 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/ffPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/ffPredict.py
@@ -33,15 +33,16 @@ def ffPredict(model: List,
               X: Matrix,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This builtin function makes prediction given data and trained feedforward neural network model
+     This builtin function makes prediction given data and trained feedforward neural network model
+    
     
     
     :param Model: Trained ff neural network model
     :param X: Data used for making predictions
     :param batch_size: Batch size
-    :return: 'OperationNode' containing 
-        predicted value 
+    :return: Predicted value
     """
+
     params_dict = {'model': model, 'X': X}
     params_dict.update(kwargs)
     return Matrix(model.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/ffTrain.py b/src/main/python/systemds/operator/algorithm/builtin/ffTrain.py
index 366493c136..02435a9550 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/ffTrain.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/ffTrain.py
@@ -35,9 +35,10 @@ def ffTrain(X: Matrix,
             loss_fcn: str,
             **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This builtin function trains simple feed-forward neural network. The architecture of the
-    networks is: affine1 -> relu -> dropout -> affine2 -> configurable output activation function.
-    Hidden layer has 128 neurons. Dropout rate is 0.35. Input and output sizes are inferred from X and Y.
+     This builtin function trains simple feed-forward neural network. The architecture of the
+     networks is: affine1 -> relu -> dropout -> affine2 -> configurable output activation function.
+     Hidden layer has 128 neurons. Dropout rate is 0.35. Input and output sizes are inferred from X and Y.
+    
     
     
     :param X: Training data
@@ -53,9 +54,9 @@ def ffTrain(X: Matrix,
     :param validation_split: Fraction of training set used as validation set
     :param seed: Seed for model initialization
     :param verbose: Flag which indicates if function should print to stdout
-    :return: 'OperationNode' containing 
-        trained model which can be used in ffpredict 
+    :return: Trained model which can be used in ffPredict
     """
+
     params_dict = {'X': X, 'Y': Y, 'out_activation': out_activation, 'loss_fcn': loss_fcn}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/fit_pipeline.py b/src/main/python/systemds/operator/algorithm/builtin/fit_pipeline.py
index 9acea1623a..5de40c745f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/fit_pipeline.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/fit_pipeline.py
@@ -38,12 +38,12 @@ def fit_pipeline(trainData: Frame,
                  evalFunHp: Matrix,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script will read the dirty and clean data, then it will apply the best pipeline on dirty data
-    and then will classify both cleaned dataset and check if the cleaned dataset is performing same as original dataset
-    in terms of classification accuracy
+     This script will read the dirty and clean data, then it will apply the best pipeline on dirty data
+     and then will classify both cleaned dataset and check if the cleaned dataset is performing same as original dataset
+     in terms of classification accuracy
+    
     
     
-    :param NAME: MEANING
     :param trainData: ---
     :param testData: ---
     :param metaData: ---
@@ -54,9 +54,9 @@ def fit_pipeline(trainData: Frame,
     :param evalFunHp: ---
     :param isLastLabel: ---
     :param correctTypos: ---
-    :return: 'OperationNode' containing 
-        meaning--- 
+    :return: ---
     """
+
     params_dict = {'trainData': trainData, 'testData': testData, 'pip': pip, 'applyFunc': applyFunc, 'hp': hp, 'evaluationFunc': evaluationFunc, 'evalFunHp': evalFunHp}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengths.py b/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengths.py
index a9730be4dc..b635f31b29 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengths.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengths.py
@@ -33,16 +33,18 @@ def fixInvalidLengths(F1: Frame,
                       mask: Matrix,
                       **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Fix invalid lengths
+     Fix invalid lengths
+    
     
     
     :param F1: ---
     :param mask: ---
     :param ql: ---
     :param qu: ---
-    :return: 'OperationNode' containing 
-        ------ 
+    :return: ---
+    :return: ---
     """
+
     params_dict = {'F1': F1, 'mask': mask}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengthsApply.py b/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengthsApply.py
index 31440f9f98..cc8fe68aac 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengthsApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/fixInvalidLengthsApply.py
@@ -34,17 +34,18 @@ def fixInvalidLengthsApply(X: Frame,
                            qLow: Matrix,
                            qUp: Matrix):
     """
-    Fix invalid lengths
+     Fix invalid lengths
+    
     
     
-    :param NAME: MEANING
     :param X: ---
     :param mask: ---
     :param ql: ---
     :param qu: ---
-    :return: 'OperationNode' containing 
-        meaning------ 
+    :return: ---
+    :return: ---
     """
+
     params_dict = {'X': X, 'mask': mask, 'qLow': qLow, 'qUp': qUp}
     return Matrix(X.sds_context,
         'fixInvalidLengthsApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/frameSort.py b/src/main/python/systemds/operator/algorithm/builtin/frameSort.py
index 692d925a48..0bfc7f3afe 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/frameSort.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/frameSort.py
@@ -33,15 +33,16 @@ def frameSort(F: Frame,
               mask: Matrix,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
-    Built-in for sorting frames
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+     Built-in for sorting frames
+    
     
     
     :param F: Data frame of string values
     :param mask: matrix for identifying string columns
-    :return: 'OperationNode' containing 
-        sorted dataset by column 1 in decreasing order 
+    :return: sorted dataset by column 1 in decreasing order
     """
+
     params_dict = {'F': F, 'mask': mask}
     params_dict.update(kwargs)
     return Matrix(F.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/frequencyEncode.py b/src/main/python/systemds/operator/algorithm/builtin/frequencyEncode.py
index 3ae4a8cfc0..7de760943c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/frequencyEncode.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/frequencyEncode.py
@@ -32,14 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def frequencyEncode(X: Matrix,
                     mask: Matrix):
     """
-    function frequency conversion
+     function frequency conversion
+    
     
     
     :param X: dataset x
     :param mask: mask of the columns for frequency conversion
-    :return: 'OperationNode' containing 
-        categorical columns are replaced with their frequenciesthe frequency counts for the different categoricals 
+    :return: categorical columns are replaced with their frequencies
+    :return: the frequency counts for the different categoricals
     """
+
     params_dict = {'X': X, 'mask': mask}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/frequencyEncodeApply.py b/src/main/python/systemds/operator/algorithm/builtin/frequencyEncodeApply.py
index 17d7e3118b..50997cf642 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/frequencyEncodeApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/frequencyEncodeApply.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def frequencyEncodeApply(X: Matrix,
                          freqCount: Matrix):
     """
-    frequency code apply
+     frequency code apply
+    
     
     
     :param X: dataset x
     :param freqCount: the frequency counts for the different categoricals
-    :return: 'OperationNode' containing 
-        categorical columns are replaced with their frequencies given 
+    :return: categorical columns are replaced with their frequencies given
     """
+
     params_dict = {'X': X, 'freqCount': freqCount}
     return Matrix(X.sds_context,
         'frequencyEncodeApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/garch.py b/src/main/python/systemds/operator/algorithm/builtin/garch.py
index 9d647c2249..69a0aa1d87 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/garch.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/garch.py
@@ -39,12 +39,14 @@ def garch(X: Matrix,
           sim_seed: int,
           verbose: bool):
     """
-    This is a builtin function that implements GARCH(1,1), a statistical model used in analyzing time-series data where the variance
-    error is believed to be serially autocorrelated
-    COMMENTS
-    This has some drawbacks: slow convergence of optimization (sort of simulated annealing/gradient descent)
-    TODO: use BFGS or BHHH if it is available (this are go to methods)
-    TODO: (only then) extend to garch(p,q); otherwise the search space is way too big for the current method
+     This is a builtin function that implements GARCH(1,1), a statistical model used in analyzing time-series data where the variance
+     error is believed to be serially autocorrelated
+    
+     COMMENTS
+     This has some drawbacks: slow convergence of optimization (sort of simulated annealing/gradient descent)
+     TODO: use BFGS or BHHH if it is available (this are go to methods)
+     TODO: (only then) extend to garch(p,q); otherwise the search space is way too big for the current method
+    
     
     
     :param X: The input Matrix to apply Arima on.
@@ -56,9 +58,13 @@ def garch(X: Matrix,
     :param end_vicinity: same at end (linear decay)
     :param sim_seed: seed for simulation of process on fitted coefficients
     :param verbose: verbosity, comments during fitting
-    :return: 'OperationNode' containing 
-        simulated garch(1,1) process on fitted coefficientsvariances of simulated fitted processonstant term of fitted process1-st arch-coefficient of fitted process1-st garch-coefficient of fitted process 
+    :return: simulated garch(1,1) process on fitted coefficients
+    :return: variances of simulated fitted process
+    :return: onstant term of fitted process
+    :return: 1-st arch-coefficient of fitted process
+    :return: 1-st garch-coefficient of fitted process
     """
+
     params_dict = {'X': X, 'kmax': kmax, 'momentum': momentum, 'start_stepsize': start_stepsize, 'end_stepsize': end_stepsize, 'start_vicinity': start_vicinity, 'end_vicinity': end_vicinity, 'sim_seed': sim_seed, 'verbose': verbose}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py b/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py
index 976af9e91e..8d6e513a93 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py
@@ -33,21 +33,25 @@ def gaussianClassifier(D: Matrix,
                        C: Matrix,
                        **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Computes the parameters needed for Gaussian Classification.
-    Thus it computes the following per class: the prior probability,
-    the inverse covariance matrix, the mean per feature and the determinant
-    of the covariance matrix. Furthermore (if not explicitly defined), it
-    adds some small smoothing value along the variances, to prevent
-    numerical errors / instabilities.
+     Computes the parameters needed for Gaussian Classification.
+     Thus it computes the following per class: the prior probability,
+     the inverse covariance matrix, the mean per feature and the determinant
+     of the covariance matrix. Furthermore (if not explicitly defined), it
+     adds some small smoothing value along the variances, to prevent
+     numerical errors / instabilities.
+    
     
     
     :param D: Input matrix (training set)
     :param C: Target vector
     :param varSmoothing: Smoothing factor for variances
     :param verbose: Print accuracy of the training set
-    :return: 'OperationNode' containing 
-        vector storing the class prior probabilitiesmatrix storing the means of the classeslist of inverse covariance matricesvector storing the determinants of the classes 
+    :return: Vector storing the class prior probabilities
+    :return: Matrix storing the means of the classes
+    :return: List of inverse covariance matrices
+    :return: Vector storing the determinants of the classes
     """
+
     params_dict = {'D': D, 'C': C}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py b/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py
index 4af6063a2a..b9906d61f1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py
@@ -33,15 +33,16 @@ def getAccuracy(y: Matrix,
                 yhat: Matrix,
                 **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This builtin function compute the weighted and simple accuracy for given predictions
+     This builtin function compute the weighted and simple accuracy for given predictions
+    
     
     
     :param y: Ground truth (Actual Labels)
     :param yhat: Predictions (Predicted labels)
     :param isWeighted: Flag for weighted or non-weighted accuracy calculation
-    :return: 'OperationNode' containing 
-        accuracy of the predicted labels 
+    :return: accuracy of the predicted labels
     """
+
     params_dict = {'y': y, 'yhat': yhat}
     params_dict.update(kwargs)
     return Matrix(y.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/glm.py b/src/main/python/systemds/operator/algorithm/builtin/glm.py
index 24af5b4d54..15d6973b0b 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/glm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/glm.py
@@ -33,67 +33,78 @@ def glm(X: Matrix,
         Y: Matrix,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script solves GLM regression using NEWTON/FISHER scoring with trust regions. The glm-function is a flexible
-    generalization of ordinary linear regression that allows for response variables that have error distribution models.
-    In addition, some GLM statistics are provided as console output by setting verbose=TRUE, one comma-separated name-value
-    pair per each line, as follows:
-    ----------------------------------------------------------------------------------------------------------------------
-    TERMINATION_CODE      A positive integer indicating success/failure as follows:
-                          1 = Converged successfully; 2 = Maximum number of iterations reached; 
-                          3 = Input (X, Y) out of range; 4 = Distribution/link is not supported
-    BETA_MIN              Smallest beta value (regression coefficient), excluding the intercept
-    BETA_MIN_INDEX        Column index for the smallest beta value
-    BETA_MAX              Largest beta value (regression coefficient), excluding the intercept
-    BETA_MAX_INDEX        Column index for the largest beta value
-    INTERCEPT             Intercept value, or NaN if there is no intercept (if icpt=0)
-    DISPERSION            Dispersion used to scale deviance, provided as "disp" input parameter
-                          or estimated (same as DISPERSION_EST) if the "disp" parameter is <= 0
-    DISPERSION_EST        Dispersion estimated from the dataset
-    DEVIANCE_UNSCALED     Deviance from the saturated model, assuming dispersion == 1.0
-    DEVIANCE_SCALED       Deviance from the saturated model, scaled by the DISPERSION value
-    ----------------------------------------------------------------------------------------------------------------------
-    The Log file, when requested, contains the following per-iteration variables in CSV format,
-    each line containing triple (NAME, ITERATION, VALUE) with ITERATION = 0 for initial values:
-    ----------------------------------------------------------------------------------------------------------------------
-    NUM_CG_ITERS          Number of inner (Conj.Gradient) iterations in this outer iteration
-    IS_TRUST_REACHED      1 = trust region boundary was reached, 0 = otherwise
-    POINT_STEP_NORM       L2-norm of iteration step from old point (i.e. "beta") to new point
-    OBJECTIVE             The loss function we minimize (i.e. negative partial log-likelihood)
-    OBJ_DROP_REAL         Reduction in the objective during this iteration, actual value
-    OBJ_DROP_PRED         Reduction in the objective predicted by a quadratic approximation
-    OBJ_DROP_RATIO        Actual-to-predicted reduction ratio, used to update the trust region
-    GRADIENT_NORM         L2-norm of the loss function gradient (NOTE: sometimes omitted)
-    LINEAR_TERM_MIN       The minimum value of X %*% beta, used to check for overflows
-    LINEAR_TERM_MAX       The maximum value of X %*% beta, used to check for overflows
-    IS_POINT_UPDATED      1 = new point accepted; 0 = new point rejected, old point restored
-    TRUST_DELTA           Updated trust region size, the "delta"
-    ----------------------------------------------------------------------------------------------------------------------
-    SOME OF THE SUPPORTED GLM DISTRIBUTION FAMILIES
-    AND LINK FUNCTIONS:
-    dfam vpow link lpow  Distribution.link   nical?
-    ----------------------------------------------------------------------------------------------------------------------
-     1   0.0   1  -1.0   Gaussian.inverse
-     1   0.0   1   0.0   Gaussian.log
-     1   0.0   1   1.0   Gaussian.id          Yes
-     1   1.0   1   0.0   Poisson.log          Yes
-     1   1.0   1   0.5   Poisson.sqrt
-     1   1.0   1   1.0   Poisson.id
-     1   2.0   1  -1.0   Gamma.inverse        Yes
-     1   2.0   1   0.0   Gamma.log
-     1   2.0   1   1.0   Gamma.id
-     1   3.0   1  -2.0   InvGaussian.1/mu^2   Yes
-     1   3.0   1  -1.0   InvGaussian.inverse
-     1   3.0   1   0.0   InvGaussian.log
-     1   3.0   1   1.0   InvGaussian.id
-     1    *    1    *    AnyVariance.AnyLink
-    ----------------------------------------------------------------------------------------------------------------------
-     2    *    1   0.0   Binomial.log
-     2    *    1   0.5   Binomial.sqrt
-     2    *    2    *    Binomial.logit       Yes
-     2    *    3    *    Binomial.probit
-     2    *    4    *    Binomial.cloglog
-     2    *    5    *    Binomial.cauchit
-    ----------------------------------------------------------------------------------------------------------------------
+     This script solves GLM regression using NEWTON/FISHER scoring with trust regions. The glm-function is a flexible
+     generalization of ordinary linear regression that allows for response variables that have error distribution models.
+    
+     In addition, some GLM statistics are provided as console output by setting verbose=TRUE, one comma-separated name-value
+     pair per each line, as follows:
+    
+     .. code-block:: txt
+    
+       --------------------------------------------------------------------------------------------
+       TERMINATION_CODE      A positive integer indicating success/failure as follows:
+                             1 = Converged successfully; 2 = Maximum number of iterations reached; 
+                             3 = Input (X, Y) out of range; 4 = Distribution/link is not supported
+       BETA_MIN              Smallest beta value (regression coefficient), excluding the intercept
+       BETA_MIN_INDEX        Column index for the smallest beta value
+       BETA_MAX              Largest beta value (regression coefficient), excluding the intercept
+       BETA_MAX_INDEX        Column index for the largest beta value
+       INTERCEPT             Intercept value, or NaN if there is no intercept (if icpt=0)
+       DISPERSION            Dispersion used to scale deviance, provided as "disp" input parameter
+                             or estimated (same as DISPERSION_EST) if the "disp" parameter is <= 0
+       DISPERSION_EST        Dispersion estimated from the dataset
+       DEVIANCE_UNSCALED     Deviance from the saturated model, assuming dispersion == 1.0
+       DEVIANCE_SCALED       Deviance from the saturated model, scaled by the DISPERSION value
+       --------------------------------------------------------------------------------------------
+       
+       The Log file, when requested, contains the following per-iteration variables in CSV format,
+       each line containing triple (NAME, ITERATION, VALUE) with ITERATION = 0 for initial values:
+       
+       --------------------------------------------------------------------------------------------
+       NUM_CG_ITERS          Number of inner (Conj.Gradient) iterations in this outer iteration
+       IS_TRUST_REACHED      1 = trust region boundary was reached, 0 = otherwise
+       POINT_STEP_NORM       L2-norm of iteration step from old point (i.e. "beta") to new point
+       OBJECTIVE             The loss function we minimize (i.e. negative partial log-likelihood)
+       OBJ_DROP_REAL         Reduction in the objective during this iteration, actual value
+       OBJ_DROP_PRED         Reduction in the objective predicted by a quadratic approximation
+       OBJ_DROP_RATIO        Actual-to-predicted reduction ratio, used to update the trust region
+       GRADIENT_NORM         L2-norm of the loss function gradient (NOTE: sometimes omitted)
+       LINEAR_TERM_MIN       The minimum value of X %*% beta, used to check for overflows
+       LINEAR_TERM_MAX       The maximum value of X %*% beta, used to check for overflows
+       IS_POINT_UPDATED      1 = new point accepted; 0 = new point rejected, old point restored
+       TRUST_DELTA           Updated trust region size, the "delta"
+       --------------------------------------------------------------------------------------------
+    
+     SOME OF THE SUPPORTED GLM DISTRIBUTION FAMILIES
+     AND LINK FUNCTIONS:
+    
+     .. code-block:: txt
+    
+       dfam vpow link lpow  Distribution.link   nical?
+       ---------------------------------------------------
+        1   0.0   1  -1.0   Gaussian.inverse
+        1   0.0   1   0.0   Gaussian.log
+        1   0.0   1   1.0   Gaussian.id          Yes
+        1   1.0   1   0.0   Poisson.log          Yes
+        1   1.0   1   0.5   Poisson.sqrt
+        1   1.0   1   1.0   Poisson.id
+        1   2.0   1  -1.0   Gamma.inverse        Yes
+        1   2.0   1   0.0   Gamma.log
+        1   2.0   1   1.0   Gamma.id
+        1   3.0   1  -2.0   InvGaussian.1/mu^2   Yes
+        1   3.0   1  -1.0   InvGaussian.inverse
+        1   3.0   1   0.0   InvGaussian.log
+        1   3.0   1   1.0   InvGaussian.id
+        1    *    1    *    AnyVariance.AnyLink
+       ---------------------------------------------------
+        2    *    1   0.0   Binomial.log
+        2    *    1   0.5   Binomial.sqrt
+        2    *    2    *    Binomial.logit       Yes
+        2    *    3    *    Binomial.probit
+        2    *    4    *    Binomial.cloglog
+        2    *    5    *    Binomial.cauchit
+       ---------------------------------------------------
+    
     
     
     :param X: matrix X of feature vectors
@@ -117,10 +128,10 @@ def glm(X: Matrix,
     :param moi: Maximum number of outer (Newton / Fisher Scoring) iterations
     :param mii: Maximum number of inner (Conjugate Gradient) iterations, 0 = no maximum
     :param verbose: if the Algorithm should be verbose
-    :return: 'OperationNode' containing 
-        matrix beta, whose size depends on icpt:
-        icpt=0: ncol(x) x 1;  icpt=1: (ncol(x) + 1) x 1;  icpt=2: (ncol(x) + 1) x 2 
+    :return: Matrix beta, whose size depends on icpt:
+        icpt=0: ncol(X) x 1;  icpt=1: (ncol(X) + 1) x 1;  icpt=2: (ncol(X) + 1) x 2
     """
+
     params_dict = {'X': X, 'Y': Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/glmPredict.py b/src/main/python/systemds/operator/algorithm/builtin/glmPredict.py
index 234078c868..78c5dd31e9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/glmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/glmPredict.py
@@ -33,37 +33,45 @@ def glmPredict(X: Matrix,
                B: Matrix,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Applies the estimated parameters of a GLM type regression to a new dataset
-    Additional statistics are printed one per each line, in the following 
-    CSV format: NAME,[COLUMN],[SCALED],VALUE
-    ---
-    NAME   is the string identifier for the statistic, see the table below.
-    COLUMN is an optional integer value that specifies the Y-column for per-column statistics;
-           note that a Binomial/Multinomial one-column Y input is converted into multi-column.
-    SCALED is an optional Boolean value (TRUE or FALSE) that tells us whether or not the input
-             dispersion parameter (disp) scaling has been applied to this statistic.
-    VALUE  is the value of the statistic.
-    ---
-    NAME                  COLUMN  SCALED  MEANING
-    ---------------------------------------------------------------------------------------------
-    LOGLHOOD_Z                      +     Log-Likelihood Z-score (in st.dev's from mean)
-    LOGLHOOD_Z_PVAL                 +     Log-Likelihood Z-score p-value
-    PEARSON_X2                      +     Pearson residual X^2 statistic
-    PEARSON_X2_BY_DF                +     Pearson X^2 divided by degrees of freedom
-    PEARSON_X2_PVAL                 +     Pearson X^2 p-value
-    DEVIANCE_G2                     +     Deviance from saturated model G^2 statistic
-    DEVIANCE_G2_BY_DF               +     Deviance G^2 divided by degrees of freedom
-    DEVIANCE_G2_PVAL                +     Deviance G^2 p-value
-    AVG_TOT_Y               +             Average of Y column for a single response value
-    STDEV_TOT_Y             +             St.Dev. of Y column for a single response value
-    AVG_RES_Y               +             Average of column residual, i.e. of Y - mean(Y|X)
-    STDEV_RES_Y             +             St.Dev. of column residual, i.e. of Y - mean(Y|X)
-    PRED_STDEV_RES          +       +     Model-predicted St.Dev. of column residual
-    R2                      +             R^2 of Y column residual with bias included
-    ADJUSTED_R2             +             Adjusted R^2 of Y column residual with bias included
-    R2_NOBIAS               +             R^2 of Y column residual with bias subtracted
-    ADJUSTED_R2_NOBIAS      +             Adjusted R^2 of Y column residual with bias subtracted
-    ---------------------------------------------------------------------------------------------
+     Applies the estimated parameters of a GLM type regression to a new dataset
+    
+     Additional statistics are printed one per each line, in the following 
+    
+     .. code-block:: txt
+    
+       CSV format: NAME,[COLUMN],[SCALED],VALUE
+       ---
+       NAME   is the string identifier for the statistic, see the table below.
+       COLUMN is an optional integer value that specifies the Y-column for per-column statistics;
+              note that a Binomial/Multinomial one-column Y input is converted into multi-column.
+       SCALED is an optional Boolean value (TRUE or FALSE) that tells us whether or not the input
+                dispersion parameter (disp) scaling has been applied to this statistic.
+       VALUE  is the value of the statistic.
+       ---
+    
+     .. code-block:: txt
+    
+       NAME                  COLUMN  SCALED  MEANING
+       ---------------------------------------------------------------------------------------------
+       LOGLHOOD_Z                      +     Log-Likelihood Z-score (in st.dev's from mean)
+       LOGLHOOD_Z_PVAL                 +     Log-Likelihood Z-score p-value
+       PEARSON_X2                      +     Pearson residual X^2 statistic
+       PEARSON_X2_BY_DF                +     Pearson X^2 divided by degrees of freedom
+       PEARSON_X2_PVAL                 +     Pearson X^2 p-value
+       DEVIANCE_G2                     +     Deviance from saturated model G^2 statistic
+       DEVIANCE_G2_BY_DF               +     Deviance G^2 divided by degrees of freedom
+       DEVIANCE_G2_PVAL                +     Deviance G^2 p-value
+       AVG_TOT_Y               +             Average of Y column for a single response value
+       STDEV_TOT_Y             +             St.Dev. of Y column for a single response value
+       AVG_RES_Y               +             Average of column residual, i.e. of Y - mean(Y|X)
+       STDEV_RES_Y             +             St.Dev. of column residual, i.e. of Y - mean(Y|X)
+       PRED_STDEV_RES          +       +     Model-predicted St.Dev. of column residual
+       R2                      +             R^2 of Y column residual with bias included
+       ADJUSTED_R2             +             Adjusted R^2 of Y column residual with bias included
+       R2_NOBIAS               +             R^2 of Y column residual with bias subtracted
+       ADJUSTED_R2_NOBIAS      +             Adjusted R^2 of Y column residual with bias subtracted
+       ---------------------------------------------------------------------------------------------
+    
     
     
     :param X: Matrix X of records (feature vectors)
@@ -84,12 +92,12 @@ def glmPredict(X: Matrix,
         -2.0 = 1/mu^2, -1.0 = reciprocal, 0.0 = log, 0.5 = sqrt, 1.0 = identity
     :param disp: Dispersion value, when available
     :param verbose: Print statistics to stdout
-    :return: 'OperationNode' containing 
-        matrix m of predicted means/probabilities:
-        nrow(x) x 1  : for power-type distributions (dfam=1)
-        nrow(x) x 2  : for binomial distribution (dfam=2), column 2 is "no"
-        nrow(x) x k+1: for multinomial logit (dfam=3), col# k+1 is baseline 
+    :return: Matrix M of predicted means/probabilities:
+        nrow(X) x 1  : for Power-type distributions (dfam=1)
+        nrow(X) x 2  : for Binomial distribution (dfam=2), column 2 is "No"
+        nrow(X) x k+1: for Multinomial Logit (dfam=3), col# k+1 is baseline
     """
+
     params_dict = {'X': X, 'B': B}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gmm.py b/src/main/python/systemds/operator/algorithm/builtin/gmm.py
index 726938d159..e219e04448 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gmm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gmm.py
@@ -32,8 +32,9 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def gmm(X: Matrix,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The gmm-function implements builtin Gaussian Mixture Model with four different types of covariance matrices
-    i.e., VVV, EEE, VVI, VII and two initialization methods namely "kmeans" and "random".
+     The gmm-function implements builtin Gaussian Mixture Model with four different types of covariance matrices
+     i.e., VVV, EEE, VVI, VII and two initialization methods namely "kmeans" and "random".
+    
     
     
     :param X: Matrix X
@@ -47,10 +48,15 @@ def gmm(X: Matrix,
     :param iterations: Number of iterations
     :param reg_covar: regularization parameter for covariance matrix
     :param tol: tolerance value for convergence
-    :return: 'OperationNode' containing 
-        prediction matrixprobability of the predictionsnumber of estimated parametersbayesian information criterion for best iterationfitted clusters meana matrix whose [i,k]th entry is the probability that observation i in the test data
-        belongs to the kth class 
+    :return: Prediction matrix
+    :return: Probability of the predictions
+    :return: Number of estimated parameters
+    :return: Bayesian information criterion for best iteration
+    :return: fitted clusters mean
+    :return: A matrix whose [i,k]th entry is the probability that observation i in the test data
+        belongs to the kth class
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py b/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py
index 749ed39d67..0f442c6b17 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py
@@ -35,8 +35,10 @@ def gmmPredict(X: Matrix,
                precisions_cholesky: Matrix,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function is a Prediction function for a Gaussian Mixture Model (gmm).
-    compute posterior probabilities for new instances given the variance and mean of fitted data
+     This function is a Prediction function for a Gaussian Mixture Model (gmm).
+    
+     compute posterior probabilities for new instances given the variance and mean of fitted data
+    
     
     
     :param X: Matrix X (instances to be clustered)
@@ -44,9 +46,10 @@ def gmmPredict(X: Matrix,
     :param mu: fitted clusters mean
     :param precisions_cholesky: fitted precision matrix for each mixture
     :param model: fitted model
-    :return: 'OperationNode' containing 
-        predicted cluster labelsprobabilities of belongingness 
+    :return: predicted cluster labels
+    :return: probabilities of belongingness
     """
+
     params_dict = {'X': X, 'weight': weight, 'mu': mu, 'precisions_cholesky': precisions_cholesky}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gnmf.py b/src/main/python/systemds/operator/algorithm/builtin/gnmf.py
index 29fc19c3a5..70acf79f4e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gnmf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gnmf.py
@@ -33,22 +33,25 @@ def gnmf(X: Matrix,
          rnk: int,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The gnmf-function does Gaussian Non-Negative Matrix Factorization. In this, a matrix X is factorized into two
-    matrices W and H, such that all three matrices have no negative elements. This non-negativity makes the resulting
-    matrices easier to inspect.
-    References:
-    [Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, Yi-Min Wang:
-    Distributed nonnegative matrix factorization for web-scale dyadic
-    data analysis on mapreduce. WWW 2010: 681-690]
+     The gnmf-function does Gaussian Non-Negative Matrix Factorization. In this, a matrix X is factorized into two
+     matrices W and H, such that all three matrices have no negative elements. This non-negativity makes the resulting
+     matrices easier to inspect.
+    
+     References:
+     [Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, Yi-Min Wang:
+     Distributed nonnegative matrix factorization for web-scale dyadic
+     data analysis on mapreduce. WWW 2010: 681-690]
+    
     
     
     :param X: Matrix of feature vectors.
     :param rnk: Number of components into which matrix X is to be factored
     :param eps: Tolerance
     :param maxi: Maximum number of conjugate gradient iterations
-    :return: 'OperationNode' containing 
-        list of pattern matrices, one for each repetitionlist of amplitude matrices, one for each repetition 
+    :return: List of pattern matrices, one for each repetition
+    :return: List of amplitude matrices, one for each repetition
     """
+
     params_dict = {'X': X, 'rnk': rnk}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py b/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py
index 5eb5709654..dd044c76cb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py
@@ -37,8 +37,9 @@ def gridSearch(X: Matrix,
                paramValues: List,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The gridSearch-function is used to find the optimal hyper-parameters of a model which results in the most
-    accurate predictions. This function takes train and eval functions by name.
+     The gridSearch-function is used to find the optimal hyper-parameters of a model which results in the most
+     accurate predictions. This function takes train and eval functions by name.
+    
     
     
     :param X: Input feature matrix
@@ -60,10 +61,11 @@ def gridSearch(X: Matrix,
     :param cv: flag enabling k-fold cross validation, otherwise training loss
     :param cvk: if cv=TRUE, specifies the the number of folds, otherwise ignored
     :param verbose: flag for verbose debug output
-    :return: 'OperationNode' containing 
-        matrix[double]the trained model with minimal loss (by the 'predict' function)
-        multi-column models are returned as a column-major linearized column vectorone-row frame w/ optimal hyper-parameters (by 'params' position) 
+    :return: Matrix[Double]the trained model with minimal loss (by the 'predict' function)
+        Multi-column models are returned as a column-major linearized column vector
+    :return: one-row frame w/ optimal hyper-parameters (by 'params' position)
     """
+
     params_dict = {'X': X, 'y': y, 'train': train, 'predict': predict, 'params': params, 'paramValues': paramValues}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/hospitalResidencyMatch.py b/src/main/python/systemds/operator/algorithm/builtin/hospitalResidencyMatch.py
index 5db64203ac..c76f5f857f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/hospitalResidencyMatch.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/hospitalResidencyMatch.py
@@ -34,34 +34,43 @@ def hospitalResidencyMatch(R: Matrix,
                            capacity: Matrix,
                            **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script computes a solution for the hospital residency match problem.
-    Residents.mtx:
-    2.0,1.0,3.0
-    1.0,2.0,3.0
-    1.0,2.0,0.0
-    Since it is an ORDERED  matrix, this means that Resident 1 (row 1) likes hospital 2 the most, followed by hospital 1 and hospital 3.
-    If it was UNORDERED, this would mean that resident 1 (row 1) likes hospital 3 the most (since the value at [1,3] is the row max),
-    followed by hospital 1 (2.0 preference value) and hospital 2 (1.0 preference value).
-    Hospitals.mtx:
-    2.0,1.0,0.0
-    0.0,1.0,2.0
-    1.0,2.0,0.0
-    Since it is an UNORDERED matrix this means that Hospital 1 (row 1) likes Resident 1 the most (since the value at [1,1] is the row max).
-    capacity.mtx
-    1.0
-    1.0
-    1.0
-    residencyMatch.mtx
-    2.0,0.0,0.0
-    1.0,0.0,0.0
-    0.0,2.0,0.0
-    hospitalMatch.mtx
-    0.0,1.0,0.0
-    0.0,0.0,2.0
-    1.0,0.0,0.0
-    Resident 1 has matched with Hospital 3 (since [1,3] is non-zero) at a preference level of 2.0.
-    Resident 2 has matched with Hospital 1 (since [2,1] is non-zero) at a preference level of 1.0.
-    Resident 3 has matched with Hospital 2 (since [3,2] is non-zero) at a preference level of 2.0.
+     This script computes a solution for the hospital residency match problem.
+    
+     Residents.mtx:
+     2.0,1.0,3.0
+     1.0,2.0,3.0
+     1.0,2.0,0.0
+    
+     Since it is an ORDERED  matrix, this means that Resident 1 (row 1) likes hospital 2 the most, followed by hospital 1 and hospital 3.
+     If it was UNORDERED, this would mean that resident 1 (row 1) likes hospital 3 the most (since the value at [1,3] is the row max),
+     followed by hospital 1 (2.0 preference value) and hospital 2 (1.0 preference value).
+    
+     Hospitals.mtx:
+     2.0,1.0,0.0
+     0.0,1.0,2.0
+     1.0,2.0,0.0
+    
+     Since it is an UNORDERED matrix this means that Hospital 1 (row 1) likes Resident 1 the most (since the value at [1,1] is the row max).
+    
+     capacity.mtx
+     1.0
+     1.0
+     1.0
+    
+     residencyMatch.mtx
+     2.0,0.0,0.0
+     1.0,0.0,0.0
+     0.0,2.0,0.0
+    
+     hospitalMatch.mtx
+     0.0,1.0,0.0
+     0.0,0.0,2.0
+     1.0,0.0,0.0
+    
+     Resident 1 has matched with Hospital 3 (since [1,3] is non-zero) at a preference level of 2.0.
+     Resident 2 has matched with Hospital 1 (since [2,1] is non-zero) at a preference level of 1.0.
+     Resident 3 has matched with Hospital 2 (since [3,2] is non-zero) at a preference level of 2.0.
+    
     
     
     :param R: Residents matrix R.
@@ -74,13 +83,14 @@ def hospitalResidencyMatch(R: Matrix,
         i.e. the leftmost value in a row in P is the preference value for the acceptor
         with index 1 and vice-versa (higher is better).
     :param verbose: If the operation is verbose
-    :return: 'OperationNode' containing 
-        result matrix
-        if cell [i,j] is non-zero, it means that resident i has matched with hospital j.
-        further, if cell [i,j] is non-zero, it holds the preference value that led to the match.result matrix
-        if cell [i,j] is non-zero, it means that resident i has matched with hospital j.
-        further, if cell [i,j] is non-zero, it holds the preference value that led to the match. 
+    :return: Result Matrix
+        If cell [i,j] is non-zero, it means that Resident i has matched with Hospital j.
+        Further, if cell [i,j] is non-zero, it holds the preference value that led to the match.
+    :return: Result Matrix
+        If cell [i,j] is non-zero, it means that Resident i has matched with Hospital j.
+        Further, if cell [i,j] is non-zero, it holds the preference value that led to the match.
     """
+
     params_dict = {'R': R, 'H': H, 'capacity': capacity}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/hyperband.py b/src/main/python/systemds/operator/algorithm/builtin/hyperband.py
index ea3ad26085..0c0e2795e1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/hyperband.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/hyperband.py
@@ -37,13 +37,14 @@ def hyperband(X_train: Matrix,
               paramRanges: Matrix,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The hyperband-function is used for hyper parameter optimization and is based on multi-armed bandits and early
-    elimination. Through multiple parallel brackets and consecutive trials it will return the hyper parameter combination
-    which performed best on a validation dataset. A set of hyper parameter combinations is drawn from uniform distributions
-    with given ranges; Those make up the candidates for hyperband. Notes:
-       hyperband is hard-coded for lmCG, and uses lmPredict for validation
-       hyperband is hard-coded to use the number of iterations as a resource
-       hyperband can only optimize continuous hyperparameters
+     The hyperband-function is used for hyper parameter optimization and is based on multi-armed bandits and early
+     elimination. Through multiple parallel brackets and consecutive trials it will return the hyper parameter combination
+     which performed best on a validation dataset. A set of hyper parameter combinations is drawn from uniform distributions
+     with given ranges; Those make up the candidates for hyperband. Notes:
+     hyperband is hard-coded for lmCG, and uses lmPredict for validation
+     hyperband is hard-coded to use the number of iterations as a resource
+     hyperband can only optimize continuous hyperparameters
+    
     
     
     :param X_train: Input Matrix of training vectors
@@ -56,9 +57,10 @@ def hyperband(X_train: Matrix,
     :param R: Controls number of candidates evaluated
     :param eta: Determines fraction of candidates to keep after each trial
     :param verbose: If TRUE print messages are activated
-    :return: 'OperationNode' containing 
-        1-column matrix of weights of best performing candidatehyper parameters of best performing candidate 
+    :return: 1-column matrix of weights of best performing candidate
+    :return: hyper parameters of best performing candidate
     """
+
     params_dict = {'X_train': X_train, 'y_train': y_train, 'X_val': X_val, 'y_val': y_val, 'params': params, 'paramRanges': paramRanges}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py b/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
index 2aba1a5b16..55c629b805 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
@@ -33,15 +33,16 @@ def img_brightness(img_in: Matrix,
                    value: float,
                    channel_max: int):
     """
-    The img_brightness-function is an image data augmentation function. It changes the brightness of the image.
+     The img_brightness-function is an image data augmentation function. It changes the brightness of the image.
+    
     
     
     :param img_in: Input matrix/image
     :param value: The amount of brightness to be changed for the image
     :param channel_max: Maximum value of the brightness of the image
-    :return: 'OperationNode' containing 
-        type                         meaningmatrix[double]               output matrix/image 
+    :return: Output matrix/image
     """
+
     params_dict = {'img_in': img_in, 'value': value, 'channel_max': channel_max}
     return Matrix(img_in.sds_context,
         'img_brightness',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_crop.py b/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
index a5affa8ac1..059aae933a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
@@ -35,7 +35,8 @@ def img_crop(img_in: Matrix,
              x_offset: int,
              y_offset: int):
     """
-    The img_crop-function is an image data augmentation function. It cuts out a subregion of an image.
+     The img_crop-function is an image data augmentation function. It cuts out a subregion of an image.
+    
     
     
     :param img_in: Input matrix/image
@@ -43,9 +44,9 @@ def img_crop(img_in: Matrix,
     :param h: The height of the subregion required
     :param x_offset: The horizontal coordinate in the image to begin the crop operation
     :param y_offset: The vertical coordinate in the image to begin the crop operation
-    :return: 'OperationNode' containing 
-        cropped matrix/image 
+    :return: Cropped matrix/image
     """
+
     params_dict = {'img_in': img_in, 'w': w, 'h': h, 'x_offset': x_offset, 'y_offset': y_offset}
     return Matrix(img_in.sds_context,
         'img_crop',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py b/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py
index de2e15026c..8bb4b37e18 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py
@@ -36,7 +36,8 @@ def img_cutout(img_in: Matrix,
                height: int,
                fill_value: float):
     """
-    Image Cutout function replaces a rectangular section of an image with a constant value.
+     Image Cutout function replaces a rectangular section of an image with a constant value.
+    
     
     
     :param img_in: Input image as 2D matrix with top left corner at [1, 1]
@@ -45,9 +46,9 @@ def img_cutout(img_in: Matrix,
     :param width: Width of the rectangle (must be positive)
     :param height: Height of the rectangle (must be positive)
     :param fill_value: The value to set for the rectangle
-    :return: 'OperationNode' containing 
-        output image as 2d matrix with top left corner at [1, 1] 
+    :return: Output image as 2D matrix with top left corner at [1, 1]
     """
+
     params_dict = {'img_in': img_in, 'x': x, 'y': y, 'width': width, 'height': height, 'fill_value': fill_value}
     return Matrix(img_in.sds_context,
         'img_cutout',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py b/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
index a88c0f4339..0fecf7899e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def img_invert(img_in: Matrix,
                max_value: float):
     """
-    This is an image data augmentation function. It inverts an image.
+     This is an image data augmentation function. It inverts an image.
+    
     
     
     :param img_in: Input image
     :param max_value: The maximum value pixels can have
-    :return: 'OperationNode' containing 
-        output image 
+    :return: Output image
     """
+
     params_dict = {'img_in': img_in, 'max_value': max_value}
     return Matrix(img_in.sds_context,
         'img_invert',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py b/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
index 8dc15c5830..4729f8d400 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def img_mirror(img_in: Matrix,
                horizontal_axis: bool):
     """
-    This function is an image data augmentation function.
-    It flips an image on the X (horizontal) or Y (vertical) axis.
+     This function is an image data augmentation function.
+     It flips an image on the X (horizontal) or Y (vertical) axis.
+    
     
     
     :param img_in: Input matrix/image
     :param max_value: The maximum value pixels can have
-    :return: 'OperationNode' containing 
-        flipped matrix/image 
+    :return: Flipped matrix/image
     """
+
     params_dict = {'img_in': img_in, 'horizontal_axis': horizontal_axis}
     return Matrix(img_in.sds_context,
         'img_mirror',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py b/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py
index 083824e37e..62dda22a13 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def img_posterize(img_in: Matrix,
                   bits: int):
     """
-    The Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
-    Assumes the input image can attain values in the range [0, 255].
+     The Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
+     Assumes the input image can attain values in the range [0, 255].
+    
     
     
     :param img_in: Input image
     :param bits: The number of bits keep for the values.
         1 means black and white, 8 means every integer between 0 and 255.
-    :return: 'OperationNode' containing 
-        output image 
+    :return: Output image
     """
+
     params_dict = {'img_in': img_in, 'bits': bits}
     return Matrix(img_in.sds_context,
         'img_posterize',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py b/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py
index 2ed1131889..eedc643586 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py
@@ -33,16 +33,17 @@ def img_rotate(img_in: Matrix,
                radians: float,
                fill_value: float):
     """
-    The Image Rotate function rotates the input image counter-clockwise around the center.
-    Uses nearest neighbor sampling.
+     The Image Rotate function rotates the input image counter-clockwise around the center.
+     Uses nearest neighbor sampling.
+    
     
     
     :param img_in: Input image as 2D matrix with top left corner at [1, 1]
     :param radians: The value by which to rotate in radian.
     :param fill_value: The background color revealed by the rotation
-    :return: 'OperationNode' containing 
-        output image as 2d matrix with top left corner at [1, 1] 
+    :return: Output image as 2D matrix with top left corner at [1, 1]
     """
+
     params_dict = {'img_in': img_in, 'radians': radians, 'fill_value': fill_value}
     return Matrix(img_in.sds_context,
         'img_rotate',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py b/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py
index fbd27ac91c..b5bcddf2ba 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py
@@ -33,16 +33,17 @@ def img_sample_pairing(img_in1: Matrix,
                        img_in2: Matrix,
                        weight: float):
     """
-    The image sample pairing function blends two images together.
+     The image sample pairing function blends two images together.
+    
     
     
     :param img_in1: First input image
     :param img_in2: Second input image
     :param weight: The weight given to the second image.
         0 means only img_in1, 1 means only img_in2 will be visible
-    :return: 'OperationNode' containing 
-        output image 
+    :return: Output image
     """
+
     params_dict = {'img_in1': img_in1, 'img_in2': img_in2, 'weight': weight}
     return Matrix(img_in1.sds_context,
         'img_sample_pairing',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_shear.py b/src/main/python/systemds/operator/algorithm/builtin/img_shear.py
index 3e622e1ddf..41a3daef80 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_shear.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_shear.py
@@ -34,17 +34,18 @@ def img_shear(img_in: Matrix,
               shear_y: float,
               fill_value: float):
     """
-    This function applies a shearing transformation to an image.
-    Uses nearest neighbor sampling.
+     This function applies a shearing transformation to an image.
+     Uses nearest neighbor sampling.
+    
     
     
     :param img_in: Input image as 2D matrix with top left corner at [1, 1]
     :param shear_x: Shearing factor for horizontal shearing
     :param shear_y: Shearing factor for vertical shearing
     :param fill_value: The background color revealed by the shearing
-    :return: 'OperationNode' containing 
-        output image as 2d matrix with top left corner at [1, 1] 
+    :return: Output image as 2D matrix with top left corner at [1, 1]
     """
+
     params_dict = {'img_in': img_in, 'shear_x': shear_x, 'shear_y': shear_y, 'fill_value': fill_value}
     return Matrix(img_in.sds_context,
         'img_shear',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_transform.py b/src/main/python/systemds/operator/algorithm/builtin/img_transform.py
index 64afe15c05..701433621d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_transform.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_transform.py
@@ -40,9 +40,10 @@ def img_transform(img_in: Matrix,
                   f: float,
                   fill_value: float):
     """
-    The Image Transform function applies an affine transformation to an image.
-    Optionally resizes the image (without scaling).
-    Uses nearest neighbor sampling.
+     The Image Transform function applies an affine transformation to an image.
+     Optionally resizes the image (without scaling).
+     Uses nearest neighbor sampling.
+    
     
     
     :param img_in: Input image as 2D matrix with top left corner at [1, 1]
@@ -50,9 +51,9 @@ def img_transform(img_in: Matrix,
     :param out_h: Height of the output image
     :param a,b,c,d,e,f: The first two rows of the affine matrix in row-major order
     :param fill_value: The background of the image
-    :return: 'OperationNode' containing 
-        output image as 2d matrix with top left corner at [1, 1] 
+    :return: Output image as 2D matrix with top left corner at [1, 1]
     """
+
     params_dict = {'img_in': img_in, 'out_w': out_w, 'out_h': out_h, 'a': a, 'b': b, 'c': c, 'd': d, 'e': e, 'f': f, 'fill_value': fill_value}
     return Matrix(img_in.sds_context,
         'img_transform',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_translate.py b/src/main/python/systemds/operator/algorithm/builtin/img_translate.py
index 7583748d9f..0ae64a7d06 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_translate.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_translate.py
@@ -36,9 +36,10 @@ def img_translate(img_in: Matrix,
                   out_h: int,
                   fill_value: float):
     """
-    The Image Translate function translates the image.
-    Optionally resizes the image (without scaling).
-    Uses nearest neighbor sampling.
+     The Image Translate function translates the image.
+     Optionally resizes the image (without scaling).
+     Uses nearest neighbor sampling.
+    
     
     
     :param img_in: Input image as 2D matrix with top left corner at [1, 1]
@@ -47,9 +48,9 @@ def img_translate(img_in: Matrix,
     :param out_w: Width of the output image
     :param out_h: Height of the output image
     :param fill_value: The background of the image
-    :return: 'OperationNode' containing 
-        output image as 2d matrix with top left corner at [1, 1] 
+    :return: Output image as 2D matrix with top left corner at [1, 1]
     """
+
     params_dict = {'img_in': img_in, 'offset_x': offset_x, 'offset_y': offset_y, 'out_w': out_w, 'out_h': out_h, 'fill_value': fill_value}
     return Matrix(img_in.sds_context,
         'img_translate',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/impurityMeasures.py b/src/main/python/systemds/operator/algorithm/builtin/impurityMeasures.py
index ea71fba72b..ddda0e3eb8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/impurityMeasures.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/impurityMeasures.py
@@ -35,8 +35,9 @@ def impurityMeasures(X: Matrix,
                      method: str,
                      **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function computes the measure of impurity for the given dataset based on the passed method (gini or entropy).
-    The current version expects the target vector to contain only 0 or 1 values.
+     This function computes the measure of impurity for the given dataset based on the passed method (gini or entropy).
+     The current version expects the target vector to contain only 0 or 1 values.
+    
     
     
     :param X: Feature matrix.
@@ -45,16 +46,16 @@ def impurityMeasures(X: Matrix,
         1 denotes a continuous feature, 2 denotes a categorical feature.
     :param n_bins: Number of bins for binning in case of scale features.
     :param method: String indicating the method to use; either "entropy" or "gini".
-    :return: 'OperationNode' containing 
-        (1 x ncol(x)) row vector containing information/gini gain for
+    :return: (1 x ncol(X)) row vector containing information/gini gain for
         each feature of the dataset.
-        in case of gini, the values denote the gini gains, i.e. how much
-        impurity was removed with the respective split. the higher the
+        In case of gini, the values denote the gini gains, i.e. how much
+        impurity was removed with the respective split. The higher the
         value, the better the split.
-        in case of entropy, the values denote the information gain, i.e.
-        how much entropy was removed. the higher the information gain,
-        the better the split. 
+        In case of entropy, the values denote the information gain, i.e.
+        how much entropy was removed. The higher the information gain,
+        the better the split.
     """
+
     params_dict = {'X': X, 'Y': Y, 'R': R, 'method': method}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py
index 9d46f434d6..26b42498a7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py
@@ -34,16 +34,18 @@ def imputeByFD(X: Matrix,
                threshold: float,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Implements builtin for imputing missing values from observed values (if exist) using robust functional dependencies
+     Implements builtin for imputing missing values from observed values (if exist) using robust functional dependencies
+    
     
     
     :param X: Vector X, source attribute of functional dependency
     :param Y: Vector Y, target attribute of functional dependency and imputation
     :param threshold: threshold value in interval [0, 1] for robust FDs
     :param verbose: flag for printing verbose debug output
-    :return: 'OperationNode' containing 
-        vector y, with missing values mapped to a new max valuevector y, with imputed missing values 
+    :return: Vector Y, with missing values mapped to a new max value
+    :return: Vector Y, with imputed missing values
     """
+
     params_dict = {'X': X, 'Y': Y, 'threshold': threshold}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByFDApply.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByFDApply.py
index f9d67a2a7c..d9a731155d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByFDApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByFDApply.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def imputeByFDApply(X: Matrix,
                     Y_imp: Matrix):
     """
-    Implements builtin for imputing missing values from observed values (if exist) using robust functional dependencies
+     Implements builtin for imputing missing values from observed values (if exist) using robust functional dependencies
+    
     
     
     :param X: Matrix X
     :param source: source attribute to use for imputation and error correction
     :param target: attribute to be fixed
     :param threshold: threshold value in interval [0, 1] for robust FDs
-    :return: 'OperationNode' containing 
-        matrix with possible imputations 
+    :return: Matrix with possible imputations
     """
+
     params_dict = {'X': X, 'Y_imp': Y_imp}
     return Matrix(X.sds_context,
         'imputeByFDApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py
index 70f55890bb..4c8b4ab11c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def imputeByMean(X: Matrix,
                  mask: Matrix):
     """
-    impute the data by mean value and if the feature is categorical then by mode value
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+     impute the data by mean value and if the feature is categorical then by mode value
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
     :param mask: A 0/1 row vector for identifying numeric (0) and categorical features (1)
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'mask': mask}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByMeanApply.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByMeanApply.py
index dd2bf0673d..587f7da1c4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMeanApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMeanApply.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def imputeByMeanApply(X: Matrix,
                       imputedVec: Matrix):
     """
-    impute the data by mean value and if the feature is categorical then by mode value
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+     impute the data by mean value and if the feature is categorical then by mode value
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
     :param imputationVector: column mean vector
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'imputedVec': imputedVec}
     return Matrix(X.sds_context,
         'imputeByMeanApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py
index b74977e0f9..bcdc52eb87 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py
@@ -32,15 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def imputeByMedian(X: Matrix,
                    mask: Matrix):
     """
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
-    impute the data by median value and if the feature is categorical then by mode value
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+    
+     impute the data by median value and if the feature is categorical then by mode value
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
     :param mask: A 0/1 row vector for identifying numeric (0) and categorical features (1)
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'mask': mask}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByMedianApply.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByMedianApply.py
index 4cb487a0e5..f8b84d19a3 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMedianApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMedianApply.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def imputeByMedianApply(X: Matrix,
                         imputedVec: Matrix):
     """
-    impute the data by median value and if the feature is categorical then by mode value
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+     impute the data by median value and if the feature is categorical then by mode value
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
     :param imputationVector: column median vector
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'imputedVec': imputedVec}
     return Matrix(X.sds_context,
         'imputeByMedianApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py
index 8787aacdfb..35bfe7c7ae 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py
@@ -31,14 +31,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def imputeByMode(X: Matrix):
     """
-    This function impute the data by mode value
-    Related to [SYSTEMDS-2902] dependency function for cleaning pipelines
+     This function impute the data by mode value
+     Related to [SYSTEMDS-2902] dependency function for cleaning pipelines
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByModeApply.py b/src/main/python/systemds/operator/algorithm/builtin/imputeByModeApply.py
index ca85c28d3f..1a7987e0a0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByModeApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByModeApply.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def imputeByModeApply(X: Matrix,
                       imputedVec: Matrix):
     """
-    impute the data by most frequent value (recoded data only)
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+     impute the data by most frequent value (recoded data only)
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
     :param imputationVector: column mean vector
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'imputedVec': imputedVec}
     return Matrix(X.sds_context,
         'imputeByModeApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/intersect.py b/src/main/python/systemds/operator/algorithm/builtin/intersect.py
index 7e86ecf50f..b23f4c5295 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/intersect.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/intersect.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def intersect(X: Matrix,
               Y: Matrix):
     """
-    Implements set intersection for numeric data
+     Implements set intersection for numeric data
+    
     
     
     :param X: matrix X, set A
     :param Y: matrix Y, set B
-    :return: 'OperationNode' containing 
-        intersection matrix, set of intersecting items 
+    :return: intersection matrix, set of intersecting items
     """
+
     params_dict = {'X': X, 'Y': Y}
     return Matrix(X.sds_context,
         'intersect',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/km.py b/src/main/python/systemds/operator/algorithm/builtin/km.py
index ff30b4aa35..a053f08be1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/km.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/km.py
@@ -35,7 +35,8 @@ def km(X: Matrix,
        SI: Matrix,
        **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function that implements the analysis of survival data with KAPLAN-MEIER estimates
+     Builtin function that implements the analysis of survival data with KAPLAN-MEIER estimates
+    
     
     
     :param X: Input matrix X containing the survival data:
@@ -55,43 +56,45 @@ def km(X: Matrix,
     :param test_type: If survival data for multiple groups is available specifies which test to
         perform for comparing survival data across multiple groups: "none" (the default)
         "log-rank" or "wilcoxon" test
-    :return: 'OperationNode' containing 
-        matrix km whose dimension depends on the number of groups (denoted by g) and
+    :return: Matrix KM whose dimension depends on the number of groups (denoted by g) and
         strata (denoted by s) in the data:
-        each collection of 7 consecutive columns in km corresponds to a unique
+        each collection of 7 consecutive columns in KM corresponds to a unique
         combination of groups and strata in the data with the following schema
         1. col: timestamp
         2. col: no. at risk
         3. col: no. of events
-        4. col: kaplan-meier estimate of survivor function surv
+        4. col: Kaplan-Meier estimate of survivor function surv
         5. col: standard error of surv
         6. col: lower 100*(1-alpha)% confidence interval for surv
-        7. col: upper 100*(1-alpha)% confidence interval for survmatrix m whose dimension depends on the number of groups (g) and strata (s) in
-        the data (k denotes the number of factors used for grouping  ,i.e., ncol(gi) and
-        l denotes the number of factors used for stratifying, i.e., ncol(si))
-        m[,1:k]: unique combination of values in the k factors used for grouping
-        m[,(k+1):(k+l)]: unique combination of values in the l factors used for stratifying
-        m[,k+l+1]: total number of records
-        m[,k+l+2]: total number of events
-        m[,k+l+3]: median of surv
-        m[,k+l+4]: lower 100*(1-alpha)% confidence interval of the median of surv
-        m[,k+l+5]: upper 100*(1-alpha)% confidence interval of the median of surv
-        if the number of groups and strata is equal to 1, m will have 4 columns with
-        m[,1]: total number of events
-        m[,2]: median of surv
-        m[,3]: lower 100*(1-alpha)% confidence interval of the median of surv
-        m[,4]: upper 100*(1-alpha)% confidence interval of the median of survif survival data from multiple groups available and ttype=log-rank or wilcoxon,
-        a 1 x 4 matrix t and an g x 5 matrix t_groups_oe with
-        t_groups_oe[,1] = no. of events
-        t_groups_oe[,2] = observed value (o)
-        t_groups_oe[,3] = expected value (e)
-        t_groups_oe[,4] = (o-e)^2/e
-        t_groups_oe[,5] = (o-e)^2/v
-        t[1,1] = no. of groups
-        t[1,2] = degree of freedom for chi-squared distributed test statistic
-        t[1,3] = test statistic
-        t[1,4] = p-value 
+        7. col: upper 100*(1-alpha)% confidence interval for surv
+    :return: Matrix M whose dimension depends on the number of groups (g) and strata (s) in
+        the data (k denotes the number of factors used for grouping  ,i.e., ncol(GI) and
+        l denotes the number of factors used for stratifying, i.e., ncol(SI))
+        M[,1:k]: unique combination of values in the k factors used for grouping
+        M[,(k+1):(k+l)]: unique combination of values in the l factors used for stratifying
+        M[,k+l+1]: total number of records
+        M[,k+l+2]: total number of events
+        M[,k+l+3]: median of surv
+        M[,k+l+4]: lower 100*(1-alpha)% confidence interval of the median of surv
+        M[,k+l+5]: upper 100*(1-alpha)% confidence interval of the median of surv
+        If the number of groups and strata is equal to 1, M will have 4 columns with
+        M[,1]: total number of events
+        M[,2]: median of surv
+        M[,3]: lower 100*(1-alpha)% confidence interval of the median of surv
+        M[,4]: upper 100*(1-alpha)% confidence interval of the median of surv
+    :return: If survival data from multiple groups available and ttype=log-rank or wilcoxon,
+        a 1 x 4 matrix T and an g x 5 matrix T_GROUPS_OE with
+        T_GROUPS_OE[,1] = no. of events
+        T_GROUPS_OE[,2] = observed value (O)
+        T_GROUPS_OE[,3] = expected value (E)
+        T_GROUPS_OE[,4] = (O-E)^2/E
+        T_GROUPS_OE[,5] = (O-E)^2/V
+        T[1,1] = no. of groups
+        T[1,2] = degree of freedom for Chi-squared distributed test statistic
+        T[1,3] = test statistic
+        T[1,4] = P-value
     """
+
     params_dict = {'X': X, 'TE': TE, 'GI': GI, 'SI': SI}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/kmeans.py b/src/main/python/systemds/operator/algorithm/builtin/kmeans.py
index 0b53dfb397..4c1f69ac31 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/kmeans.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/kmeans.py
@@ -32,7 +32,8 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def kmeans(X: Matrix,
            **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function that implements the k-Means clustering algorithm
+     Builtin function that implements the k-Means clustering algorithm
+    
     
     
     :param X: The input Matrix to do KMeans on.
@@ -44,9 +45,10 @@ def kmeans(X: Matrix,
     :param avg_sample_size_per_centroid: Average number of records per centroid in data samples
     :param seed: The seed used for initial sampling. If set to -1
         random seeds are selected.
-    :return: 'OperationNode' containing 
-        the mapping of records to centroidsthe output matrix with the centroids 
+    :return: The mapping of records to centroids
+    :return: The output matrix with the centroids
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py b/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py
index e7aafe6307..5d99ea7bb0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def kmeansPredict(X: Matrix,
                   C: Matrix):
     """
-    Builtin function that does predictions based on a set of centroids provided.
+     Builtin function that does predictions based on a set of centroids provided.
+    
     
     
     :param X: The input Matrix to do KMeans on.
     :param C: The input Centroids to map X onto.
-    :return: 'OperationNode' containing 
-        the mapping of records to centroids 
+    :return: The mapping of records to centroids
     """
+
     params_dict = {'X': X, 'C': C}
     return Matrix(X.sds_context,
         'kmeansPredict',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/knn.py b/src/main/python/systemds/operator/algorithm/builtin/knn.py
index 4d70089315..1239b72c98 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/knn.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/knn.py
@@ -35,7 +35,8 @@ def knn(Train: Matrix,
         START_SELECTED: Matrix,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script implements KNN (K Nearest Neighbor) algorithm.
+     This script implements KNN (K Nearest Neighbor) algorithm.
+    
     
     
     :param Train: The input matrix as features
@@ -58,9 +59,11 @@ def knn(Train: Matrix,
         (TRUE means yes)
     :param predict_con_tg: Continuous  target predict function: mean(=0) or median(=1)
     :param START_SELECTED: feature selection initial value
-    :return: 'OperationNode' containing 
-        ------feature importance value 
+    :return: Applied clusters to X
+    :return: Cluster matrix
+    :return: Feature importance value
     """
+
     params_dict = {'Train': Train, 'Test': Test, 'CL': CL, 'START_SELECTED': START_SELECTED}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/knnGraph.py b/src/main/python/systemds/operator/algorithm/builtin/knnGraph.py
index 5b5086f1a7..4c45ef12ee 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/knnGraph.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/knnGraph.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def knnGraph(X: Matrix,
              k: int):
     """
-    Builtin for k nearest neighbor graph construction
+     Builtin for k nearest neighbor graph construction
+    
     
     
     :param X: ---
     :param k: ---
-    :return: 'OperationNode' containing 
-        --- 
+    :return: ---
     """
+
     params_dict = {'X': X, 'k': k}
     return Matrix(X.sds_context,
         'knnGraph',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/knnbf.py b/src/main/python/systemds/operator/algorithm/builtin/knnbf.py
index e16c412a02..d0fe8e3c59 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/knnbf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/knnbf.py
@@ -33,15 +33,16 @@ def knnbf(X: Matrix,
           T: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script implements KNN (K Nearest Neighbor) algorithm.
+     This script implements KNN (K Nearest Neighbor) algorithm.
+    
     
     
     :param X: ---
     :param T: ---
     :param k_value: ---
-    :return: 'OperationNode' containing 
-        --- 
+    :return: ---
     """
+
     params_dict = {'X': X, 'T': T}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/l2svm.py b/src/main/python/systemds/operator/algorithm/builtin/l2svm.py
index e605188cdf..5ae30f44b0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/l2svm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/l2svm.py
@@ -33,7 +33,8 @@ def l2svm(X: Matrix,
           Y: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function Implements binary-class SVM with squared slack variables
+     Builtin function Implements binary-class SVM with squared slack variables
+    
     
     
     :param X: matrix X of feature vectors
@@ -47,9 +48,9 @@ def l2svm(X: Matrix,
     :param verbose: Set to true if one wants print statements updating on loss.
     :param columnId: The column Id used if one wants to add a ID to the print statement,
         eg. used when L2SVM is used in MSVM.
-    :return: 'OperationNode' containing 
-        the trained model 
+    :return: the trained model
     """
+
     params_dict = {'X': X, 'Y': Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py b/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py
index f5abc4fccd..7dbedd0d43 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py
@@ -33,16 +33,18 @@ def l2svmPredict(X: Matrix,
                  W: Matrix,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function Implements binary-class SVM with squared slack variables.
+     Builtin function Implements binary-class SVM with squared slack variables.
+    
     
     
     :param X: matrix X of feature vectors to classify
     :param W: matrix of the trained variables
     :param verbose: Set to true if one wants print statements.
-    :return: 'OperationNode' containing 
-        classification labels raw, meaning not modified to clean
-        labels of 1's and -1'sclassification labels maxed to ones and zeros. 
+    :return: Classification Labels Raw, meaning not modified to clean
+        labels of 1's and -1's
+    :return: Classification Labels Maxed to ones and zeros.
     """
+
     params_dict = {'X': X, 'W': W}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lasso.py b/src/main/python/systemds/operator/algorithm/builtin/lasso.py
index c5b3060980..3f21d97855 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lasso.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lasso.py
@@ -33,8 +33,9 @@ def lasso(X: Matrix,
           y: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function for the SpaRSA algorithm to perform lasso regression
-    (SpaRSA .. Sparse Reconstruction by Separable Approximation)
+     Builtin function for the SpaRSA algorithm to perform lasso regression
+     (SpaRSA .. Sparse Reconstruction by Separable Approximation)
+    
     
     
     :param X: input feature matrix
@@ -44,9 +45,9 @@ def lasso(X: Matrix,
     :param tau: regularization component
     :param maxi: maximum number of iterations until convergence
     :param verbose: if the builtin should be verbose
-    :return: 'OperationNode' containing 
-        model matrix 
+    :return: model matrix
     """
+
     params_dict = {'X': X, 'y': y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lenetPredict.py b/src/main/python/systemds/operator/algorithm/builtin/lenetPredict.py
index 32eaddc75d..cc83bc3174 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lenetPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lenetPredict.py
@@ -36,7 +36,8 @@ def lenetPredict(model: List,
                  Win: int,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This builtin function makes prediction given data and trained LeNet model
+     This builtin function makes prediction given data and trained LeNet model
+    
     
     
     :param model: Trained LeNet model
@@ -45,9 +46,9 @@ def lenetPredict(model: List,
     :param Hin: Input height
     :param Win: Input width
     :param batch_size: Batch size
-    :return: 'OperationNode' containing 
-        predicted values 
+    :return: Predicted values
     """
+
     params_dict = {'model': model, 'X': X, 'C': C, 'Hin': Hin, 'Win': Win}
     params_dict.update(kwargs)
     return Matrix(model.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py b/src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py
index d181ccb3dd..597fd7966e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lenetTrain.py
@@ -38,9 +38,10 @@ def lenetTrain(X: Matrix,
                Win: int,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This builtin function trains LeNet CNN. The architecture of the
-    networks is:conv1 -> relu1 -> pool1 -> conv2 -> relu2 -> pool2 ->
-    affine3 -> relu3 -> affine4 -> softmax
+     This builtin function trains LeNet CNN. The architecture of the
+     networks is:conv1 -> relu1 -> pool1 -> conv2 -> relu2 -> pool2 ->
+     affine3 -> relu3 -> affine4 -> softmax
+    
     
     
     :param X: Input data matrix, of shape (N, C*Hin*Win)
@@ -58,9 +59,9 @@ def lenetTrain(X: Matrix,
     :param reg: Regularization strength
     :param seed: Seed for model initialization
     :param verbose: Flag indicates if function should print to stdout
-    :return: 'OperationNode' containing 
-        trained model which can be used in lenetpredict 
+    :return: Trained model which can be used in lenetPredict
     """
+
     params_dict = {'X': X, 'Y': Y, 'X_val': X_val, 'Y_val': Y_val, 'C': C, 'Hin': Hin, 'Win': Win}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lm.py b/src/main/python/systemds/operator/algorithm/builtin/lm.py
index a063bfb172..06f5f6e7c5 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lm.py
@@ -33,8 +33,9 @@ def lm(X: Matrix,
        y: Matrix,
        **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The lm-function solves linear regression using either the direct solve method or the conjugate gradient
-    algorithm depending on the input size of the matrices (See lmDS-function and lmCG-function respectively).
+     The lm-function solves linear regression using either the direct solve method or the conjugate gradient
+     algorithm depending on the input size of the matrices (See lmDS-function and lmCG-function respectively).
+    
     
     
     :param X: Matrix of feature vectors.
@@ -46,9 +47,9 @@ def lm(X: Matrix,
         norm of the beta-residual is less than tolerance * its initial norm
     :param maxi: Maximum number of conjugate gradient iterations. 0 = no maximum
     :param verbose: If TRUE print messages are activated
-    :return: 'OperationNode' containing 
-        the model fit 
+    :return: The model fit
     """
+
     params_dict = {'X': X, 'y': y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lmCG.py b/src/main/python/systemds/operator/algorithm/builtin/lmCG.py
index c8d66db6b2..607579f869 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lmCG.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lmCG.py
@@ -33,7 +33,8 @@ def lmCG(X: Matrix,
          y: Matrix,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The lmCG function solves linear regression using the conjugate gradient algorithm
+     The lmCG function solves linear regression using the conjugate gradient algorithm
+    
     
     
     :param X: Matrix of feature vectors.
@@ -45,9 +46,9 @@ def lmCG(X: Matrix,
         norm of the beta-residual is less than tolerance * its initial norm
     :param maxi: Maximum number of conjugate gradient iterations. 0 = no maximum
     :param verbose: If TRUE print messages are activated
-    :return: 'OperationNode' containing 
-        the model fit 
+    :return: The model fit
     """
+
     params_dict = {'X': X, 'y': y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lmDS.py b/src/main/python/systemds/operator/algorithm/builtin/lmDS.py
index e130a53642..8fcdbd5b46 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lmDS.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lmDS.py
@@ -33,7 +33,8 @@ def lmDS(X: Matrix,
          y: Matrix,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The lmDC function solves linear regression using the direct solve method
+     The lmDC function solves linear regression using the direct solve method
+    
     
     
     :param X: Matrix of feature vectors.
@@ -45,9 +46,9 @@ def lmDS(X: Matrix,
         norm of the beta-residual is less than tolerance * its initial norm
     :param maxi: Maximum number of conjugate gradient iterations. 0 = no maximum
     :param verbose: If TRUE print messages are activated
-    :return: 'OperationNode' containing 
-        the model fit 
+    :return: The model fit
     """
+
     params_dict = {'X': X, 'y': y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py b/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py
index 0bc9ff1aa7..24836882f1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py
@@ -33,7 +33,8 @@ def lmPredict(X: Matrix,
               B: Matrix,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The lmPredict-function predicts the class of a feature vector
+     The lmPredict-function predicts the class of a feature vector
+    
     
     
     :param X: Matrix of feature vectors
@@ -42,9 +43,9 @@ def lmPredict(X: Matrix,
         if verbose output is not wanted
     :param icpt: Intercept presence, shifting and rescaling the columns of X
     :param verbose: If TRUE print messages are activated
-    :return: 'OperationNode' containing 
-        1-column matrix of classes 
+    :return: 1-column matrix of classes
     """
+
     params_dict = {'X': X, 'B': B}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py b/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py
index 3200e6a141..48b675f7a6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def logSumExp(M: Matrix,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Built-in LOGSUMEXP
+     Built-in LOGSUMEXP
+    
     
     
     :param M: matrix to perform Log sum exp on.
     :param margin: if the logsumexp of rows is required set margin = "row"
         if the logsumexp of columns is required set margin = "col"
         if set to "none" then a single scalar is returned computing logsumexp of matrix
-    :return: 'OperationNode' containing 
-        a 1*1 matrix, row vector or column vector depends on margin value 
+    :return: a 1*1 matrix, row vector or column vector depends on margin value
     """
+
     params_dict = {'M': M}
     params_dict.update(kwargs)
     return Matrix(M.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py b/src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py
index b7ccdd361b..2f8ddf0737 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/matrixProfile.py
@@ -32,14 +32,18 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def matrixProfile(ts: Matrix,
                   **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function that computes the MatrixProfile of a time series efficiently
-    using the SCRIMP++ algorithm.
-    References:
-    Yan Zhu et al.. 2018.
-      Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds.
-      2018 IEEE International Conference on Data Mining (ICDM), 2018, pp. 837-846.
-      DOI: 10.1109/ICDM.2018.00099.
-      https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
+     Builtin function that computes the MatrixProfile of a time series efficiently
+     using the SCRIMP++ algorithm.
+    
+     .. code-block:: txt
+    
+       References:
+       Yan Zhu et al.. 2018.
+         Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds.
+         2018 IEEE International Conference on Data Mining (ICDM), 2018, pp. 837-846.
+         DOI: 10.1109/ICDM.2018.00099.
+         https://www.cs.ucr.edu/~eamonn/SCRIMP_ICDM_camera_ready_updated.pdf
+    
     
     
     :param ts: Time series to profile
@@ -48,9 +52,10 @@ def matrixProfile(ts: Matrix,
         between zero and one (1
         computes the exact solution)
     :param is_verbose: Print debug information
-    :return: 'OperationNode' containing 
-        the computed matrix profileindices of least distances 
+    :return: The computed matrix profile
+    :return: Indices of least distances
     """
+
     params_dict = {'ts': ts}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/mcc.py b/src/main/python/systemds/operator/algorithm/builtin/mcc.py
index 8cf399ab67..33f051aca8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/mcc.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/mcc.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def mcc(predictions: Matrix,
         labels: Matrix):
     """
-    Built-in function mcc: Matthews' Correlation Coefficient for binary classification evaluation
+     Built-in function mcc: Matthews' Correlation Coefficient for binary classification evaluation
+    
     
     
     :param predictions: Vector of predicted 0/1 values.
         (requires setting 'labels' parameter)
     :param labels: Vector of 0/1 labels.
-    :return: 'OperationNode' containing 
-        matthews' correlation coefficient 
+    :return: Matthews' Correlation Coefficient
     """
+
     params_dict = {'predictions': predictions, 'labels': labels}
     return Matrix(predictions.sds_context,
         'mcc',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/mdedup.py b/src/main/python/systemds/operator/algorithm/builtin/mdedup.py
index 1c9c55126b..85d93d5c2c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/mdedup.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/mdedup.py
@@ -36,9 +36,9 @@ def mdedup(X: Frame,
            RHSthreshold: Matrix,
            verbose: bool):
     """
-    Implements builtin for deduplication using matching dependencies (e.g. Street 0.95, City 0.90 -> ZIP 1.0)
-    and Jaccard distance.
-    
+     Implements builtin for deduplication using matching dependencies (e.g. Street 0.95, City 0.90 -> ZIP 1.0)
+     and Jaccard distance.
+     
     
     
     :param X: Input Frame X
@@ -48,9 +48,9 @@ def mdedup(X: Frame,
     :param RHSfeatures: A matrix 1xd with numbers of columns for MDs
     :param RHSthreshold: A matrix 1xd with threshold values in interval [0, 1] for MDs
     :param verbose: To print the output
-    :return: 'OperationNode' containing 
-        matrix nx1 of duplicates 
+    :return: Matrix nx1 of duplicates
     """
+
     params_dict = {'X': X, 'LHSfeatures': LHSfeatures, 'LHSthreshold': LHSthreshold, 'RHSfeatures': RHSfeatures, 'RHSthreshold': RHSthreshold, 'verbose': verbose}
     return Matrix(X.sds_context,
         'mdedup',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/mice.py b/src/main/python/systemds/operator/algorithm/builtin/mice.py
index 8f5654f5a7..7a08907a4a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/mice.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/mice.py
@@ -33,10 +33,12 @@ def mice(X: Matrix,
          cMask: Matrix,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This Builtin function implements multiple imputation using Chained Equations (MICE)
-    Assumption missing value are represented with empty string i.e ",," in CSV file  
-    variables with suffix n are storing continuos/numeric data and variables with 
-    suffix c are storing categorical data
+     This Builtin function implements multiple imputation using Chained Equations (MICE)
+    
+     Assumption missing value are represented with empty string i.e ",," in CSV file  
+     variables with suffix n are storing continuos/numeric data and variables with 
+     suffix c are storing categorical data
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
@@ -46,9 +48,9 @@ def mice(X: Matrix,
         if the predicted value has probability greater than threshold,
         only applicable for categorical data
     :param verbose: Boolean value.
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'cMask': cMask}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/miceApply.py b/src/main/python/systemds/operator/algorithm/builtin/miceApply.py
index 1e3f387f71..070bf6c01a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/miceApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/miceApply.py
@@ -35,10 +35,12 @@ def miceApply(X: Matrix,
               dM: Frame,
               betaList: List):
     """
-    This Builtin function implements multiple imputation using Chained Equations (MICE)
-    Assumption missing value are represented with empty string i.e ",," in CSV file  
-    variables with suffix n are storing continuos/numeric data and variables with 
-    suffix c are storing categorical data
+     This Builtin function implements multiple imputation using Chained Equations (MICE)
+    
+     Assumption missing value are represented with empty string i.e ",," in CSV file  
+     variables with suffix n are storing continuos/numeric data and variables with 
+     suffix c are storing categorical data
+    
     
     
     :param X: Data Matrix (Recoded Matrix for categorical features)
@@ -51,9 +53,9 @@ def miceApply(X: Matrix,
     :param dM: meta frame from OHE on original data
     :param betaList: List of machine learning models trained for each column imputation
     :param verbose: Boolean value.
-    :return: 'OperationNode' containing 
-        imputed dataset 
+    :return: imputed dataset
     """
+
     params_dict = {'X': X, 'meta': meta, 'threshold': threshold, 'dM': dM, 'betaList': betaList}
     return Matrix(X.sds_context,
         'miceApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/msvm.py b/src/main/python/systemds/operator/algorithm/builtin/msvm.py
index cb9dc4f27a..988d873518 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/msvm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/msvm.py
@@ -33,8 +33,9 @@ def msvm(X: Matrix,
          Y: Matrix,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Implements builtin multi-class SVM with squared slack variables, 
-    learns one-against-the-rest binary-class classifiers by making a function call to l2SVM
+     Implements builtin multi-class SVM with squared slack variables, 
+     learns one-against-the-rest binary-class classifiers by making a function call to l2SVM
+    
     
     
     :param X: matrix X of feature vectors
@@ -46,9 +47,9 @@ def msvm(X: Matrix,
     :param reg: Regularization parameter (lambda) for L2 regularization
     :param maxIterations: Maximum number of conjugate gradient iterations
     :param verbose: Set to true to print while training.
-    :return: 'OperationNode' containing 
-        model matrix 
+    :return: model matrix
     """
+
     params_dict = {'X': X, 'Y': Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py b/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py
index 7f8d39b9cf..930428043e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py
@@ -32,15 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def msvmPredict(X: Matrix,
                 W: Matrix):
     """
-    This Scripts helps in applying an trained MSVM
+     This Scripts helps in applying an trained MSVM
+    
     
     
     :param X: matrix X of feature vectors to classify
     :param W: matrix of the trained variables
-    :return: 'OperationNode' containing 
-        classification labels raw, meaning not modified to clean
-        labeles of 1's and -1'sclassification labels maxed to ones and zeros. 
+    :return: Classification Labels Raw, meaning not modified to clean
+        Labeles of 1's and -1's
+    :return: Classification Labels Maxed to ones and zeros.
     """
+
     params_dict = {'X': X, 'W': W}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py b/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py
index 01466158bc..624ae8da1e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py
@@ -33,10 +33,11 @@ def multiLogReg(X: Matrix,
                 Y: Matrix,
                 **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Solves Multinomial Logistic Regression using Trust Region method.
-    (See: Trust Region Newton Method for Logistic Regression, Lin, Weng and Keerthi, JMLR 9 (2008) 627-650)
-    The largest label represents the baseline category; if label -1 or 0 is present, then it is
-    the baseline label (and it is converted to the largest label).
+     Solves Multinomial Logistic Regression using Trust Region method.
+     (See: Trust Region Newton Method for Logistic Regression, Lin, Weng and Keerthi, JMLR 9 (2008) 627-650)
+     The largest label represents the baseline category; if label -1 or 0 is present, then it is
+     the baseline label (and it is converted to the largest label).
+    
     
     
     :param X: Location to read the matrix of feature vectors
@@ -49,9 +50,9 @@ def multiLogReg(X: Matrix,
     :param maxi: max. number of outer (Newton) iterations
     :param maxii: max. number of inner (conjugate gradient) iterations, 0 = no max
     :param verbose: flag specifying if logging information should be printed
-    :return: 'OperationNode' containing 
-        regression betas as output for prediction 
+    :return: regression betas as output for prediction
     """
+
     params_dict = {'X': X, 'Y': Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py b/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py
index 12970d0177..3fcd41c25c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py
@@ -34,17 +34,20 @@ def multiLogRegPredict(X: Matrix,
                        Y: Matrix,
                        **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    THIS SCRIPT APPLIES THE ESTIMATED PARAMETERS OF MULTINOMIAL LOGISTIC REGRESSION TO A NEW (TEST) DATASET
-    Matrix M of predicted means/probabilities, some statistics in CSV format (see below)
+     THIS SCRIPT APPLIES THE ESTIMATED PARAMETERS OF MULTINOMIAL LOGISTIC REGRESSION TO A NEW (TEST) DATASET
+     Matrix M of predicted means/probabilities, some statistics in CSV format (see below)
+    
     
     
     :param X: Data Matrix X
     :param B: Regression parameters betas
     :param Y: Response vector Y
     :param verbose: flag specifying if logging information should be printed
-    :return: 'OperationNode' containing 
-        matrix m of predicted means/probabilitiespredicted response vectorscalar value of accuracy 
+    :return: Matrix M of predicted means/probabilities
+    :return: Predicted response vector
+    :return: scalar value of accuracy
     """
+
     params_dict = {'X': X, 'B': B, 'Y': Y}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/na_locf.py b/src/main/python/systemds/operator/algorithm/builtin/na_locf.py
index b098b1f4ce..5aebab6240 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/na_locf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/na_locf.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def na_locf(X: Matrix,
             **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function for imputing missing values using forward fill and backward fill techniques
+     Builtin function for imputing missing values using forward fill and backward fill techniques
+    
     
     
     :param X: Matrix X
     :param option: String "locf" (last observation moved forward) to do forward fill
         "nocb" (next observation carried backward) to do backward fill
     :param verbose: to print output on screen
-    :return: 'OperationNode' containing 
-        matrix with no missing values 
+    :return: Matrix with no missing values
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py b/src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py
index 54e9283ff5..e51fb1dff3 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py
@@ -33,16 +33,18 @@ def naiveBayes(D: Matrix,
                C: Matrix,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The naiveBayes-function computes the class conditional probabilities and class priors.
+     The naiveBayes-function computes the class conditional probabilities and class priors.
+    
     
     
     :param D: One dimensional column matrix with N rows.
     :param C: One dimensional column matrix with N rows.
     :param laplace: Any Double value.
     :param verbose: Boolean value.
-    :return: 'OperationNode' containing 
-        class priors, one dimensional column matrix with n rows.class conditional probabilities, one dimensional column matrix with n rows. 
+    :return: Class priors, One dimensional column matrix with N rows.
+    :return: Class conditional probabilities, One dimensional column matrix with N rows.
     """
+
     params_dict = {'D': D, 'C': C}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py b/src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py
index e73462d3f1..5e0fe122b7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py
@@ -33,15 +33,17 @@ def naiveBayesPredict(X: Matrix,
                       P: Matrix,
                       C: Matrix):
     """
-    The naiveBaysePredict-function predicts the scoring with a naive Bayes model.
+     The naiveBaysePredict-function predicts the scoring with a naive Bayes model.
+    
     
     
     :param X: Matrix of test data with N rows.
     :param P: Class priors, One dimensional column matrix with N rows.
     :param C: Class conditional probabilities, matrix with N rows
-    :return: 'OperationNode' containing 
-        a matrix containing the top-k item-ids with highest predicted ratings.a matrix containing predicted ratings. 
+    :return: A matrix containing the top-K item-ids with highest predicted ratings.
+    :return: A matrix containing predicted ratings.
     """
+
     params_dict = {'X': X, 'P': P, 'C': C}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/normalize.py b/src/main/python/systemds/operator/algorithm/builtin/normalize.py
index 19c7f1d68f..d09b5b2f93 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/normalize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/normalize.py
@@ -31,14 +31,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def normalize(X: Matrix):
     """
-    Min-max normalization (a.k.a. min-max scaling) to range [0,1]. For matrices 
-    of positive values, this normalization preserves the input sparsity.
+     Min-max normalization (a.k.a. min-max scaling) to range [0,1]. For matrices 
+     of positive values, this normalization preserves the input sparsity.
+    
     
     
     :param X: Input feature matrix of shape n-by-m
-    :return: 'OperationNode' containing 
-        modified output feature matrix of shape n-by-mcolumn minima of shape 1-by-mcolumn maxima of shape 1-by-m 
+    :return: Modified output feature matrix of shape n-by-m
+    :return: Column minima of shape 1-by-m
+    :return: Column maxima of shape 1-by-m
     """
+
     params_dict = {'X': X}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/normalizeApply.py b/src/main/python/systemds/operator/algorithm/builtin/normalizeApply.py
index abcd6c54ed..063e457f25 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/normalizeApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/normalizeApply.py
@@ -33,18 +33,19 @@ def normalizeApply(X: Matrix,
                    cmin: Matrix,
                    cmax: Matrix):
     """
-    Min-max normalization (a.k.a. min-max scaling) to range [0,1], given 
-    existing min-max ranges. For matrices of positive values, this normalization 
-    preserves the input sparsity. The validity of the provided min-max range
-    and post-processing is under control of the caller. 
+     Min-max normalization (a.k.a. min-max scaling) to range [0,1], given 
+     existing min-max ranges. For matrices of positive values, this normalization 
+     preserves the input sparsity. The validity of the provided min-max range
+     and post-processing is under control of the caller. 
+    
     
     
     :param X: Input feature matrix of shape n-by-m
     :param cmin: Colunm minima of shape 1-by-m
     :param cmax: Column maxima of shape 1-by-m
-    :return: 'OperationNode' containing 
-        modified output feature matrix of shape n-by-m 
+    :return: Modified output feature matrix of shape n-by-m
     """
+
     params_dict = {'X': X, 'cmin': cmin, 'cmax': cmax}
     return Matrix(X.sds_context,
         'normalizeApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlier.py b/src/main/python/systemds/operator/algorithm/builtin/outlier.py
index 8664b1310e..dd0d6ff7c8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlier.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlier.py
@@ -32,16 +32,17 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def outlier(X: Matrix,
             opposite: bool):
     """
-    This outlier-function takes a matrix data set as input from where it determines
-    which point(s) have the largest difference from mean.
+     This outlier-function takes a matrix data set as input from where it determines
+     which point(s) have the largest difference from mean.
+    
     
     
     :param X: Matrix of Recoded dataset for outlier evaluation
     :param opposite: (1)TRUE for evaluating outlier from upper quartile range,
         (0)FALSE for evaluating outlier from lower quartile range
-    :return: 'OperationNode' containing 
-        matrix indicating outlier values 
+    :return: matrix indicating outlier values
     """
+
     params_dict = {'X': X, 'opposite': opposite}
     return Matrix(X.sds_context,
         'outlier',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py b/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py
index e865f66932..5f5b048665 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py
@@ -32,8 +32,9 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def outlierByArima(X: Matrix,
                    **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Built-in function for detecting and repairing outliers in time series, by training an ARIMA model
-    and classifying values that are more than k standard-deviations away from the predicated values as outliers.
+     Built-in function for detecting and repairing outliers in time series, by training an ARIMA model
+     and classifying values that are more than k standard-deviations away from the predicated values as outliers.
+    
     
     
     :param X: Matrix X
@@ -49,9 +50,9 @@ def outlierByArima(X: Matrix,
     :param s: period in terms of number of time-steps
     :param include_mean: If the mean should be included
     :param solver: solver, is either "cg" or "jacobi"
-    :return: 'OperationNode' containing 
-        matrix x with no outliers 
+    :return: Matrix X with no outliers
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py b/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py
index 5ac90a6755..2c0dd71aa6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py
@@ -34,7 +34,8 @@ def outlierByIQR(X: Matrix,
                  max_iterations: int,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function for detecting and repairing outliers using standard deviation 
+     Builtin function for detecting and repairing outliers using standard deviation 
+    
     
     
     :param X: Matrix X
@@ -46,9 +47,9 @@ def outlierByIQR(X: Matrix,
     :param max_iterations: values: 0 = arbitrary number of iteraition until all outliers are removed,
         n = any constant defined by user
     :param verbose: flag specifying if logging information should be printed
-    :return: 'OperationNode' containing 
-        matrix x with no outliers 
+    :return: Matrix X with no outliers
     """
+
     params_dict = {'X': X, 'k': k, 'max_iterations': max_iterations}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlierByIQRApply.py b/src/main/python/systemds/operator/algorithm/builtin/outlierByIQRApply.py
index 2f3a8f0881..9794d7ae0e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierByIQRApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierByIQRApply.py
@@ -36,7 +36,8 @@ def outlierByIQRApply(X: Matrix,
                       k: float,
                       repairMethod: int):
     """
-    Builtin function for repairing outliers by IQR 
+     Builtin function for repairing outliers by IQR 
+    
     
     
     :param X: Matrix X
@@ -47,9 +48,9 @@ def outlierByIQRApply(X: Matrix,
     :param repairMethod: values: 0 = delete rows having outliers,
         1 = replace outliers with zeros
         2 = replace outliers as missing values
-    :return: 'OperationNode' containing 
-        matrix x with no outliers 
+    :return: Matrix X with no outliers
     """
+
     params_dict = {'X': X, 'Q1': Q1, 'Q3': Q3, 'IQR': IQR, 'k': k, 'repairMethod': repairMethod}
     return Matrix(X.sds_context,
         'outlierByIQRApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py b/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py
index 0030ecdc8a..b173eabf00 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py
@@ -33,7 +33,8 @@ def outlierBySd(X: Matrix,
                 max_iterations: int,
                 **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function for detecting and repairing outliers using standard deviation
+     Builtin function for detecting and repairing outliers using standard deviation
+    
     
     
     :param X: Matrix X
@@ -42,9 +43,9 @@ def outlierBySd(X: Matrix,
         2 = replace outliers as missing values
     :param max_iterations: values: 0 = arbitrary number of iteration until all outliers are removed,
         n = any constant defined by user
-    :return: 'OperationNode' containing 
-        matrix x with no outliers 
+    :return: Matrix X with no outliers
     """
+
     params_dict = {'X': X, 'max_iterations': max_iterations}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlierBySdApply.py b/src/main/python/systemds/operator/algorithm/builtin/outlierBySdApply.py
index d51f89130a..4343113d17 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierBySdApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierBySdApply.py
@@ -35,7 +35,8 @@ def outlierBySdApply(X: Matrix,
                      k: float,
                      repairMethod: int):
     """
-    Builtin function for detecting and repairing outliers using standard deviation 
+     Builtin function for detecting and repairing outliers using standard deviation 
+    
     
     
     :param X: Matrix X
@@ -48,9 +49,9 @@ def outlierBySdApply(X: Matrix,
     :param max_iterations: values: 0 = arbitrary number of iteraition until all outliers are removed,
         n = any constant defined by user
     :param verbose: flag specifying if logging information should be printed
-    :return: 'OperationNode' containing 
-        matrix x with no outliers 
+    :return: Matrix X with no outliers
     """
+
     params_dict = {'X': X, 'colMean': colMean, 'colSD': colSD, 'k': k, 'repairMethod': repairMethod}
     return Matrix(X.sds_context,
         'outlierBySdApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/pca.py b/src/main/python/systemds/operator/algorithm/builtin/pca.py
index 56be35704c..403f9cfca1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/pca.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/pca.py
@@ -32,16 +32,20 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def pca(X: Matrix,
         **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The function Principal Component Analysis (PCA) is used for dimensionality reduction
+     The function Principal Component Analysis (PCA) is used for dimensionality reduction
+    
     
     
     :param X: Input feature matrix
     :param K: Number of reduced dimensions (i.e., columns)
     :param Center: Indicates whether or not to center the feature matrix
     :param Scale: Indicates whether or not to scale the feature matrix
-    :return: 'OperationNode' containing 
-        output feature matrix with k columnsoutput dominant eigen vectors (can be used for projections)the column means of the input, subtracted to construct the pcathe scaling of the values, to make each dimension same size. 
+    :return: Output feature matrix with K columns
+    :return: Output dominant eigen vectors (can be used for projections)
+    :return: The column means of the input, subtracted to construct the PCA
+    :return: The Scaling of the values, to make each dimension same size.
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/pcaInverse.py b/src/main/python/systemds/operator/algorithm/builtin/pcaInverse.py
index f721c5ea66..f59891f6d2 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/pcaInverse.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/pcaInverse.py
@@ -34,18 +34,19 @@ def pcaInverse(Y: Matrix,
                Centering: Matrix,
                ScaleFactor: Matrix):
     """
-    Principal Component Analysis (PCA) for reconstruction of approximation of the original data.
-    This methods allows to reconstruct an approximation of the original matrix, and is useful for
-    calculating how much information is lost in the PCA.
+     Principal Component Analysis (PCA) for reconstruction of approximation of the original data.
+     This methods allows to reconstruct an approximation of the original matrix, and is useful for
+     calculating how much information is lost in the PCA.
+    
     
     
     :param Y: Input features that have PCA applied to them
     :param Clusters: The previous PCA components computed
     :param Centering: The column means of the PCA model, subtracted to construct the PCA
     :param ScaleFactor: The scaling of each dimension in the PCA model
-    :return: 'OperationNode' containing 
-        output feature matrix reconstructing and approximation of the original matrix 
+    :return: Output feature matrix reconstructing and approximation of the original matrix
     """
+
     params_dict = {'Y': Y, 'Clusters': Clusters, 'Centering': Centering, 'ScaleFactor': ScaleFactor}
     return Matrix(Y.sds_context,
         'pcaInverse',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/pcaTransform.py b/src/main/python/systemds/operator/algorithm/builtin/pcaTransform.py
index de4b307f7a..9b815f8f21 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/pcaTransform.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/pcaTransform.py
@@ -34,18 +34,19 @@ def pcaTransform(X: Matrix,
                  Centering: Matrix,
                  ScaleFactor: Matrix):
     """
-    Principal Component Analysis (PCA) for dimensionality reduction prediction
-    This method is used to transpose data, which the PCA model was not trained on. To validate how good
-    The PCA is, and to apply in production. 
+     Principal Component Analysis (PCA) for dimensionality reduction prediction
+     This method is used to transpose data, which the PCA model was not trained on. To validate how good
+     The PCA is, and to apply in production. 
+    
     
     
     :param X: Input feature matrix
     :param Clusters: The previously computed principal components
     :param Centering: The column means of the PCA model, subtracted to construct the PCA
     :param ScaleFactor: The scaling of each dimension in the PCA model
-    :return: 'OperationNode' containing 
-        output feature matrix dimensionally reduced by pca 
+    :return: Output feature matrix dimensionally reduced by PCA
     """
+
     params_dict = {'X': X, 'Clusters': Clusters, 'Centering': Centering, 'ScaleFactor': ScaleFactor}
     return Matrix(X.sds_context,
         'pcaTransform',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/pnmf.py b/src/main/python/systemds/operator/algorithm/builtin/pnmf.py
index 014be52627..e0011af45c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/pnmf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/pnmf.py
@@ -33,12 +33,14 @@ def pnmf(X: Matrix,
          rnk: int,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The pnmf-function implements Poisson Non-negative Matrix Factorization (PNMF). Matrix X is factorized into two
-    non-negative matrices, W and H based on Poisson probabilistic assumption. This non-negativity makes the resulting
-    matrices easier to inspect.
-    [Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, Yi-Min Wang:
-    Distributed nonnegative matrix factorization for web-scale dyadic 
-    data analysis on mapreduce. WWW 2010: 681-690]
+     The pnmf-function implements Poisson Non-negative Matrix Factorization (PNMF). Matrix X is factorized into two
+     non-negative matrices, W and H based on Poisson probabilistic assumption. This non-negativity makes the resulting
+     matrices easier to inspect.
+    
+     [Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, Yi-Min Wang:
+     Distributed nonnegative matrix factorization for web-scale dyadic 
+     data analysis on mapreduce. WWW 2010: 681-690]
+    
     
     
     :param X: Matrix of feature vectors.
@@ -46,9 +48,10 @@ def pnmf(X: Matrix,
     :param eps: Tolerance
     :param maxi: Maximum number of conjugate gradient iterations.
     :param verbose: If TRUE, 'iter' and 'obj' are printed.
-    :return: 'OperationNode' containing 
-        list of pattern matrices, one for each repetition.list of amplitude matrices, one for each repetition. 
+    :return: List of pattern matrices, one for each repetition.
+    :return: List of amplitude matrices, one for each repetition.
     """
+
     params_dict = {'X': X, 'rnk': rnk}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/ppca.py b/src/main/python/systemds/operator/algorithm/builtin/ppca.py
index 97721f957b..07bec55b19 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/ppca.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/ppca.py
@@ -32,9 +32,10 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def ppca(X: Matrix,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script performs Probabilistic Principal Component Analysis (PCA) on the given input data.
-    It is based on paper: sPCA: Scalable Principal Component Analysis for Big Data on Distributed
-    Platforms. Tarek Elgamal et.al.
+     This script performs Probabilistic Principal Component Analysis (PCA) on the given input data.
+     It is based on paper: sPCA: Scalable Principal Component Analysis for Big Data on Distributed
+     Platforms. Tarek Elgamal et.al.
+    
     
     
     :param X: n x m input feature matrix
@@ -43,9 +44,10 @@ def ppca(X: Matrix,
     :param tolobj: objective function tolerance value to stop ppca algorithm
     :param tolrecerr: reconstruction error tolerance value to stop the algorithm
     :param verbose: verbose debug output
-    :return: 'OperationNode' containing 
-        output feature matrix with k columnsoutput dominant eigen vectors (can be used for projections) 
+    :return: Output feature matrix with K columns
+    :return: Output dominant eigen vectors (can be used for projections)
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/randomForest.py b/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
index 061565acb5..b2b4424ff6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
@@ -34,7 +34,8 @@ def randomForest(X: Matrix,
                  R: Matrix,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script implement classification random forest with both scale and categorical features.
+     This script implement classification random forest with both scale and categorical features.
+    
     
     
     :param X: Feature matrix X; note that X needs to be both recoded and dummy coded
@@ -55,23 +56,26 @@ def randomForest(X: Matrix,
         as a power of number of features in the dataset;
         by default square root of features (i.e., feature_subset = 0.5) are used at each tree node
     :param impurity: Impurity measure: entropy or Gini (the default)
-    :return: 'OperationNode' containing 
-        matrix m containing the learned tree, where each column corresponds to a node
+    :return: Matrix M containing the learned tree, where each column corresponds to a node
         in the learned tree and each row contains the following information:
-        m[1,j]: id of node j (in a complete binary tree)
-        m[2,j]: tree id to which node j belongs
-        m[3,j]: offset (no. of columns) to left child of j
-        m[4,j]: feature index of the feature that node j looks at if j is an internal node, otherwise 0
-        m[5,j]: type of the feature that node j looks at if j is an internal node: 1 for scale and 2
+        M[1,j]: id of node j (in a complete binary tree)
+        M[2,j]: tree id to which node j belongs
+        M[3,j]: Offset (no. of columns) to left child of j
+        M[4,j]: Feature index of the feature that node j looks at if j is an internal node, otherwise 0
+        M[5,j]: Type of the feature that node j looks at if j is an internal node: 1 for scale and 2
         for categorical features,
         otherwise the label that leaf node j is supposed to predict
-        m[6,j]: 1 if j is an internal node and the feature chosen for j is scale, otherwise the
+        M[6,j]: 1 if j is an internal node and the feature chosen for j is scale, otherwise the
         size of the subset of values
         stored in rows 7,8,... if j is categorical
-        m[7:,j]: only applicable for internal nodes. threshold the example's feature value is
-        compared to is stored at m[7,j] if the feature chosen for j is scale;
-        if the feature chosen for j is categorical rows 7,8,... depict the value subset chosen for jmatrix c containing the number of times samples are chosen in each tree of the random forestmappings from scale feature ids to global feature idsmappings from categorical feature ids to global feature ids 
+        M[7:,j]: Only applicable for internal nodes. Threshold the example's feature value is
+        compared to is stored at M[7,j] if the feature chosen for j is scale;
+        If the feature chosen for j is categorical rows 7,8,... depict the value subset chosen for j
+    :return: Matrix C containing the number of times samples are chosen in each tree of the random forest
+    :return: Mappings from scale feature ids to global feature ids
+    :return: Mappings from categorical feature ids to global feature ids
     """
+
     params_dict = {'X': X, 'Y': Y, 'R': R}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/scale.py b/src/main/python/systemds/operator/algorithm/builtin/scale.py
index 11ebdc722a..015709d8c6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/scale.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/scale.py
@@ -32,15 +32,18 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def scale(X: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function scales and center individual features in the input matrix (column wise.) using z-score to scale the values.
+     This function scales and center individual features in the input matrix (column wise.) using z-score to scale the values.
+    
     
     
     :param X: Input feature matrix
     :param center: Indicates whether or not to center the feature matrix
     :param scale: Indicates whether or not to scale the feature matrix
-    :return: 'OperationNode' containing 
-        output feature matrix with k columnsthe column means of the input, subtracted if center was truethe scaling of the values, to make each dimension have similar value ranges 
+    :return: Output feature matrix with K columns
+    :return: The column means of the input, subtracted if Center was TRUE
+    :return: The Scaling of the values, to make each dimension have similar value ranges
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py b/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py
index b2f86aab83..88520460e5 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py
@@ -33,15 +33,16 @@ def scaleApply(X: Matrix,
                Centering: Matrix,
                ScaleFactor: Matrix):
     """
-    This function scales and center individual features in the input matrix (column wise.) using the input matrices.
+     This function scales and center individual features in the input matrix (column wise.) using the input matrices.
+    
     
     
     :param X: Input feature matrix
     :param Centering: The column means to subtract from X (not done if empty)
     :param ScaleFactor: The column scaling to multiply with X (not done if empty)
-    :return: 'OperationNode' containing 
-        output feature matrix with k columns 
+    :return: Output feature matrix with K columns
     """
+
     params_dict = {'X': X, 'Centering': Centering, 'ScaleFactor': ScaleFactor}
     return Matrix(X.sds_context,
         'scaleApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/scaleMinMax.py b/src/main/python/systemds/operator/algorithm/builtin/scaleMinMax.py
index 05a0fccc68..b2a59859f6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/scaleMinMax.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/scaleMinMax.py
@@ -31,13 +31,14 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def scaleMinMax(X: Matrix):
     """
-    This function performs min-max normalization (rescaling to [0,1]).
+     This function performs min-max normalization (rescaling to [0,1]).
+    
     
     
     :param X: Input feature matrix
-    :return: 'OperationNode' containing 
-        scaled output matrix 
+    :return: Scaled output matrix
     """
+
     params_dict = {'X': X}
     return Matrix(X.sds_context,
         'scaleMinMax',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py b/src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py
index 4a00e3f3c2..12a50b2a28 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/selectByVarThresh.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def selectByVarThresh(X: Matrix,
                       **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function drops feature with <= thresh variance (by default drop constants).
+     This function drops feature with <= thresh variance (by default drop constants).
+    
     
     
     :param X: Matrix of feature vectors.
     :param thresh: The threshold for to drop
-    :return: 'OperationNode' containing 
-        matrix of feature vectors with <= thresh variance. 
+    :return: Matrix of feature vectors with <= thresh variance.
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/setdiff.py b/src/main/python/systemds/operator/algorithm/builtin/setdiff.py
index 7f1b32756a..d1a28f2ac0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/setdiff.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/setdiff.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def setdiff(X: Matrix,
             Y: Matrix):
     """
-    Builtin function that implements difference operation on vectors
+     Builtin function that implements difference operation on vectors
+    
     
     
     :param X: input vector
     :param Y: input vector
-    :return: 'OperationNode' containing 
-        vector with all elements that are present in x but not in y 
+    :return: vector with all elements that are present in X but not in Y
     """
+
     params_dict = {'X': X, 'Y': Y}
     return Matrix(X.sds_context,
         'setdiff',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/sherlock.py b/src/main/python/systemds/operator/algorithm/builtin/sherlock.py
index 6e510f0c78..7dce268807 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/sherlock.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/sherlock.py
@@ -32,19 +32,31 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def sherlock(X_train: Matrix,
              y_train: Matrix):
     """
-    This function implements training phase of Sherlock: A Deep Learning Approach to Semantic Data Type Detection
-    [Hulsebos, Madelon, et al. "Sherlock: A deep learning approach to semantic data type detection."
-    Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.
-    2019.]
-    Split feature matrix into four different feature categories and train neural networks on the
-    respective single features. Then combine all trained features to train final neural network.
+     This function implements training phase of Sherlock: A Deep Learning Approach to Semantic Data Type Detection
+    
+     [Hulsebos, Madelon, et al. "Sherlock: A deep learning approach to semantic data type detection."
+     Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.
+     2019.]
+    
+     Split feature matrix into four different feature categories and train neural networks on the
+     respective single features. Then combine all trained features to train final neural network.
+    
     
     
     :param X_train: matrix of feature vectors
     :param y_train: matrix Y of class labels of semantic data type
-    :return: 'OperationNode' containing 
-        weights (parameters) matrices for character distributionsbiases vectors for character distributionsweights (parameters) matrices for word embeddingsbiases vectors for word embeddingsweights (parameters) matrices for paragraph vectorsbiases vectors for paragraph vectorsweights (parameters) matrices for global statisticsbiases vectors for global statisticsweights (parameters) matrices for  combining all trained features (final)biases vectors for combining all trained features (final) 
+    :return: weights (parameters) matrices for character distributions
+    :return: biases vectors for character distributions
+    :return: weights (parameters) matrices for word embeddings
+    :return: biases vectors for word embeddings
+    :return: weights (parameters) matrices for paragraph vectors
+    :return: biases vectors for paragraph vectors
+    :return: weights (parameters) matrices for global statistics
+    :return: biases vectors for global statistics
+    :return: weights (parameters) matrices for  combining all trained features (final)
+    :return: biases vectors for combining all trained features (final)
     """
+
     params_dict = {'X_train': X_train, 'y_train': y_train}
     
     vX_0 = Matrix(X_train.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py b/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py
index 2556f5d5e9..c187872b9e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py
@@ -61,13 +61,14 @@ def sherlockPredict(X: Matrix,
                     fW3: Matrix,
                     fb3: Matrix):
     """
-    This function implements prediction and evaluation phase of Sherlock:
-    Split feature matrix into four different feature categories and predicting the class probability
-    on the respective features. Then combine all predictions for final predicted probabilities.
-    A Deep Learning Approach to Semantic Data Type Detection.
-    [Hulsebos, Madelon, et al. "Sherlock: A deep learning approach to semantic data type detection."
-    Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.
-    2019.]
+     This function implements prediction and evaluation phase of Sherlock:
+     Split feature matrix into four different feature categories and predicting the class probability
+     on the respective features. Then combine all predictions for final predicted probabilities.
+     A Deep Learning Approach to Semantic Data Type Detection.
+     [Hulsebos, Madelon, et al. "Sherlock: A deep learning approach to semantic data type detection."
+     Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.
+     2019.]
+    
     
     
     :param X: matrix of values which are to be classified
@@ -81,9 +82,9 @@ def sherlockPredict(X: Matrix,
     :param sb: biases vectors for global statistics
     :param fW: weights (parameters) matrices for  combining all trained features (final)
     :param fb: biases vectors for combining all trained features (final)
-    :return: 'OperationNode' containing 
-        class probabilities of shape (n, k) 
+    :return: class probabilities of shape (N, K)
     """
+
     params_dict = {'X': X, 'cW1': cW1, 'cb1': cb1, 'cW2': cW2, 'cb2': cb2, 'cW3': cW3, 'cb3': cb3, 'wW1': wW1, 'wb1': wb1, 'wW2': wW2, 'wb2': wb2, 'wW3': wW3, 'wb3': wb3, 'pW1': pW1, 'pb1': pb1, 'pW2': pW2, 'pb2': pb2, 'pW3': pW3, 'pb3': pb3, 'sW1': sW1, 'sb1': sb1, 'sW2': sW2, 'sb2': sb2, 'sW3': sW3, 'sb3': sb3, 'fW1': fW1, 'fb1': fb1, 'fW2': fW2, 'fb2': fb2, 'fW3': fW3, 'fb3': fb3}
     return Matrix(X.sds_context,
         'sherlockPredict',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/shortestPath.py b/src/main/python/systemds/operator/algorithm/builtin/shortestPath.py
index 737553cb32..521fdbc462 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/shortestPath.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/shortestPath.py
@@ -33,11 +33,12 @@ def shortestPath(G: Matrix,
                  sourceNode: int,
                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Computes the minimum distances (shortest-path) between a single source vertex and every other vertex in the graph.
+     Computes the minimum distances (shortest-path) between a single source vertex and every other vertex in the graph.
+     
+     Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bilk, 
+     James C. Dehnert, Ikkan Horn, Naty Leiser and Grzegorz Czajkowski:
+     Pregel: A System for Large-Scale Graph Processing, SIGMOD 2010
     
-    Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bilk, 
-    James C. Dehnert, Ikkan Horn, Naty Leiser and Grzegorz Czajkowski:
-    Pregel: A System for Large-Scale Graph Processing, SIGMOD 2010
     
     
     :param G: adjacency matrix of the labeled graph: Such graph can be directed
@@ -49,13 +50,13 @@ def shortestPath(G: Matrix,
         max number of iterations not defined)
     :param sourceNode: node index to calculate the shortest paths to all other nodes.
     :param verbose: flag for verbose debug output
-    :return: 'OperationNode' containing 
-        output matrix (double) of minimum distances (shortest-path) between
-        vertices: the value of the ith row and the jth column of the output
+    :return: Output matrix (double) of minimum distances (shortest-path) between
+        vertices: The value of the ith row and the jth column of the output
         matrix is the minimum distance shortest-path from vertex i to vertex j.
-        when the value of the minimum distance is infinity, the two nodes are
-        not connected. 
+        When the value of the minimum distance is infinity, the two nodes are
+        not connected.
     """
+
     params_dict = {'G': G, 'sourceNode': sourceNode}
     params_dict.update(kwargs)
     return Matrix(G.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py b/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py
index 127d0f6fb1..1c6dac5539 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py
@@ -31,14 +31,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def sigmoid(X: Matrix):
     """
-    The Sigmoid function is a type of activation function, and also defined as a squashing function which limit the
-    output to a range between 0 and 1, which will make these functions useful in the prediction of probabilities.
+     The Sigmoid function is a type of activation function, and also defined as a squashing function which limit the
+     output to a range between 0 and 1, which will make these functions useful in the prediction of probabilities.
+    
     
     
     :param X: Matrix of feature vectors.
-    :return: 'OperationNode' containing 
-        1-column matrix of weights. 
+    :return: 1-column matrix of weights.
     """
+
     params_dict = {'X': X}
     return Matrix(X.sds_context,
         'sigmoid',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py b/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py
index efe8dc80f6..a8c34cc0b9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py
@@ -33,11 +33,12 @@ def slicefinder(X: Matrix,
                 e: Matrix,
                 **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This builtin function implements SliceLine, a linear-algebra-based
-    ML model debugging technique for finding the top-k data slices where
-    a trained models performs significantly worse than on the overall 
-    dataset. For a detailed description and experimental results, see:
-    Svetlana Sagadeeva, Matthias Boehm: SliceLine: Fast, Linear-Algebra-based Slice Finding for ML Model Debugging.(SIGMOD 2021)
+     This builtin function implements SliceLine, a linear-algebra-based
+     ML model debugging technique for finding the top-k data slices where
+     a trained models performs significantly worse than on the overall 
+     dataset. For a detailed description and experimental results, see:
+     Svetlana Sagadeeva, Matthias Boehm: SliceLine: Fast, Linear-Algebra-based Slice Finding for ML Model Debugging.(SIGMOD 2021)
+    
     
     
     :param X: Recoded dataset into Matrix
@@ -52,9 +53,11 @@ def slicefinder(X: Matrix,
     :param selFeat: flag for removing one-hot-encoded features that don't satisfy
         the initial minimum-support constraint and/or have zero error
     :param verbose: flag for verbose debug output
-    :return: 'OperationNode' containing 
-        top-k slices (k x ncol(x) if successful)score, size, error of slices (k x 3)debug matrix, populated with enumeration stats if verbose 
+    :return: top-k slices (k x ncol(X) if successful)
+    :return: score, size, error of slices (k x 3)
+    :return: debug matrix, populated with enumeration stats if verbose
     """
+
     params_dict = {'X': X, 'e': e}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/smote.py b/src/main/python/systemds/operator/algorithm/builtin/smote.py
index 70b74985fc..6389ddfb5c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/smote.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/smote.py
@@ -33,8 +33,9 @@ def smote(X: Matrix,
           mask: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    Builtin function for handing class imbalance using Synthetic Minority Over-sampling Technique (SMOTE)
-    by Nitesh V. Chawla et. al. In Journal of Artificial Intelligence Research 16 (2002). 321–357
+     Builtin function for handing class imbalance using Synthetic Minority Over-sampling Technique (SMOTE)
+     by Nitesh V. Chawla et. al. In Journal of Artificial Intelligence Research 16 (2002). 321–357
+    
     
     
     :param X: Matrix of minority class samples
@@ -42,9 +43,9 @@ def smote(X: Matrix,
     :param s: Amount of SMOTE (percentage of oversampling), integral multiple of 100
     :param k: Number of nearest neighbor
     :param verbose: if the algorithm should be verbose
-    :return: 'OperationNode' containing 
-        matrix of (n/100)-1 * nrow(x) synthetic minority class samples 
+    :return: Matrix of (N/100)-1 * nrow(X) synthetic minority class samples
     """
+
     params_dict = {'X': X, 'mask': mask}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/softmax.py b/src/main/python/systemds/operator/algorithm/builtin/softmax.py
index 88d56e3745..63fff167c0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/softmax.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/softmax.py
@@ -31,13 +31,14 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def softmax(S: Matrix):
     """
-    Performs softmax on the given input matrix.
+     Performs softmax on the given input matrix.
+    
     
     
     :param S: Inputs of shape (N, D).
-    :return: 'OperationNode' containing 
-        outputs of shape (n, d). 
+    :return: Outputs of shape (N, D).
     """
+
     params_dict = {'S': S}
     return Matrix(S.sds_context,
         'softmax',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/split.py b/src/main/python/systemds/operator/algorithm/builtin/split.py
index 0882baf382..311eb9d1a7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/split.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/split.py
@@ -33,7 +33,8 @@ def split(X: Matrix,
           Y: Matrix,
           **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function split input data X and Y into contiguous or samples train/test sets
+     This function split input data X and Y into contiguous or samples train/test sets
+    
     
     
     :param X: Input feature matrix
@@ -41,9 +42,12 @@ def split(X: Matrix,
     :param f: Train set fraction [0,1]
     :param cont: contiguous splits, otherwise sampled
     :param seed: The seed to randomly select rows in sampled mode
-    :return: 'OperationNode' containing 
-        train split of feature matrixtest split of feature matrixtrain split of label matrixtest split of label matrix 
+    :return: Train split of feature matrix
+    :return: Test split of feature matrix
+    :return: Train split of label matrix
+    :return: Test split of label matrix
     """
+
     params_dict = {'X': X, 'Y': Y}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py b/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py
index 47ed8085cd..e678e343d4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py
@@ -33,17 +33,21 @@ def splitBalanced(X: Matrix,
                   Y: Matrix,
                   **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This functions split input data X and Y into contiguous balanced ratio
-    Related to [SYSTEMDS-2902] dependency function for cleaning pipelines
+     This functions split input data X and Y into contiguous balanced ratio
+     Related to [SYSTEMDS-2902] dependency function for cleaning pipelines
+    
     
     
     :param X: Input feature matrix
     :param Y: Input Labels
     :param f: Train set fraction [0,1]
     :param verbose: print available
-    :return: 'OperationNode' containing 
-        train split of feature matrixtest split of feature matrixtrain split of label matrixtest split of label matrix 
+    :return: Train split of feature matrix
+    :return: Test split of feature matrix
+    :return: Train split of label matrix
+    :return: Test split of label matrix
     """
+
     params_dict = {'X': X, 'Y': Y}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py b/src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py
index 4aeb055663..94024a4f7f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py
@@ -33,45 +33,48 @@ def stableMarriage(P: Matrix,
                    A: Matrix,
                    **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This script computes a solution for the stable marriage problem.
-    result description:
-    If cell [i,j] is non-zero, it means that acceptor i has matched with
-    proposer j. Further, if cell [i,j] is non-zero, it holds the preference
-    value that led to the match.
-    Proposers.mtx:
-    2.0,1.0,3.0
-    1.0,2.0,3.0
-    1.0,3.0,2.0
+     This script computes a solution for the stable marriage problem.
     
-    Since ordered=TRUE, this means that proposer 1 (row 1) likes acceptor 2
-    the most, followed by acceptor 1 and acceptor 3.
-    If ordered=FALSE, this would mean that proposer 1 (row 1) likes acceptor 3
-    the most (since the value at [1,3] is the row max),
-    followed by acceptor 1 (2.0 preference value) and acceptor 2 (1.0 preference value).
+     result description:
     
-    Acceptors.mtx:
-    3.0,1.0,2.0
-    2.0,1.0,3.0
-    3.0,2.0,1.0
+     If cell [i,j] is non-zero, it means that acceptor i has matched with
+     proposer j. Further, if cell [i,j] is non-zero, it holds the preference
+     value that led to the match.
+     Proposers.mtx:
+     2.0,1.0,3.0
+     1.0,2.0,3.0
+     1.0,3.0,2.0
+     
+     Since ordered=TRUE, this means that proposer 1 (row 1) likes acceptor 2
+     the most, followed by acceptor 1 and acceptor 3.
+     If ordered=FALSE, this would mean that proposer 1 (row 1) likes acceptor 3
+     the most (since the value at [1,3] is the row max),
+     followed by acceptor 1 (2.0 preference value) and acceptor 2 (1.0 preference value).
+     
+     Acceptors.mtx:
+     3.0,1.0,2.0
+     2.0,1.0,3.0
+     3.0,2.0,1.0
+     
+     Since ordered=TRUE, this means that acceptor 1 (row 1) likes proposer 3
+     the most, followed by proposer 1 and proposer 2.
+     If ordered=FALSE, this would mean that acceptor 1 (row 1) likes proposer 1
+     the most (since the value at [1,1] is the row max),
+     followed by proposer 3 (2.0 preference value) and proposer 2
+     (1.0 preference value).
+     
+     Output.mtx (assuming ordered=TRUE):
+     0.0,0.0,3.0
+     0.0,3.0,0.0
+     1.0,0.0,0.0
+     
+     Acceptor 1 has matched with proposer 3 (since [1,3] is non-zero) at a
+     preference level of 3.0.
+     Acceptor 2 has matched with proposer 2 (since [2,2] is non-zero) at a
+     preference level of 3.0.
+     Acceptor 3 has matched with proposer 1 (since [3,1] is non-zero) at a
+     preference level of 1.0.
     
-    Since ordered=TRUE, this means that acceptor 1 (row 1) likes proposer 3
-    the most, followed by proposer 1 and proposer 2.
-    If ordered=FALSE, this would mean that acceptor 1 (row 1) likes proposer 1
-    the most (since the value at [1,1] is the row max),
-    followed by proposer 3 (2.0 preference value) and proposer 2
-    (1.0 preference value).
-    
-    Output.mtx (assuming ordered=TRUE):
-    0.0,0.0,3.0
-    0.0,3.0,0.0
-    1.0,0.0,0.0
-    
-    Acceptor 1 has matched with proposer 3 (since [1,3] is non-zero) at a
-    preference level of 3.0.
-    Acceptor 2 has matched with proposer 2 (since [2,2] is non-zero) at a
-    preference level of 3.0.
-    Acceptor 3 has matched with proposer 1 (since [3,1] is non-zero) at a
-    preference level of 1.0.
     
     
     :param P: proposer matrix P.
@@ -83,9 +86,9 @@ def stableMarriage(P: Matrix,
         i.e. the leftmost value in a row in P is the preference value for the acceptor with
         index 1 and vice-versa (higher is better).
     :param verbose: if the algorithm should print verbosely
-    :return: 'OperationNode' containing 
-        result matrix 
+    :return: Result Matrix
     """
+
     params_dict = {'P': P, 'A': A}
     params_dict.update(kwargs)
     return Matrix(P.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/statsNA.py b/src/main/python/systemds/operator/algorithm/builtin/statsNA.py
index 57d602f986..0f0800e2c7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/statsNA.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/statsNA.py
@@ -32,16 +32,19 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def statsNA(X: Matrix,
             **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The statsNA-function Print summary stats about the distribution of missing values in a univariate time series.
-    result matrix contains the following:
-     1. Length of time series (including NAs)
-     2. Number of Missing Values (NAs)
-     3. Percentage of Missing Values (#2/#1)
-     4. Number of Gaps (consisting of one or more consecutive NAs)
-     5. Average Gap Size - Average size of consecutive NAs for the NA gaps
-     6. Longest NA gap - Longest series of consecutive missing values
-     7. Most frequent gap size - Most frequently occurring gap size
-     8. Gap size accounting for most NAs
+     The statsNA-function Print summary stats about the distribution of missing values in a univariate time series.
+    
+     result matrix contains the following:
+      1. Length of time series (including NAs)
+      2. Number of Missing Values (NAs)
+      3. Percentage of Missing Values (#2/#1)
+      4. Number of Gaps (consisting of one or more consecutive NAs)
+      5. Average Gap Size - Average size of consecutive NAs for the NA gaps
+      6. Longest NA gap - Longest series of consecutive missing values
+      7. Most frequent gap size - Most frequently occurring gap size
+      8. Gap size accounting for most NAs
+    
+    
     
     
     :param X: Numeric Vector ('vector') object containing NAs
@@ -51,9 +54,9 @@ def statsNA(X: Matrix,
     :param verbose: Print detailed information.
         For print_only = TRUE, the missing value stats are printed with
         more information ("Stats for Bins" and "overview NA series").
-    :return: 'OperationNode' containing 
-        column vector where each row correspond to described values 
+    :return: Column vector where each row correspond to described values
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/steplm.py b/src/main/python/systemds/operator/algorithm/builtin/steplm.py
index f7f14edbaf..6f8bca7594 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/steplm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/steplm.py
@@ -33,19 +33,23 @@ def steplm(X: Matrix,
            y: Matrix,
            **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The steplm-function (stepwise linear regression) implements a classical forward feature selection method.
-    This method iteratively runs what-if scenarios and greedily selects the next best feature
-    until the Akaike information criterion (AIC) does not improve anymore. Each configuration trains a regression model
-    via lm, which in turn calls either the closed form lmDS or iterative lmGC.
+     The steplm-function (stepwise linear regression) implements a classical forward feature selection method.
+     This method iteratively runs what-if scenarios and greedily selects the next best feature
+     until the Akaike information criterion (AIC) does not improve anymore. Each configuration trains a regression model
+     via lm, which in turn calls either the closed form lmDS or iterative lmGC.
+    
+     .. code-block:: txt 
+    
+       return: Matrix of regression parameters (the betas) and its size depend on icpt input value:
+               OUTPUT SIZE:   OUTPUT CONTENTS:                HOW TO PREDICT Y FROM X AND B:
+       icpt=0: ncol(X)   x 1  Betas for X only                Y ~ X %*% B[1:ncol(X), 1], or just X %*% B
+       icpt=1: ncol(X)+1 x 1  Betas for X and intercept       Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
+       icpt=2: ncol(X)+1 x 2  Col.1: betas for X & intercept  Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
+                              Col.2: betas for shifted/rescaled X and intercept
+    
+     In addition, in the last run of linear regression some statistics are provided in CSV format, one comma-separated
+     name-value pair per each line, as follows:
     
-    return: Matrix of regression parameters (the betas) and its size depend on icpt input value:
-            OUTPUT SIZE:   OUTPUT CONTENTS:                HOW TO PREDICT Y FROM X AND B:
-    icpt=0: ncol(X)   x 1  Betas for X only                Y ~ X %*% B[1:ncol(X), 1], or just X %*% B
-    icpt=1: ncol(X)+1 x 1  Betas for X and intercept       Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
-    icpt=2: ncol(X)+1 x 2  Col.1: betas for X & intercept  Y ~ X %*% B[1:ncol(X), 1] + B[ncol(X)+1, 1]
-                           Col.2: betas for shifted/rescaled X and intercept
-    In addition, in the last run of linear regression some statistics are provided in CSV format, one comma-separated
-    name-value pair per each line, as follows:
     
     
     :param X: Location (on HDFS) to read the matrix X of feature vectors
@@ -58,9 +62,10 @@ def steplm(X: Matrix,
     :param tol: Tolerance threshold to train until achieved
     :param maxi: maximum iterations 0 means until tolerance is reached
     :param verbose: If the algorithm should be verbose
-    :return: 'OperationNode' containing 
-        matrix of regression parameters (the betas) and its size depend on icpt input value.matrix of selected features ordered as computed by the algorithm. 
+    :return: Matrix of regression parameters (the betas) and its size depend on icpt input value.
+    :return: Matrix of selected features ordered as computed by the algorithm.
     """
+
     params_dict = {'X': X, 'y': y}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/stratstats.py b/src/main/python/systemds/operator/algorithm/builtin/stratstats.py
index 4128936ef2..ee3d1b2cc6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/stratstats.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/stratstats.py
@@ -32,48 +32,51 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def stratstats(X: Matrix,
                **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The stratstats.dml script computes common bivariate statistics, such as correlation, slope, and their p-value,
-    in parallel for many pairs of input variables in the presence of a confounding categorical variable.
-    Output contains:
-    (1st covariante, 2nd covariante)
-    40 columns containing the following information:
-    Col 01: 1st covariate X-column number
-    Col 02: 1st covariate global presence count
-    Col 03: 1st covariate global mean
-    Col 04: 1st covariate global standard deviation
-    Col 05: 1st covariate stratified standard deviation
-    Col 06: R-squared, 1st covariate vs. strata
-    Col 07: adjusted R-squared, 1st covariate vs. strata
-    Col 08: P-value, 1st covariate vs. strata
-    Col 09-10: Reserved
-    Col 11: 2nd covariate Y-column number
-    Col 12: 2nd covariate global presence count
-    Col 13: 2nd covariate global mean
-    Col 14: 2nd covariate global standard deviation
-    Col 15: 2nd covariate stratified standard deviation
-    Col 16: R-squared, 2nd covariate vs. strata
-    Col 17: adjusted R-squared, 2nd covariate vs. strata
-    Col 18: P-value, 2nd covariate vs. strata
-    Col 19-20: Reserved
-    Col 21: Global 1st & 2nd covariate presence count
-    Col 22: Global regression slope (2nd vs. 1st covariate)
-    Col 23: Global regression slope standard deviation
-    Col 24: Global correlation = +/- sqrt(R-squared)
-    Col 25: Global residual standard deviation
-    Col 26: Global R-squared
-    Col 27: Global adjusted R-squared
-    Col 28: Global P-value for hypothesis "slope = 0"
-    Col 29-30: Reserved
-    Col 31: Stratified 1st & 2nd covariate presence count
-    Col 32: Stratified regression slope (2nd vs. 1st covariate)
-    Col 33: Stratified regression slope standard deviation
-    Col 34: Stratified correlation = +/- sqrt(R-squared)
-    Col 35: Stratified residual standard deviation
-    Col 36: Stratified R-squared
-    Col 37: Stratified adjusted R-squared
-    Col 38: Stratified P-value for hypothesis "slope = 0"
-    Col 39: Number of strata with at least two counted points
-    Col 40: Reserved
+     The stratstats.dml script computes common bivariate statistics, such as correlation, slope, and their p-value,
+     in parallel for many pairs of input variables in the presence of a confounding categorical variable.
+    
+     Output contains:
+     (1st covariante, 2nd covariante)
+     40 columns containing the following information:
+     Col 01: 1st covariate X-column number
+     Col 02: 1st covariate global presence count
+     Col 03: 1st covariate global mean
+     Col 04: 1st covariate global standard deviation
+     Col 05: 1st covariate stratified standard deviation
+     Col 06: R-squared, 1st covariate vs. strata
+     Col 07: adjusted R-squared, 1st covariate vs. strata
+     Col 08: P-value, 1st covariate vs. strata
+     Col 09-10: Reserved
+     Col 11: 2nd covariate Y-column number
+     Col 12: 2nd covariate global presence count
+     Col 13: 2nd covariate global mean
+     Col 14: 2nd covariate global standard deviation
+     Col 15: 2nd covariate stratified standard deviation
+     Col 16: R-squared, 2nd covariate vs. strata
+     Col 17: adjusted R-squared, 2nd covariate vs. strata
+     Col 18: P-value, 2nd covariate vs. strata
+     Col 19-20: Reserved
+     Col 21: Global 1st & 2nd covariate presence count
+     Col 22: Global regression slope (2nd vs. 1st covariate)
+     Col 23: Global regression slope standard deviation
+     Col 24: Global correlation = +/- sqrt(R-squared)
+     Col 25: Global residual standard deviation
+     Col 26: Global R-squared
+     Col 27: Global adjusted R-squared
+     Col 28: Global P-value for hypothesis "slope = 0"
+     Col 29-30: Reserved
+     Col 31: Stratified 1st & 2nd covariate presence count
+     Col 32: Stratified regression slope (2nd vs. 1st covariate)
+     Col 33: Stratified regression slope standard deviation
+     Col 34: Stratified correlation = +/- sqrt(R-squared)
+     Col 35: Stratified residual standard deviation
+     Col 36: Stratified R-squared
+     Col 37: Stratified adjusted R-squared
+     Col 38: Stratified P-value for hypothesis "slope = 0"
+     Col 39: Number of strata with at least two counted points
+     Col 40: Reserved
+    
+    
     
     
     :param X: Matrix X that has all 1-st covariates
@@ -86,9 +89,9 @@ def stratstats(X: Matrix,
     :param Ycid: 2-nd covariate Y-column indices
         the default value empty means "use columns 1 : ncol(Y)"
     :param Scid: Column index of the stratum column in S
-    :return: 'OperationNode' containing 
-        output matrix, one row per each distinct pair 
+    :return: Output matrix, one row per each distinct pair
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/symmetricDifference.py b/src/main/python/systemds/operator/algorithm/builtin/symmetricDifference.py
index 2a72c99fe5..c9f81a738c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/symmetricDifference.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/symmetricDifference.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def symmetricDifference(X: Matrix,
                         Y: Matrix):
     """
-    Builtin function that implements symmetric difference set-operation on vectors
+     Builtin function that implements symmetric difference set-operation on vectors
+    
     
     
     :param X: input vector
     :param Y: input vector
-    :return: 'OperationNode' containing 
-        vector with all elements in x and y but not in both 
+    :return: vector with all elements in X and Y but not in both
     """
+
     params_dict = {'X': X, 'Y': Y}
     return Matrix(X.sds_context,
         'symmetricDifference',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/tSNE.py b/src/main/python/systemds/operator/algorithm/builtin/tSNE.py
index ea3e3eaf60..3c659160c6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/tSNE.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/tSNE.py
@@ -32,8 +32,9 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def tSNE(X: Matrix,
          **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function performs dimensionality reduction using tSNE algorithm based on
-    the paper: Visualizing Data using t-SNE, Maaten et. al.
+     This function performs dimensionality reduction using tSNE algorithm based on
+     the paper: Visualizing Data using t-SNE, Maaten et. al.
+    
     
     
     :param X: Data Matrix of shape
@@ -46,9 +47,9 @@ def tSNE(X: Matrix,
     :param seed: The seed used for initial values.
         If set to -1 random seeds are selected.
     :param is_verbose: Print debug information
-    :return: 'OperationNode' containing 
-        data matrix of shape (number of data points, reduced_dims) 
+    :return: Data Matrix of shape (number of data points, reduced_dims)
     """
+
     params_dict = {'X': X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py b/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
index b2912347f5..f8201c72f4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def toOneHot(X: Matrix,
              numClasses: int):
     """
-    The toOneHot-function encodes unordered categorical vector to multiple binary vectors.
+     The toOneHot-function encodes unordered categorical vector to multiple binary vectors.
+    
     
     
     :param X: Vector with N integer entries between 1 and numClasses
     :param numclasses: Number of columns, must be be greater than or equal to largest value in X
-    :return: 'OperationNode' containing 
-        one-hot-encoded matrix with shape (n, numclasses) 
+    :return: One-hot-encoded matrix with shape (N, numClasses)
     """
+
     params_dict = {'X': X, 'numClasses': numClasses}
     return Matrix(X.sds_context,
         'toOneHot',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py b/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
index 14414c46cd..9a05193d3c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
@@ -32,16 +32,19 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def tomeklink(X: Matrix,
               y: Matrix):
     """
-    The tomekLink-function performs under sampling by removing Tomek's links for imbalanced multi-class problems
-    Computes TOMEK links and drops them from data matrix and label vector.
-    Drops only the majority label and corresponding point of TOMEK links.
+     The tomekLink-function performs under sampling by removing Tomek's links for imbalanced multi-class problems
+     Computes TOMEK links and drops them from data matrix and label vector.
+     Drops only the majority label and corresponding point of TOMEK links.
+    
     
     
     :param X: Data Matrix (nxm)
     :param y: Label Matrix (nx1), greater than zero
-    :return: 'OperationNode' containing 
-        data matrix without tomek linkslabels corresponding to under sampled dataindices of dropped rows/labels wrt input 
+    :return: Data Matrix without Tomek links
+    :return: Labels corresponding to under sampled data
+    :return: Indices of dropped rows/labels wrt input
     """
+
     params_dict = {'X': X, 'y': y}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/topk_cleaning.py b/src/main/python/systemds/operator/algorithm/builtin/topk_cleaning.py
index 7463465bc0..16a20d20e0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/topk_cleaning.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/topk_cleaning.py
@@ -36,9 +36,10 @@ def topk_cleaning(dataTrain: Frame,
                   evalFunHp: Matrix,
                   **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    This function cleans top-K item (where K is given as input)for a given list of users.
-    metaData[3, ncol(X)] : metaData[1] stores mask, metaData[2] stores schema, metaData[3] stores FD mask
+     This function cleans top-K item (where K is given as input)for a given list of users.
+     metaData[3, ncol(X)] : metaData[1] stores mask, metaData[2] stores schema, metaData[3] stores FD mask
     """
+
     params_dict = {'dataTrain': dataTrain, 'primitives': primitives, 'parameters': parameters, 'evaluationFunc': evaluationFunc, 'evalFunHp': evalFunHp}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/underSampling.py b/src/main/python/systemds/operator/algorithm/builtin/underSampling.py
index b161133ac5..aecf7bab11 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/underSampling.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/underSampling.py
@@ -33,15 +33,17 @@ def underSampling(X: Matrix,
                   Y: Matrix,
                   ratio: float):
     """
-    Builtin to perform random under sampling on data.
+     Builtin to perform random under sampling on data.
+    
     
     
     :param X: X data to sample from
     :param Y: Y data to sample from it will sample the same rows from x.
     :param ratio: The ratio to sample
-    :return: 'OperationNode' containing 
-        the under sample data xthe under sample data y 
+    :return: The under sample data X
+    :return: The under sample data Y
     """
+
     params_dict = {'X': X, 'Y': Y, 'ratio': ratio}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/union.py b/src/main/python/systemds/operator/algorithm/builtin/union.py
index 6e1e92c806..45871cca31 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/union.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/union.py
@@ -32,14 +32,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def union(X: Matrix,
           Y: Matrix):
     """
-    Builtin function that implements union operation on vectors
+     Builtin function that implements union operation on vectors
+    
     
     
     :param X: input vector
     :param Y: input vector
-    :return: 'OperationNode' containing 
-        matrix with all unique rows existing in x and y 
+    :return: matrix with all unique rows existing in X and Y
     """
+
     params_dict = {'X': X, 'Y': Y}
     return Matrix(X.sds_context,
         'union',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/unique.py b/src/main/python/systemds/operator/algorithm/builtin/unique.py
index 825dc51a25..fd77b1fd55 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/unique.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/unique.py
@@ -31,13 +31,14 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def unique(X: Matrix):
     """
-    Builtin function that implements unique operation on vectors
+     Builtin function that implements unique operation on vectors
+    
     
     
     :param X: input vector
-    :return: 'OperationNode' containing 
-        matrix with only unique rows 
+    :return: matrix with only unique rows
     """
+
     params_dict = {'X': X}
     return Matrix(X.sds_context,
         'unique',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/univar.py b/src/main/python/systemds/operator/algorithm/builtin/univar.py
index 6ab83730f3..7830b81bd7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/univar.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/univar.py
@@ -32,15 +32,16 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 def univar(X: Matrix,
            types: Matrix):
     """
-    Computes univariate statistics for all attributes in a given data set
+     Computes univariate statistics for all attributes in a given data set
+    
     
     
     :param X: Input matrix of the shape (N, D)
     :param TYPES: Matrix of the shape (1, D) with features types:
         1 for scale, 2 for nominal, 3 for ordinal
-    :return: 'OperationNode' containing 
-        univariate statistics for all attributes 
+    :return: univariate statistics for all attributes
     """
+
     params_dict = {'X': X, 'types': types}
     return Matrix(X.sds_context,
         'univar',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py b/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py
index 2cf97b07b5..aacb24831a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py
@@ -31,14 +31,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def vectorToCsv(mask: Matrix):
     """
-    This builtin function  convert vector into csv string such as [1 0 0 1 1 0 1] = "1,4,5,7"
-    Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+     This builtin function  convert vector into csv string such as [1 0 0 1 1 0 1] = "1,4,5,7"
+     Related to [SYSTEMDS-2662] dependency function for cleaning pipelines
+    
     
     
     :param mask: Data vector (having 0 for excluded indexes)
-    :return: 'OperationNode' containing 
-        indexes 
+    :return: indexes
     """
+
     params_dict = {'mask': mask}
     return Matrix(mask.sds_context,
         'vectorToCsv',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py b/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
index f672ce1522..d22660f55f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
@@ -33,16 +33,17 @@ def winsorize(X: Matrix,
               verbose: bool,
               **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    The winsorize-function removes outliers from the data. It does so by computing upper and
-    lower quartile range of the given data then it replaces any value that falls outside this range
-    (less than lower quartile range or more than upper quartile range).
+     The winsorize-function removes outliers from the data. It does so by computing upper and
+     lower quartile range of the given data then it replaces any value that falls outside this range
+     (less than lower quartile range or more than upper quartile range).
+    
     
     
     :param X: Input feature matrix
     :param verbose: To print output on screen
-    :return: 'OperationNode' containing 
-        matrix without outlier values 
+    :return: Matrix without outlier values
     """
+
     params_dict = {'X': X, 'verbose': verbose}
     params_dict.update(kwargs)
     
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorizeApply.py b/src/main/python/systemds/operator/algorithm/builtin/winsorizeApply.py
index 35a9856dd3..b6a55b39fb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorizeApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/winsorizeApply.py
@@ -33,16 +33,17 @@ def winsorizeApply(X: Matrix,
                    qLower: Matrix,
                    qUpper: Matrix):
     """
-    winsorizeApply takes the upper and lower quantile values per column, and
-    remove outliers by replacing them with these upper and lower bound values.
+     winsorizeApply takes the upper and lower quantile values per column, and
+     remove outliers by replacing them with these upper and lower bound values.
+    
     
     
     :param X: Input feature matrix
     :param qLower: row vector of upper bounds per column
     :param qUpper: row vector of lower bounds per column
-    :return: 'OperationNode' containing 
-        matrix without outlier values 
+    :return: Matrix without outlier values
     """
+
     params_dict = {'X': X, 'qLower': qLower, 'qUpper': qUpper}
     return Matrix(X.sds_context,
         'winsorizeApply',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py b/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py
index 80ff91f288..ed444f1a75 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py
@@ -31,13 +31,14 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def xdummy1(X: Matrix):
     """
-    This builtin function is here for debugging purposes
+     This builtin function is here for debugging purposes
+    
     
     
     :param X: test input
-    :return: 'OperationNode' containing 
-        test result 
+    :return: test result
     """
+
     params_dict = {'X': X}
     return Matrix(X.sds_context,
         'xdummy1',
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py b/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py
index 1aaf63b0cb..5acc5c36fb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py
@@ -31,13 +31,15 @@ from systemds.utils.consts import VALID_INPUT_TYPES
 
 def xdummy2(X: Matrix):
     """
-    This builtin function is here for debugging purposes
+     This builtin function is here for debugging purposes
+    
     
     
     :param X: Debug input
-    :return: 'OperationNode' containing 
-        ------ 
+    :return: ---
+    :return: ---
     """
+
     params_dict = {'X': X}
     
     vX_0 = Matrix(X.sds_context, '')
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xgboost.py b/src/main/python/systemds/operator/algorithm/builtin/xgboost.py
index eb459f5722..8876332f0d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xgboost.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xgboost.py
@@ -33,24 +33,26 @@ def xgboost(X: Matrix,
             y: Matrix,
             **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
-    implementation supports classification and regression and is capable of working with categorical and scalar features.
-    Output explained:
-    (the first node is the init prediction) and each row contains
-    the following information:
-    M[1,j]: id of node j (in a complete binary tree)
-    M[2,j]: tree id to which node j belongs
-    M[3,j]: Offset (no. of columns) to left child of j if j is an internal node, otherwise 0
-    M[4,j]: Feature index of the feature (scale feature id if the feature is
-    scale or categorical feature id if the feature is categorical)
-    that node j looks at if j is an internal node, otherwise 0
-    M[5,j]: Type of the feature that node j looks at if j is an internal node.
-    if leaf = 0, if scalar = 1, if categorical = 2
-    M[6:,j]: If j is an internal node: Threshold the example's feature value is
-    compared to is stored at M[6,j] if the feature chosen for j is scale,
-    otherwise if the feature chosen for j is categorical rows 6,7,... depict
-    the value subset chosen for j
-    If j is a leaf node 1 if j is impure and the number of samples at j > threshold, otherwise 0
+     XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
+     implementation supports classification and regression and is capable of working with categorical and scalar features.
+    
+     Output explained:
+     (the first node is the init prediction) and each row contains
+     the following information:
+     M[1,j]: id of node j (in a complete binary tree)
+     M[2,j]: tree id to which node j belongs
+     M[3,j]: Offset (no. of columns) to left child of j if j is an internal node, otherwise 0
+     M[4,j]: Feature index of the feature (scale feature id if the feature is
+     scale or categorical feature id if the feature is categorical)
+     that node j looks at if j is an internal node, otherwise 0
+     M[5,j]: Type of the feature that node j looks at if j is an internal node.
+     if leaf = 0, if scalar = 1, if categorical = 2
+     M[6:,j]: If j is an internal node: Threshold the example's feature value is
+     compared to is stored at M[6,j] if the feature chosen for j is scale,
+     otherwise if the feature chosen for j is categorical rows 6,7,... depict
+     the value subset chosen for j
+     If j is a leaf node 1 if j is impure and the number of samples at j > threshold, otherwise 0
+    
     
     
     :param X: Feature matrix X; note that X needs to be both recoded and dummy coded
@@ -65,9 +67,9 @@ def xgboost(X: Matrix,
     :param learning_rate: Alias: eta. After each boosting step the learning rate controls the weights of the new predictions
     :param max_depth: Maximum depth of a tree. Increasing this value will make the model more complex and more likely to overfit
     :param lambda: L2 regularization term on weights. Increasing this value will make model more conservative and reduce amount of leaves of a tree
-    :return: 'OperationNode' containing 
-        matrix m where each column corresponds to a node in the learned tree 
+    :return: Matrix M where each column corresponds to a node in the learned tree
     """
+
     params_dict = {'X': X, 'y': y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py
index bb93895f06..571025e33a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictClassification.py
@@ -33,16 +33,17 @@ def xgboostPredictClassification(X: Matrix,
                                  M: Matrix,
                                  **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
-    implementation supports classification  and is capable of working with categorical features.
+     XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
+     implementation supports classification  and is capable of working with categorical features.
+    
     
     
     :param X: Matrix of feature vectors we want to predict (X_test)
     :param M: The model created at xgboost
     :param learning_rate: The learning rate used in the model
-    :return: 'OperationNode' containing 
-        the predictions of the samples using the given xgboost model. (y_prediction) 
+    :return: The predictions of the samples using the given xgboost model. (y_prediction)
     """
+
     params_dict = {'X': X, 'M': M}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py
index 2efd5d2565..f7921bcfb4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xgboostPredictRegression.py
@@ -33,16 +33,17 @@ def xgboostPredictRegression(X: Matrix,
                              M: Matrix,
                              **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
-    XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
-    implementation supports regression.
+     XGBoost is a decision-tree-based ensemble Machine Learning algorithm that uses a gradient boosting. This xgboost
+     implementation supports regression.
+    
     
     
     :param X: Matrix of feature vectors we want to predict (X_test)
     :param M: The model created at xgboost
     :param learning_rate: The learning rate used in the model
-    :return: 'OperationNode' containing 
-        the predictions of the samples using the given xgboost model. (y_prediction) 
+    :return: The predictions of the samples using the given xgboost model. (y_prediction)
     """
+
     params_dict = {'X': X, 'M': M}
     params_dict.update(kwargs)
     return Matrix(X.sds_context,


[systemds] 01/05: [DOCS] Update Java Docs

Posted by ba...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit 7099c9043bb46def3ae3c9953672d8db5ceefade
Author: baunsgaard <ba...@tugraz.at>
AuthorDate: Fri Jun 10 16:17:51 2022 +0200

    [DOCS] Update Java Docs
---
 docs/api/java/allclasses-index.html                | 3000 ++++++++++----------
 docs/api/java/allclasses.html                      |   30 +-
 docs/api/java/allpackages-index.html               |   18 +-
 docs/api/java/constant-values.html                 |  268 +-
 docs/api/java/element-list                         |    4 +
 docs/api/java/index-all.html                       |  677 ++++-
 docs/api/java/index.html                           |   94 +-
 docs/api/java/member-search-index.js               |    2 +-
 docs/api/java/member-search-index.zip              |  Bin 214872 -> 219101 bytes
 docs/api/java/org/apache/sysds/api/DMLOptions.html |   28 +
 .../api/java/org/apache/sysds/common/Builtins.html |  178 +-
 .../org/apache/sysds/common/Types.DataType.html    |   28 +-
 .../java/org/apache/sysds/common/Types.OpOp1.html  |  147 +-
 .../sysds/common/class-use/Types.DataType.html     |    7 +
 .../sysds/common/class-use/Types.ExecType.html     |   34 +-
 .../java/org/apache/sysds/common/package-use.html  |   75 +-
 .../apache/sysds/conf/ConfigurationManager.html    |   34 +-
 .../java/org/apache/sysds/hops/AggBinaryOp.html    |    2 +-
 .../api/java/org/apache/sysds/hops/AggUnaryOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/BinaryOp.html  |    2 +-
 docs/api/java/org/apache/sysds/hops/DataGenOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/DataOp.html    |    2 +-
 docs/api/java/org/apache/sysds/hops/DnnOp.html     |    2 +-
 .../api/java/org/apache/sysds/hops/FunctionOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/Hop.html       |  220 +-
 .../api/java/org/apache/sysds/hops/IndexingOp.html |    2 +-
 .../java/org/apache/sysds/hops/LeftIndexingOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/LiteralOp.html |    2 +-
 .../org/apache/sysds/hops/MultiThreadedHop.html    |    2 +-
 docs/api/java/org/apache/sysds/hops/NaryOp.html    |    2 +-
 .../apache/sysds/hops/ParameterizedBuiltinOp.html  |    2 +-
 .../java/org/apache/sysds/hops/QuaternaryOp.html   |    2 +-
 docs/api/java/org/apache/sysds/hops/ReorgOp.html   |    2 +-
 docs/api/java/org/apache/sysds/hops/TernaryOp.html |    2 +-
 docs/api/java/org/apache/sysds/hops/UnaryOp.html   |    2 +-
 .../java/org/apache/sysds/hops/class-use/Hop.html  |   37 +-
 .../org/apache/sysds/hops/class-use/LiteralOp.html |   26 +
 .../apache/sysds/hops/codegen/SpoofFusedOp.html    |    2 +-
 .../java/org/apache/sysds/hops/cost/HopRel.html    |   30 +-
 .../hops/fedplanner/FederatedPlannerCostbased.html |   11 +-
 .../apache/sysds/hops/fedplanner/MemoTable.html    |   39 +-
 .../sysds/hops/fedplanner/class-use/MemoTable.html |   28 +
 .../apache/sysds/hops/fedplanner/package-use.html  |   23 +
 .../java/org/apache/sysds/hops/package-use.html    |    4 +
 docs/api/java/org/apache/sysds/lops/Federated.html |   42 +-
 docs/api/java/org/apache/sysds/lops/UnaryCP.html   |  130 +-
 .../lops/class-use/PickByCount.OperationTypes.html |   53 +
 .../java/org/apache/sysds/lops/package-use.html    |    4 +
 .../apache/sysds/parser/AssignmentStatement.html   |    2 +-
 .../org/apache/sysds/parser/DataExpression.html    |   92 +-
 .../java/org/apache/sysds/parser/ForStatement.html |    2 +-
 .../org/apache/sysds/parser/FunctionStatement.html |    2 +-
 .../java/org/apache/sysds/parser/IfStatement.html  |    2 +-
 .../org/apache/sysds/parser/ImportStatement.html   |    2 +-
 .../sysds/parser/MultiAssignmentStatement.html     |    2 +-
 .../org/apache/sysds/parser/OutputStatement.html   |    2 +-
 .../org/apache/sysds/parser/ParForStatement.html   |    2 +-
 .../org/apache/sysds/parser/PathStatement.html     |    2 +-
 .../org/apache/sysds/parser/PrintStatement.html    |    2 +-
 .../java/org/apache/sysds/parser/Statement.html    |   58 +-
 .../org/apache/sysds/parser/WhileStatement.html    |    2 +-
 .../apache/sysds/parser/class-use/DMLProgram.html  |    5 +-
 .../parser/class-use/Statement.PSFrequency.html    |   20 +-
 .../class-use/Statement.PSRuntimeBalancing.html    |    5 +-
 .../parser/class-use/Statement.PSUpdateType.html   |   15 +
 .../sysds/parser/class-use/StatementBlock.html     |   10 +-
 .../runtime/compress/CompressedMatrixBlock.html    |    2 +-
 .../caching/class-use/CacheBlock.html              |  138 +-
 .../caching/class-use/CacheableData.html           |   18 +
 .../caching/class-use/FrameObject.html             |   12 +-
 .../caching/class-use/MatrixObject.html            |  101 +-
 .../controlprogram/caching/package-use.html        |   57 +-
 .../controlprogram/context/ExecutionContext.html   |  122 +-
 .../context/SparkExecutionContext.html             |    2 +-
 .../context/class-use/ExecutionContext.html        |  147 +-
 .../controlprogram/federated/FederatedData.html    |   24 +-
 .../federated/FederatedLocalData.html              |    2 +-
 .../federated/FederatedLookupTable.html            |   20 +-
 .../federated/FederatedResponse.html               |   60 +-
 ...deratedStatistics.FedStatsCollectFunction.html} |  142 +-
 ...=> FederatedStatistics.FedStatsCollection.html} |  185 +-
 .../federated/FederatedStatistics.html             |  294 +-
 .../controlprogram/federated/FederatedUDF.html     |    2 +-
 .../controlprogram/federated/FederatedWorker.html  |   49 +-
 .../federated/FederatedWorkerHandler.html          |   21 +-
 .../controlprogram/federated/FederationMap.html    |   80 +-
 .../controlprogram/federated/FederationUtils.html  |   26 +-
 .../federated/class-use/FederatedData.html         |   12 +-
 .../federated/class-use/FederatedLookupTable.html  |    7 +
 .../federated/class-use/FederatedRange.html        |   23 +-
 .../federated/class-use/FederatedReadCache.html    |    7 +
 .../federated/class-use/FederatedRequest.html      |   27 +-
 .../class-use/FederatedResponse.ResponseType.html  |   12 +
 .../federated/class-use/FederatedResponse.html     |   59 +-
 ...deratedStatistics.FedStatsCollectFunction.html} |   12 +-
 ...=> FederatedStatistics.FedStatsCollection.html} |   34 +-
 .../federated/class-use/FederatedUDF.html          |   43 +-
 .../class-use/FederatedWorkloadAnalyzer.html       |    7 +
 .../monitoring/FederatedMonitoringServer.html      |   15 +-
 .../federated/monitoring/class-use/Request.html    |  243 --
 .../controllers/CoordinatorController.html         |   44 +-
 .../{BaseController.html => IController.html}      |   44 +-
 ...inatorController.html => WorkerController.html} |   64 +-
 .../{BaseController.html => IController.html}      |   21 +-
 .../class-use/WorkerController.html}               |   50 +-
 .../monitoring/controllers/package-summary.html    |    6 +-
 .../monitoring/controllers/package-tree.html       |    5 +-
 .../monitoring/controllers/package-use.html        |    2 +-
 .../BaseEntityModel.html}                          |  113 +-
 .../NodeEntityModel.html}                          |  187 +-
 .../federated/monitoring/{ => models}/Request.html |   42 +-
 .../monitoring/{ => models}/Response.html          |   42 +-
 .../monitoring/models/StatsEntityModel.html        |  476 ++++
 .../models/class-use/BaseEntityModel.html          |  424 +++
 .../class-use/NodeEntityModel.html}                |   50 +-
 .../monitoring/models/class-use/Request.html       |  297 ++
 .../{ => models}/class-use/Response.html           |   50 +-
 .../class-use/StatsEntityModel.html}               |   50 +-
 .../{controllers => models}/package-summary.html   |   35 +-
 .../{controllers => models}/package-tree.html      |   19 +-
 .../{controllers => models}/package-use.html       |   79 +-
 .../federated/monitoring/package-summary.html      |    8 -
 .../federated/monitoring/package-tree.html         |    2 -
 .../federated/monitoring/package-use.html          |   37 +-
 .../monitoring/repositories/Constants.html         |  494 ++++
 .../DerbyRepository.html}                          |  122 +-
 .../monitoring/repositories/EntityEnum.html}       |  246 +-
 .../monitoring/repositories/IRepository.html       |  334 +++
 .../class-use/Constants.html}                      |   50 +-
 .../class-use/DerbyRepository.html}                |   50 +-
 .../repositories/class-use/EntityEnum.html         |  309 ++
 .../class-use/IRepository.html}                    |   22 +-
 .../package-summary.html                           |   29 +-
 .../package-tree.html                              |   25 +-
 .../{controllers => repositories}/package-use.html |   41 +-
 .../CoordinatorService.html}                       |  114 +-
 .../{Response.html => services/MapperService.html} |   82 +-
 .../{Response.html => services/StatsService.html}  |   88 +-
 .../{Request.html => services/WorkerService.html}  |  114 +-
 .../class-use/CoordinatorService.html}             |   50 +-
 .../class-use/MapperService.html}                  |   50 +-
 .../class-use/StatsService.html}                   |   50 +-
 .../class-use/WorkerService.html}                  |   50 +-
 .../{controllers => services}/package-summary.html |   31 +-
 .../{controllers => services}/package-tree.html    |   17 +-
 .../Response.html => services/package-use.html}    |   20 +-
 .../controlprogram/federated/package-summary.html  |    8 +
 .../controlprogram/federated/package-tree.html     |    7 +-
 .../controlprogram/federated/package-use.html      |    8 +
 .../paramserv/FederatedPSControlThread.html        |   60 +-
 .../{LocalParamServer.html => HEParamServer.html}  |  169 +-
 .../controlprogram/paramserv/LocalParamServer.html |    6 +-
 .../paramserv/NativeHEHelper.html}                 |  278 +-
 .../NetworkTrafficCounter.html}                    |  161 +-
 .../controlprogram/paramserv/ParamServer.html      |   20 +-
 .../controlprogram/paramserv/SparkPSProxy.html     |    2 +-
 .../class-use/FederatedPSControlThread.html        |   47 +-
 .../{LocalParamServer.html => HEParamServer.html}  |   53 +-
 .../paramserv/class-use/LocalParamServer.html      |   17 +
 ...tedPSControlThread.html => NativeHEHelper.html} |   12 +-
 ...ntrolThread.html => NetworkTrafficCounter.html} |   12 +-
 .../paramserv/class-use/ParamServer.html           |   14 +-
 .../homomorphicEncryption/PublicKey.html}          |   50 +-
 .../homomorphicEncryption/SEALClient.html}         |  107 +-
 .../homomorphicEncryption/SEALServer.html}         |  107 +-
 .../homomorphicEncryption/class-use/PublicKey.html |  277 ++
 .../class-use/SEALClient.html}                     |   39 +-
 .../class-use/SEALServer.html}                     |   12 +-
 .../homomorphicEncryption}/package-summary.html    |   16 +-
 .../homomorphicEncryption}/package-tree.html       |   25 +-
 .../homomorphicEncryption}/package-use.html        |   53 +-
 .../controlprogram/paramserv/package-summary.html  |   28 +-
 .../controlprogram/paramserv/package-tree.html     |   28 +-
 .../controlprogram/paramserv/package-use.html      |   10 +
 .../parfor/stat/class-use/Timing.html              |   27 +
 .../controlprogram/parfor/stat/package-use.html    |   25 +-
 .../org/apache/sysds/runtime/data/SparseRow.html   |   41 +-
 .../apache/sysds/runtime/data/SparseRowScalar.html |   46 +-
 .../apache/sysds/runtime/data/SparseRowVector.html |   94 +-
 .../runtime/data/class-use/SparseBlock.Type.html   |    5 +
 .../instructions/class-use/Instruction.html        |   20 +
 .../cp/CiphertextMatrix.html}                      |   97 +-
 .../apache/sysds/runtime/instructions/cp/Data.html |    2 +-
 .../cp/Encrypted.html}                             |  103 +-
 .../sysds/runtime/instructions/cp/ListObject.html  |   92 +-
 .../cp/PlaintextMatrix.html}                       |   97 +-
 .../instructions/cp/ScalarObjectFactory.html       |   26 +-
 ...ariableCPInstruction.VariableOperationCode.html |   31 +-
 .../instructions/cp/class-use/CPOperand.html       |   43 +
 .../cp/class-use/CiphertextMatrix.html             |  260 ++
 .../runtime/instructions/cp/class-use/Data.html    |   47 +-
 .../class-use/Encrypted.html}                      |   37 +-
 .../instructions/cp/class-use/ListObject.html      |   21 +
 .../cp/class-use/PlaintextMatrix.html}             |   65 +-
 .../instructions/cp/class-use/ScalarObject.html    |   17 +-
 .../runtime/instructions/cp/package-summary.html   |   88 +-
 .../runtime/instructions/cp/package-tree.html      |    6 +
 .../sysds/runtime/instructions/cp/package-use.html |  139 +-
 .../instructions/fed/AppendFEDInstruction.html     |   16 +-
 .../fed/CentralMomentFEDInstruction.html           |   16 +-
 .../instructions/fed/CovarianceFEDInstruction.html |   16 +-
 .../instructions/fed/FEDInstruction.FEDType.html   |   26 +
 .../instructions/fed/InitFEDInstruction.html       |   89 +-
 ...tiReturnParameterizedBuiltinFEDInstruction.html |   26 +-
 ...ePickFEDInstruction.CreateMatrixFromFrame.html} |  152 +-
 .../fed/QuantilePickFEDInstruction.html            |  173 +-
 .../fed/QuantileSortFEDInstruction.html            |    8 +-
 .../fed/class-use/AppendFEDInstruction.html        |    5 +
 .../fed/class-use/CentralMomentFEDInstruction.html |    5 +
 .../fed/class-use/CovarianceFEDInstruction.html    |    5 +
 .../class-use/FEDInstruction.FederatedOutput.html  |   29 +-
 ...ePickFEDInstruction.CreateMatrixFromFrame.html} |   12 +-
 .../fed/class-use/QuantilePickFEDInstruction.html  |    5 +
 .../fed/class-use/QuantileSortFEDInstruction.html  |    3 +-
 .../runtime/instructions/fed/package-summary.html  |   48 +-
 .../runtime/instructions/fed/package-tree.html     |    1 +
 .../apache/sysds/runtime/lineage/LineageCache.html |   50 +-
 .../sysds/runtime/lineage/LineageCacheEntry.html   |   62 +-
 .../apache/sysds/runtime/lineage/LineageItem.html  |   84 +-
 .../sysds/runtime/lineage/LineageItemUtils.html    |   80 +-
 .../sysds/runtime/lineage/LineageTraceable.html    |    2 +-
 .../runtime/lineage/class-use/LineageItem.html     |  130 +-
 .../lineage/class-use/LineageTraceable.html        |   52 +-
 .../sysds/runtime/matrix/data/LibMatrixMult.html   |   12 +-
 .../sysds/runtime/matrix/data/MatrixBlock.html     |  413 +--
 .../runtime/matrix/data/class-use/MatrixBlock.html |  131 +-
 .../sysds/runtime/matrix/data/package-use.html     |    4 +
 .../matrix/operators/class-use/Operator.html       |   35 +-
 .../meta/class-use/DataCharacteristics.html        |   43 +
 .../runtime/transform/encode/ColumnEncoder.html    |  102 +-
 .../runtime/transform/encode/ColumnEncoderBin.html |   70 +-
 .../transform/encode/ColumnEncoderComposite.html   |   68 +-
 .../transform/encode/ColumnEncoderDummycode.html   |    2 +-
 .../transform/encode/ColumnEncoderFeatureHash.html |    2 +-
 .../transform/encode/ColumnEncoderPassThrough.html |    2 +-
 .../transform/encode/ColumnEncoderRecode.html      |    2 +-
 .../runtime/transform/encode/ColumnEncoderUDF.html |   84 +-
 .../transform/encode/MultiColumnEncoder.html       |   80 +-
 .../transform/encode/class-use/ColumnEncoder.html  |    5 +
 .../apache/sysds/runtime/util/UtilFunctions.html   |  200 +-
 docs/api/java/org/apache/sysds/utils/Explain.html  |   23 +-
 .../sysds/utils/stats/ParamServStatistics.html     |  136 +-
 .../sysds/utils/stats/TransformStatistics.html     |   16 +-
 docs/api/java/overview-tree.html                   |   59 +-
 docs/api/java/package-search-index.js              |    2 +-
 docs/api/java/package-search-index.zip             |  Bin 781 -> 821 bytes
 docs/api/java/serialized-form.html                 |  138 +-
 docs/api/java/type-search-index.js                 |    2 +-
 docs/api/java/type-search-index.zip                |  Bin 13411 -> 13716 bytes
 249 files changed, 12291 insertions(+), 5564 deletions(-)

diff --git a/docs/api/java/allclasses-index.html b/docs/api/java/allclasses-index.html
index 3090d61be0..96a3b17415 100644
--- a/docs/api/java/allclasses-index.html
+++ b/docs/api/java/allclasses-index.html
@@ -26,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":2,"i1":2,"i2":4,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":2,"i9":2,"i10":2,"i11":4,"i12":4,"i13":2,"i14":2,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":4,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":2,"i40":2,"i41":2,"i42":4,"i43":2,"i44":2,"i45":2,"i46":2,"i47":2,"i48":2,"i49":2,"i50":2,"i51":2,"i52":4,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":2,"i59":2,"i60":2,"i [...]
+var data = {"i0":2,"i1":2,"i2":4,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":2,"i9":2,"i10":2,"i11":4,"i12":4,"i13":2,"i14":2,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":4,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":2,"i40":2,"i41":2,"i42":4,"i43":2,"i44":2,"i45":2,"i46":2,"i47":2,"i48":2,"i49":2,"i50":2,"i51":2,"i52":4,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":2,"i59":2,"i60":2,"i [...]
 var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"],8:["t4","Exception Summary"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -417,7 +417,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </th>
 </tr>
 <tr id="i65" class="rowColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">BaseController</a></td>
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/BaseEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">BaseEntityModel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
 <tr id="i66" class="altColor">
@@ -836,72 +836,78 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
 <tr id="i155" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CiphertextMatrix.html" title="class in org.apache.sysds.runtime.instructions.cp">CiphertextMatrix</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class abstracts over an encrypted matrix of ciphertexts.</div>
+</th>
+</tr>
+<tr id="i156" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibCMOps.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCMOps</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibCompAgg.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCompAgg</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibDecompress.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibDecompress</a></td>
 <th class="colLast" scope="row">
 <div class="block">Library to decompress a list of column groups into a matrix.</div>
 </th>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibLeftMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibLeftMultBy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibMatrixMult.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibMatrixMult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibMMChain.html" title="interface in org.apache.sysds.runtime.compress.lib">CLALibMMChain</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibRexpand.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRexpand</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibRightMultBy.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibRightMultBy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibScalar.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibScalar</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibSlice.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibSlice</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibSquash.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibSquash</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibTSMM.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibTSMM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibUnary.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibUnary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/lib/CLALibUtils.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i171" class="rowColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/CM.html" title="class in org.apache.sysds.runtime.functionobjects">CM</a></td>
 <th class="colLast" scope="row">
 <div class="block">GENERAL NOTE:
@@ -909,292 +915,292 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
    i.e., we (1) round instead of casting where required (e.g.</div>
 </th>
 </tr>
-<tr id="i172" class="altColor">
+<tr id="i173" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CM_COV_Object.html" title="class in org.apache.sysds.runtime.instructions.cp">CM_COV_Object</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i173" class="rowColor">
+<tr id="i174" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/CM_N_COVCell.html" title="class in org.apache.sysds.runtime.matrix.data">CM_N_COVCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i174" class="altColor">
+<tr id="i175" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/CMOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CMOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i175" class="rowColor">
+<tr id="i176" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/CMOperator.AggregateOperationTypes.html" title="enum in org.apache.sysds.runtime.matrix.operators">CMOperator.AggregateOperationTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i176" class="altColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNode.html" title="class in org.apache.sysds.hops.codegen.cplan">CNode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i177" class="rowColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeBinary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i178" class="altColor">
+<tr id="i179" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeBinary.BinType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeBinary.BinType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i179" class="rowColor">
+<tr id="i180" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeCell.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i180" class="altColor">
+<tr id="i181" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeData.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeData</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i181" class="rowColor">
+<tr id="i182" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeMultiAgg.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeMultiAgg</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i182" class="altColor">
+<tr id="i183" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeNary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i183" class="rowColor">
+<tr id="i184" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeNary.NaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeNary.NaryType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i184" class="altColor">
+<tr id="i185" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeOuterProduct.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeOuterProduct</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i185" class="rowColor">
+<tr id="i186" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeRow.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeRow</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i186" class="altColor">
+<tr id="i187" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTernary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i187" class="rowColor">
+<tr id="i188" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTernary.TernaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeTernary.TernaryType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i188" class="altColor">
+<tr id="i189" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i189" class="rowColor">
+<tr id="i190" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeUnary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i190" class="altColor">
+<tr id="i191" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CNodeUnary.UnaryType.html" title="enum in org.apache.sysds.hops.codegen.cplan">CNodeUnary.UnaryType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i191" class="rowColor">
+<tr id="i192" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCodeBinPacking.html" title="class in org.apache.sysds.runtime.compress.cocode">CoCodeBinPacking</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group partitioning with bin packing heuristic.</div>
 </th>
 </tr>
-<tr id="i192" class="altColor">
+<tr id="i193" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCodeGreedy.html" title="class in org.apache.sysds.runtime.compress.cocode">CoCodeGreedy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i193" class="rowColor">
+<tr id="i194" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCodeHybrid.html" title="class in org.apache.sysds.runtime.compress.cocode">CoCodeHybrid</a></td>
 <th class="colLast" scope="row">
 <div class="block">This cocode strategy starts combines the use of CoCodePriorityQue and CoCodeGreedy.</div>
 </th>
 </tr>
-<tr id="i194" class="altColor">
+<tr id="i195" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCodePriorityQue.html" title="class in org.apache.sysds.runtime.compress.cocode">CoCodePriorityQue</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group partitioning by number of distinct items estimated.</div>
 </th>
 </tr>
-<tr id="i195" class="rowColor">
+<tr id="i196" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCoderFactory.html" title="interface in org.apache.sysds.runtime.compress.cocode">CoCoderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i196" class="altColor">
+<tr id="i197" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCoderFactory.PartitionerType.html" title="enum in org.apache.sysds.runtime.compress.cocode">CoCoderFactory.PartitionerType</a></td>
 <th class="colLast" scope="row">
 <div class="block">The Valid coCoding techniques</div>
 </th>
 </tr>
-<tr id="i197" class="rowColor">
+<tr id="i198" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/CoCodeStatic.html" title="class in org.apache.sysds.runtime.compress.cocode">CoCodeStatic</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group co coding with static distribution heuristic.</div>
 </th>
 </tr>
-<tr id="i198" class="altColor">
+<tr id="i199" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/CodegenStatistics.html" title="class in org.apache.sysds.utils.stats">CodegenStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i199" class="rowColor">
+<tr id="i200" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/CodegenUtils.html" title="class in org.apache.sysds.runtime.codegen">CodegenUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i200" class="altColor">
+<tr id="i201" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/CodeTemplate.html" title="class in org.apache.sysds.hops.codegen.cplan">CodeTemplate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i201" class="rowColor">
+<tr id="i202" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupConst.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupConst</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i202" class="altColor">
+<tr id="i203" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 </th>
 </tr>
-<tr id="i203" class="rowColor">
+<tr id="i204" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDDCFOR.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDCFOR</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to encapsulate information about a column group that is encoded with dense dictionary encoding (DDC).</div>
 </th>
 </tr>
-<tr id="i204" class="altColor">
+<tr id="i205" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupDeltaDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDeltaDDC</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to encapsulate information about a column group that is first delta encoded then encoded with dense dictionary
  encoding (DeltaDDC).</div>
 </th>
 </tr>
-<tr id="i205" class="rowColor">
+<tr id="i206" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupEmpty.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupEmpty</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i206" class="altColor">
+<tr id="i207" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupFactory.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory class for constructing ColGroups.</div>
 </th>
 </tr>
-<tr id="i207" class="rowColor">
+<tr id="i208" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupIO.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupIO</a></td>
 <th class="colLast" scope="row">
 <div class="block">This has the IO responsibility of ColGroups, such that it enables to read and write ColGroups to and from a DataInput
  and DataOutput</div>
 </th>
 </tr>
-<tr id="i208" class="altColor">
+<tr id="i209" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to encapsulate information about a column group that is encoded with simple lists of offsets for each set of
  distinct values.</div>
 </th>
 </tr>
-<tr id="i209" class="rowColor">
+<tr id="i210" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a></td>
 <th class="colLast" scope="row">
 <div class="block">A group of columns compressed with a single run-length encoded bitmap.</div>
 </th>
 </tr>
-<tr id="i210" class="altColor">
+<tr id="i211" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group that sparsely encodes the dictionary values.</div>
 </th>
 </tr>
-<tr id="i211" class="rowColor">
+<tr id="i212" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCFOR.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCFOR</a></td>
 <th class="colLast" scope="row">
 <div class="block">ColGroup for Patched Frame Of Reference.</div>
 </th>
 </tr>
-<tr id="i212" class="altColor">
+<tr id="i213" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group that sparsely encodes the dictionary values.</div>
 </th>
 </tr>
-<tr id="i213" class="rowColor">
+<tr id="i214" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group that sparsely encodes the dictionary values.</div>
 </th>
 </tr>
-<tr id="i214" class="altColor">
+<tr id="i215" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group that sparsely encodes the dictionary values.</div>
 </th>
 </tr>
-<tr id="i215" class="rowColor">
+<tr id="i216" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSizes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i216" class="altColor">
+<tr id="i217" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUncompressed.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUncompressed</a></td>
 <th class="colLast" scope="row">
 <div class="block">Column group type for columns that are stored as dense arrays of doubles.</div>
 </th>
 </tr>
-<tr id="i217" class="rowColor">
+<tr id="i218" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/ColGroupUtils.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i218" class="altColor">
+<tr id="i219" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/ColIndexes.html" title="class in org.apache.sysds.runtime.compress.cocode">ColIndexes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i219" class="rowColor">
+<tr id="i220" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/CollectionUtils.html" title="class in org.apache.sysds.runtime.util">CollectionUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i220" class="altColor">
+<tr id="i221" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
 </th>
 </tr>
-<tr id="i221" class="rowColor">
+<tr id="i222" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.EncoderType.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoder.EncoderType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i222" class="altColor">
+<tr id="i223" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i223" class="rowColor">
+<tr id="i224" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.BinMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin.BinMethod</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i224" class="altColor">
+<tr id="i225" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple composite encoder that applies a list of encoders in specified order.</div>
 </th>
 </tr>
-<tr id="i225" class="rowColor">
+<tr id="i226" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderDummycode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderDummycode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i226" class="altColor">
+<tr id="i227" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class used for feature hashing transformation of frames.</div>
 </th>
 </tr>
-<tr id="i227" class="rowColor">
+<tr id="i228" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderFeatureHash.FeatureHashSparseApplyTask.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderFeatureHash.FeatureHashSparseApplyTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i228" class="altColor">
+<tr id="i229" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i229" class="rowColor">
+<tr id="i230" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderPassThrough.PassThroughSparseApplyTask.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderPassThrough.PassThroughSparseApplyTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i230" class="altColor">
+<tr id="i231" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderRecode.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderRecode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i231" class="rowColor">
+<tr id="i232" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderUDF.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderUDF</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i232" class="altColor">
+<tr id="i233" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/CommonThreadPool.html" title="class in org.apache.sysds.runtime.util">CommonThreadPool</a></td>
 <th class="colLast" scope="row">
 <div class="block">This common thread pool provides an abstraction to obtain a shared
@@ -1202,247 +1208,255 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  of the maximum degree of parallelism.</div>
 </th>
 </tr>
-<tr id="i233" class="rowColor">
+<tr id="i234" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/conf/CompilerConfig.html" title="class in org.apache.sysds.conf">CompilerConfig</a></td>
 <th class="colLast" scope="row">
 <div class="block">Basic wrapper for all compiler configurations that are configured
  dynamically on a per script invocation basis.</div>
 </th>
 </tr>
-<tr id="i234" class="altColor">
+<tr id="i235" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/conf/CompilerConfig.ConfigType.html" title="enum in org.apache.sysds.conf">CompilerConfig.ConfigType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i235" class="rowColor">
+<tr id="i236" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlock.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i236" class="altColor">
+<tr id="i237" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/CompressedMatrixBlockFactory.html" title="class in org.apache.sysds.runtime.compress">CompressedMatrixBlockFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory pattern to compress a Matrix Block into a CompressedMatrixBlock.</div>
 </th>
 </tr>
-<tr id="i237" class="rowColor">
+<tr id="i238" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Main abstract class for estimating size of compressions on columns.</div>
 </th>
 </tr>
-<tr id="i238" class="altColor">
+<tr id="i239" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorExact.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorExact</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exact compressed size estimator (examines entire dataset).</div>
 </th>
 </tr>
-<tr id="i239" class="rowColor">
+<tr id="i240" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="interface in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i240" class="altColor">
+<tr id="i241" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorSample.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeEstimatorSample</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i241" class="rowColor">
+<tr id="i242" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfo.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">A helper reusable object for maintaining information about estimated compression</div>
 </th>
 </tr>
-<tr id="i242" class="altColor">
+<tr id="i243" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeInfoColGroup.html" title="class in org.apache.sysds.runtime.compress.estim">CompressedSizeInfoColGroup</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information collected about a specific ColGroup's compression size.</div>
 </th>
 </tr>
-<tr id="i243" class="rowColor">
+<tr id="i244" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Compression.html" title="class in org.apache.sysds.lops">Compression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i244" class="altColor">
+<tr id="i245" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Compression.CompressConfig.html" title="enum in org.apache.sysds.lops">Compression.CompressConfig</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i245" class="rowColor">
+<tr id="i246" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CompressionCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i246" class="altColor">
+<tr id="i247" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/CompressionSettings.html" title="class in org.apache.sysds.runtime.compress">CompressionSettings</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compression Settings class, used as a bundle of parameters inside the Compression framework.</div>
 </th>
 </tr>
-<tr id="i247" class="rowColor">
+<tr id="i248" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Builder pattern for Compression Settings.</div>
 </th>
 </tr>
-<tr id="i248" class="altColor">
+<tr id="i249" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i249" class="rowColor">
+<tr id="i250" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.CompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction.CompressionFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i250" class="altColor">
+<tr id="i251" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.CompressionWorkloadFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction.CompressionWorkloadFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i251" class="rowColor">
+<tr id="i252" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CompressionSPInstruction.SizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">CompressionSPInstruction.SizeFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i252" class="altColor">
+<tr id="i253" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/CompressionStatistics.html" title="class in org.apache.sysds.runtime.compress">CompressionStatistics</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compression Statistics contain the main information gathered from the compression, such as sizes of the original
  matrix, vs the compressed representation at different stages of the compression.</div>
 </th>
 </tr>
-<tr id="i253" class="rowColor">
+<tr id="i254" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/ComputationCostEstimator.html" title="class in org.apache.sysds.runtime.compress.cost">ComputationCostEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i254" class="altColor">
+<tr id="i255" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ComputationCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ComputationCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i255" class="rowColor">
+<tr id="i256" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ComputationFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ComputationFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i256" class="altColor">
+<tr id="i257" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ComputationSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ComputationSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i257" class="rowColor">
+<tr id="i258" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ComputeBinaryBlockNnzFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ComputeBinaryBlockNnzFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i258" class="altColor">
+<tr id="i259" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/ComputeCost.html" title="class in org.apache.sysds.hops.cost">ComputeCost</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class with methods estimating compute costs of operations.</div>
 </th>
 </tr>
-<tr id="i259" class="rowColor">
+<tr id="i260" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ConditionalPredicate.html" title="class in org.apache.sysds.parser">ConditionalPredicate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i260" class="altColor">
+<tr id="i261" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/ConfigurableAPI.html" title="interface in org.apache.sysds.api">ConfigurableAPI</a></td>
 <th class="colLast" scope="row">
 <div class="block">This interface defines the programmatic access to dml configuration properties
  (as defined in SystemDS-config.xml) to ensure API consistency across all APIs.</div>
 </th>
 </tr>
-<tr id="i261" class="rowColor">
+<tr id="i262" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/conf/ConfigurationManager.html" title="class in org.apache.sysds.conf">ConfigurationManager</a></td>
 <th class="colLast" scope="row">
 <div class="block">Singleton for accessing the parsed and merged system configuration.</div>
 </th>
 </tr>
-<tr id="i262" class="altColor">
+<tr id="i263" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/jmlc/Connection.html" title="class in org.apache.sysds.api.jmlc">Connection</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interaction with SystemDS using the JMLC (Java Machine Learning Connector) API is initiated with
  a <a href="org/apache/sysds/api/jmlc/Connection.html" title="class in org.apache.sysds.api.jmlc"><code>Connection</code></a> object.</div>
 </th>
 </tr>
-<tr id="i263" class="rowColor">
+<tr id="i264" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">Constants</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i265" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/encoding/ConstEncoding.html" title="class in org.apache.sysds.runtime.compress.estim.encoding">ConstEncoding</a></td>
 <th class="colLast" scope="row">
 <div class="block">Const encoding for cases where the entire group of columns is the same value</div>
 </th>
 </tr>
-<tr id="i264" class="altColor">
+<tr id="i266" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ConstIdentifier.html" title="class in org.apache.sysds.parser">ConstIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i265" class="rowColor">
+<tr id="i267" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/Converter.html" title="interface in org.apache.sysds.runtime.matrix.data">Converter</a>&lt;<a href="org/apache/sysds/runtime/matrix/data/Converter.html" title="type parameter in Converter">K1</a> extends org.apache.hadoop.io.Writable,&#8203;<a href="org/apache/sysds/runtime/matrix/data/Converter.html" title="type parameter in Converter">V1</a> extends org.apache.hadoop.io.Writable,&#8203;<a href="org/apache/sysds/runtime/ [...]
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i266" class="altColor">
+<tr id="i268" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ConvertFrameBlockToIJVLines.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ConvertFrameBlockToIJVLines</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i267" class="rowColor">
+<tr id="i269" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ConvertMatrixBlockToIJVLines.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ConvertMatrixBlockToIJVLines</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i268" class="altColor">
+<tr id="i270" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ConvertStringToLongTextPair.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ConvertStringToLongTextPair</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i269" class="rowColor">
+<tr id="i271" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">CoordinatorController</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i270" class="altColor">
+<tr id="i272" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">CoordinatorService</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i273" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyBinaryCellFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i271" class="rowColor">
+<tr id="i274" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyFrameBlockFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block rdds.</div>
 </th>
 </tr>
-<tr id="i272" class="altColor">
+<tr id="i275" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyFrameBlockPairFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block rdds.</div>
 </th>
 </tr>
-<tr id="i273" class="rowColor">
+<tr id="i276" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyMatrixBlockFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block rdds.</div>
 </th>
 </tr>
-<tr id="i274" class="altColor">
+<tr id="i277" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyMatrixBlockPairFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyMatrixBlockPairFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block rdds.</div>
 </th>
 </tr>
-<tr id="i275" class="rowColor">
+<tr id="i278" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyTensorBlockFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block rdds.</div>
 </th>
 </tr>
-<tr id="i276" class="altColor">
+<tr id="i279" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyTensorBlockPairFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyTensorBlockPairFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block rdds.</div>
 </th>
 </tr>
-<tr id="i277" class="rowColor">
+<tr id="i280" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyTextInputFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyTextInputFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i278" class="altColor">
+<tr id="i281" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/CorrMatrixBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">CorrMatrixBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i279" class="rowColor">
+<tr id="i282" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/CostEstimationWrapper.html" title="class in org.apache.sysds.hops.cost">CostEstimationWrapper</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i280" class="altColor">
+<tr id="i283" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/CostEstimationWrapper.CostType.html" title="enum in org.apache.sysds.hops.cost">CostEstimationWrapper.CostType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i281" class="rowColor">
+<tr id="i284" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/CostEstimator.html" title="class in org.apache.sysds.hops.cost">CostEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i282" class="altColor">
+<tr id="i285" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all potential cost estimators
@@ -1450,53 +1464,53 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  TODO account for shared read-only matrices when computing aggregated stats</div>
 </th>
 </tr>
-<tr id="i283" class="rowColor">
+<tr id="i286" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.DataFormat.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimator.DataFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i284" class="altColor">
+<tr id="i287" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.ExcludeType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimator.ExcludeType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i285" class="rowColor">
+<tr id="i288" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimator.TestMeasure.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimator.TestMeasure</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i286" class="altColor">
+<tr id="i289" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/CostEstimatorBuilder.html" title="class in org.apache.sysds.runtime.compress.cost">CostEstimatorBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i287" class="rowColor">
+<tr id="i290" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/CostEstimatorFactory.html" title="class in org.apache.sysds.runtime.compress.cost">CostEstimatorFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i288" class="altColor">
+<tr id="i291" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/CostEstimatorFactory.CostType.html" title="enum in org.apache.sysds.runtime.compress.cost">CostEstimatorFactory.CostType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i289" class="rowColor">
+<tr id="i292" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorHops.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimatorHops</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i290" class="altColor">
+<tr id="i293" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/CostEstimatorRuntime.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">CostEstimatorRuntime</a></td>
 <th class="colLast" scope="row">
 <div class="block">Cost estimator for runtime programs.</div>
 </th>
 </tr>
-<tr id="i291" class="rowColor">
+<tr id="i294" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/CostEstimatorStaticRuntime.html" title="class in org.apache.sysds.hops.cost">CostEstimatorStaticRuntime</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i292" class="altColor">
+<tr id="i295" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/CountDistinctOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">CountDistinctOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i293" class="rowColor">
+<tr id="i296" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/CountDistinctOperatorTypes.html" title="enum in org.apache.sysds.runtime.matrix.operators">CountDistinctOperatorTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i294" class="altColor">
+<tr id="i297" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/COV.html" title="class in org.apache.sysds.runtime.functionobjects">COV</a></td>
 <th class="colLast" scope="row">
 <div class="block">GENERAL NOTE:
@@ -1504,81 +1518,81 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
    i.e., we (1) round instead of casting where required (e.g.</div>
 </th>
 </tr>
-<tr id="i295" class="rowColor">
+<tr id="i298" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/CoVariance.html" title="class in org.apache.sysds.lops">CoVariance</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to compute covariance between two 1D matrices</div>
 </th>
 </tr>
-<tr id="i296" class="altColor">
+<tr id="i299" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CovarianceCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CovarianceCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i297" class="rowColor">
+<tr id="i300" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/CovarianceFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CovarianceFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i298" class="altColor">
+<tr id="i301" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CovarianceSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CovarianceSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i299" class="rowColor">
+<tr id="i302" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/COVOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">COVOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i300" class="altColor">
+<tr id="i303" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i301" class="rowColor">
+<tr id="i304" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i302" class="altColor">
+<tr id="i305" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/CPInstructionParser.html" title="class in org.apache.sysds.runtime.instructions">CPInstructionParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i303" class="rowColor">
+<tr id="i306" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/CPlanCSERewriter.html" title="class in org.apache.sysds.hops.codegen.template">CPlanCSERewriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i304" class="altColor">
+<tr id="i307" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i305" class="rowColor">
+<tr id="i308" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i306" class="altColor">
+<tr id="i309" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntrySet.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntrySet</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i307" class="rowColor">
+<tr id="i310" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/CPlanOpRewriter.html" title="class in org.apache.sysds.hops.codegen.template">CPlanOpRewriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">This cplan rewriter is meant to be the central place for any cplan 
  enhancements before code generation.</div>
 </th>
 </tr>
-<tr id="i308" class="altColor">
+<tr id="i311" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CpmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CpmmSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Cpmm: cross-product matrix multiplication operation (distributed matrix multiply
  by join over common dimension and subsequent aggregation of partial results).</div>
 </th>
 </tr>
-<tr id="i309" class="rowColor">
+<tr id="i312" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CPOperand.html" title="class in org.apache.sysds.runtime.instructions.cp">CPOperand</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i310" class="altColor">
+<tr id="i313" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/CreateSparseBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CreateSparseBlockFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">General purpose copy function for binary block values.</div>
 </th>
 </tr>
-<tr id="i311" class="rowColor">
+<tr id="i314" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/CSRPointer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CSRPointer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compressed Sparse Row (CSR) format for CUDA
@@ -1587,193 +1601,193 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Since we assume that the matrix is stored with zero-based indexing (i.e.</div>
 </th>
 </tr>
-<tr id="i312" class="altColor">
+<tr id="i315" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/CSVReBlock.html" title="class in org.apache.sysds.lops">CSVReBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to convert CSV data into SystemDS data format</div>
 </th>
 </tr>
-<tr id="i313" class="rowColor">
+<tr id="i316" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CSVReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CSVReblockSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i314" class="altColor">
+<tr id="i317" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Ctable.html" title="class in org.apache.sysds.lops">Ctable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform ternary operation.</div>
 </th>
 </tr>
-<tr id="i315" class="rowColor">
+<tr id="i318" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/CTable.html" title="class in org.apache.sysds.runtime.functionobjects">CTable</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i316" class="altColor">
+<tr id="i319" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Ctable.OperationTypes.html" title="enum in org.apache.sysds.lops">Ctable.OperationTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i317" class="rowColor">
+<tr id="i320" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/CtableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">CtableCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i318" class="altColor">
+<tr id="i321" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/CtableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CtableFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i319" class="rowColor">
+<tr id="i322" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">Ctable map is an abstraction for the hashmap used for ctable's hash group-by
  because this structure is passed through various interfaces.</div>
 </th>
 </tr>
-<tr id="i320" class="altColor">
+<tr id="i323" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i321" class="rowColor">
+<tr id="i324" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature1.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction.MapJoinSignature1</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i322" class="altColor">
+<tr id="i325" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature2.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction.MapJoinSignature2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i323" class="rowColor">
+<tr id="i326" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CtableSPInstruction.MapJoinSignature3.html" title="class in org.apache.sysds.runtime.instructions.spark">CtableSPInstruction.MapJoinSignature3</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i324" class="altColor">
+<tr id="i327" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/CudaMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">CudaMemoryAllocator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i325" class="rowColor">
+<tr id="i328" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/CudaSupportFunctions.html" title="interface in org.apache.sysds.runtime.matrix.data">CudaSupportFunctions</a></td>
 <th class="colLast" scope="row">
 <div class="block">DESIGN DOCUMENTATION FOR SUPPORTING LOWER PRECISION:
  1.</div>
 </th>
 </tr>
-<tr id="i326" class="altColor">
+<tr id="i329" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CumulativeAggregateSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeAggregateSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i327" class="rowColor">
+<tr id="i330" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/CumulativeOffsetBinary.html" title="class in org.apache.sysds.lops">CumulativeOffsetBinary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i328" class="altColor">
+<tr id="i331" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/CumulativeOffsetFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">CumulativeOffsetFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i329" class="rowColor">
+<tr id="i332" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/CumulativeOffsetSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CumulativeOffsetSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i330" class="altColor">
+<tr id="i333" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/CumulativePartialAggregate.html" title="class in org.apache.sysds.lops">CumulativePartialAggregate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i331" class="rowColor">
+<tr id="i334" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/CustomErrorListener.html" title="class in org.apache.sysds.parser.dml">CustomErrorListener</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i332" class="altColor">
+<tr id="i335" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/CustomErrorListener.ParseIssueType.html" title="enum in org.apache.sysds.parser.dml">CustomErrorListener.ParseIssueType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parse issues can be syntax errors, validation errors, and validation
  warnings.</div>
 </th>
 </tr>
-<tr id="i333" class="rowColor">
+<tr id="i336" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/CustomProperties.html" title="class in org.apache.sysds.runtime.iogen">CustomProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i334" class="altColor">
+<tr id="i337" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/compile/Dag.html" title="class in org.apache.sysds.lops.compile">Dag</a>&lt;<a href="org/apache/sysds/lops/compile/Dag.html" title="type parameter in Dag">N</a> extends <a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Class to maintain a DAG of lops and compile it into 
  runtime instructions, incl piggybacking into jobs.</div>
 </th>
 </tr>
-<tr id="i335" class="rowColor">
+<tr id="i338" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DArrCounts.html" title="class in org.apache.sysds.runtime.compress.utils">DArrCounts</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i336" class="altColor">
+<tr id="i339" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Data.html" title="class in org.apache.sysds.lops">Data</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to represent data objects.</div>
 </th>
 </tr>
-<tr id="i337" class="rowColor">
+<tr id="i340" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/Data.html" title="class in org.apache.sysds.runtime.instructions.cp">Data</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i338" class="altColor">
+<tr id="i341" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/DataAugmentation.html" title="class in org.apache.sysds.utils">DataAugmentation</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i339" class="rowColor">
+<tr id="i342" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i340" class="altColor">
+<tr id="i343" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DataConverter.html" title="class in org.apache.sysds.runtime.util">DataConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class provides methods to read and write matrix blocks from to HDFS using different data formats.</div>
 </th>
 </tr>
-<tr id="i341" class="rowColor">
+<tr id="i344" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i342" class="altColor">
+<tr id="i345" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/DataGen.html" title="class in org.apache.sysds.lops">DataGen</a></td>
 <th class="colLast" scope="row">
 <div class="block">Defines a LOP that generates data.</div>
 </th>
 </tr>
-<tr id="i343" class="rowColor">
+<tr id="i346" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/DataGenCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DataGenCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i344" class="altColor">
+<tr id="i347" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/DataGenOp.html" title="class in org.apache.sysds.hops">DataGenOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">A DataGenOp can be rand (or matrix constructor), sequence, and sample -
  these operators have different parameters and use a map of parameter type to hop position.</div>
 </th>
 </tr>
-<tr id="i345" class="rowColor">
+<tr id="i348" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/DataIdentifier.html" title="class in org.apache.sysds.parser">DataIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i346" class="altColor">
+<tr id="i349" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/DataOp.html" title="class in org.apache.sysds.hops">DataOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input,
   but all types can have parameters (e.g., for csv literals of delimiter, header, etc).</div>
 </th>
 </tr>
-<tr id="i347" class="rowColor">
+<tr id="i350" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitioner</a></td>
 <th class="colLast" scope="row">
 <div class="block">This is the base class for all data partitioner.</div>
 </th>
 </tr>
-<tr id="i348" class="altColor">
+<tr id="i351" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerLocal.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerLocal</a></td>
 <th class="colLast" scope="row">
 <div class="block">Partitions a given matrix into row or column partitions with a two pass-approach.</div>
 </th>
 </tr>
-<tr id="i349" class="rowColor">
+<tr id="i352" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSpark</a></td>
 <th class="colLast" scope="row">
 <div class="block">MR job class for submitting parfor remote partitioning MR jobs.</div>
 </th>
 </tr>
-<tr id="i350" class="altColor">
+<tr id="i353" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSparkMapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">NOTE: for the moment we only support binary block here
@@ -1782,71 +1796,71 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Interface of Writable output in order to support both PairWritableBlock and PairWritableCell.</div>
 </th>
 </tr>
-<tr id="i351" class="rowColor">
+<tr id="i354" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/DataPartitionerRemoteSparkReducer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">DataPartitionerRemoteSparkReducer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i352" class="altColor">
+<tr id="i355" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkAggregator.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkAggregator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i353" class="rowColor">
+<tr id="i356" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionerSparkMapper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionerSparkMapper</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i354" class="altColor">
+<tr id="i357" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i355" class="rowColor">
+<tr id="i358" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.BalanceMetrics.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.BalanceMetrics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i356" class="altColor">
+<tr id="i359" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionFederatedScheme.Result.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionFederatedScheme.Result</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i357" class="rowColor">
+<tr id="i360" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionLocalScheme</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i358" class="altColor">
+<tr id="i361" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DataPartitionSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DataPartitionSparkScheme</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i359" class="rowColor">
+<tr id="i362" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/finegrained/DataRange.html" title="class in org.apache.sysds.runtime.privacy.finegrained">DataRange</a></td>
 <th class="colLast" scope="row">
 <div class="block">A DataRange instance marks a part of a CacheableData data object.</div>
 </th>
 </tr>
-<tr id="i360" class="altColor">
+<tr id="i363" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/DatasetObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">DatasetObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i361" class="rowColor">
+<tr id="i364" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i362" class="altColor">
+<tr id="i365" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils">DblArray</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper class used for bitmap extraction.</div>
 </th>
 </tr>
-<tr id="i363" class="rowColor">
+<tr id="i366" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DblArrayCountHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayCountHashMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i364" class="altColor">
+<tr id="i367" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i365" class="rowColor">
+<tr id="i368" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DblArrayIntListHashMap.DArrayIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DblArrayIntListHashMap.DArrayIListEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i366" class="altColor">
+<tr id="i369" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DCLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DCLocalScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Disjoint_Contiguous data partitioner:
@@ -1856,208 +1870,212 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  non-overlapping partitions of rows.</div>
 </th>
 </tr>
-<tr id="i367" class="rowColor">
+<tr id="i370" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DCounts.html" title="class in org.apache.sysds.runtime.compress.utils">DCounts</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i368" class="altColor">
+<tr id="i371" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DCSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DCSparkScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Spark Disjoint_Contiguous data partitioner:</div>
 </th>
 </tr>
-<tr id="i369" class="rowColor">
+<tr id="i372" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode">Decoder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all transform decoders providing both a row and block
  interface for decoding matrices to frames.</div>
 </th>
 </tr>
-<tr id="i370" class="altColor">
+<tr id="i373" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/DecoderComposite.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderComposite</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple composite decoder that applies a list of decoders
  in specified order.</div>
 </th>
 </tr>
-<tr id="i371" class="rowColor">
+<tr id="i374" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/DecoderDummycode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderDummycode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple atomic decoder for dummycoded columns.</div>
 </th>
 </tr>
-<tr id="i372" class="altColor">
+<tr id="i375" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i373" class="rowColor">
+<tr id="i376" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/DecoderFactory.DecoderType.html" title="enum in org.apache.sysds.runtime.transform.decode">DecoderFactory.DecoderType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i374" class="altColor">
+<tr id="i377" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/DecoderPassThrough.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderPassThrough</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple atomic decoder for passing through numeric columns to the output.</div>
 </th>
 </tr>
-<tr id="i375" class="rowColor">
+<tr id="i378" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/decode/DecoderRecode.html" title="class in org.apache.sysds.runtime.transform.decode">DecoderRecode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple atomic decoder for recoded columns.</div>
 </th>
 </tr>
-<tr id="i376" class="altColor">
+<tr id="i379" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/DeCompression.html" title="class in org.apache.sysds.lops">DeCompression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i377" class="rowColor">
+<tr id="i380" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/DeCompression.CompressConfig.html" title="enum in org.apache.sysds.lops">DeCompression.CompressConfig</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i378" class="altColor">
+<tr id="i381" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/DeCompressionCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DeCompressionCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i379" class="rowColor">
+<tr id="i382" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i380" class="altColor">
+<tr id="i383" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/DeCompressionSPInstruction.DeCompressionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">DeCompressionSPInstruction.DeCompressionFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i381" class="rowColor">
+<tr id="i384" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DeltaDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">DeltaDictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">This dictionary class is a specialization for the DeltaDDCColgroup.</div>
 </th>
 </tr>
-<tr id="i382" class="altColor">
+<tr id="i385" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlock.html" title="class in org.apache.sysds.runtime.data">DenseBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">This DenseBlock is an abstraction for different dense, row-major 
  matrix formats.</div>
 </th>
 </tr>
-<tr id="i383" class="rowColor">
+<tr id="i386" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">DenseBlock.Type</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i384" class="altColor">
+<tr id="i387" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockBool.html" title="class in org.apache.sysds.runtime.data">DenseBlockBool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i385" class="rowColor">
+<tr id="i388" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockDRB.html" title="class in org.apache.sysds.runtime.data">DenseBlockDRB</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i386" class="altColor">
+<tr id="i389" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockFactory.html" title="class in org.apache.sysds.runtime.data">DenseBlockFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i387" class="rowColor">
+<tr id="i390" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockFP32.html" title="class in org.apache.sysds.runtime.data">DenseBlockFP32</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i388" class="altColor">
+<tr id="i391" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockFP64.html" title="class in org.apache.sysds.runtime.data">DenseBlockFP64</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i389" class="rowColor">
+<tr id="i392" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockInt32.html" title="class in org.apache.sysds.runtime.data">DenseBlockInt32</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i390" class="altColor">
+<tr id="i393" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockInt64.html" title="class in org.apache.sysds.runtime.data">DenseBlockInt64</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i391" class="rowColor">
+<tr id="i394" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLBool.html" title="class in org.apache.sysds.runtime.data">DenseBlockLBool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i392" class="altColor">
+<tr id="i395" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLDRB.html" title="class in org.apache.sysds.runtime.data">DenseBlockLDRB</a></td>
 <th class="colLast" scope="row">
 <div class="block">Dense Large Row Blocks have multiple 1D arrays (blocks), which contain complete rows.</div>
 </th>
 </tr>
-<tr id="i393" class="rowColor">
+<tr id="i396" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLFP32.html" title="class in org.apache.sysds.runtime.data">DenseBlockLFP32</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i394" class="altColor">
+<tr id="i397" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLFP64.html" title="class in org.apache.sysds.runtime.data">DenseBlockLFP64</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i395" class="rowColor">
+<tr id="i398" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLInt32.html" title="class in org.apache.sysds.runtime.data">DenseBlockLInt32</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i396" class="altColor">
+<tr id="i399" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLInt64.html" title="class in org.apache.sysds.runtime.data">DenseBlockLInt64</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i397" class="rowColor">
+<tr id="i400" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockLString.html" title="class in org.apache.sysds.runtime.data">DenseBlockLString</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i398" class="altColor">
+<tr id="i401" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/DenseBlockString.html" title="class in org.apache.sysds.runtime.data">DenseBlockString</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i399" class="rowColor">
+<tr id="i402" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/encoding/DenseEncoding.html" title="class in org.apache.sysds.runtime.compress.estim.encoding">DenseEncoding</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i400" class="altColor">
+<tr id="i403" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DependencyTask.html" title="class in org.apache.sysds.runtime.util">DependencyTask</a>&lt;<a href="org/apache/sysds/runtime/util/DependencyTask.html" title="type parameter in DependencyTask">E</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i401" class="rowColor">
+<tr id="i404" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DependencyThreadPool.html" title="class in org.apache.sysds.runtime.util">DependencyThreadPool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i402" class="altColor">
+<tr id="i405" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DependencyWrapperTask.html" title="class in org.apache.sysds.runtime.util">DependencyWrapperTask</a>&lt;<a href="org/apache/sysds/runtime/util/DependencyWrapperTask.html" title="type parameter in DependencyWrapperTask">E</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i403" class="rowColor">
+<tr id="i406" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/DerbyRepository.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">DerbyRepository</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i407" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects">DiagIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i404" class="altColor">
+<tr id="i408" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">Dictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
  group.</div>
 </th>
 </tr>
-<tr id="i405" class="rowColor">
+<tr id="i409" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DictionaryFactory.html" title="interface in org.apache.sysds.runtime.compress.colgroup.dictionary">DictionaryFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i406" class="altColor">
+<tr id="i410" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DictionaryFactory.Type.html" title="enum in org.apache.sysds.runtime.compress.colgroup.dictionary">DictionaryFactory.Type</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i407" class="rowColor">
+<tr id="i411" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DictLibMatrixMult.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">DictLibMatrixMult</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility interface for dictionary matrix multiplication</div>
 </th>
 </tr>
-<tr id="i408" class="altColor">
+<tr id="i412" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/DistinctCostEstimator.html" title="class in org.apache.sysds.runtime.compress.cost">DistinctCostEstimator</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Cost based estimator that based the compression and co-coding cost on the number of distinct elements in the column
  groups.</div>
 </th>
 </tr>
-<tr id="i409" class="rowColor">
+<tr id="i413" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Divide.html" title="class in org.apache.sysds.runtime.functionobjects">Divide</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i410" class="altColor">
+<tr id="i414" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlBaseListener.html" title="class in org.apache.sysds.parser.dml">DmlBaseListener</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class provides an empty implementation of <a href="org/apache/sysds/parser/dml/DmlListener.html" title="interface in org.apache.sysds.parser.dml"><code>DmlListener</code></a>,
@@ -2065,36 +2083,36 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  of the available methods.</div>
 </th>
 </tr>
-<tr id="i411" class="rowColor">
+<tr id="i415" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/DMLCompressionException.html" title="class in org.apache.sysds.runtime.compress">DMLCompressionException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i412" class="altColor">
+<tr id="i416" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/DMLCompressionStatistics.html" title="class in org.apache.sysds.utils">DMLCompressionStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i413" class="rowColor">
+<tr id="i417" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/conf/DMLConfig.html" title="class in org.apache.sysds.conf">DMLConfig</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i414" class="altColor">
+<tr id="i418" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/DMLException.html" title="class in org.apache.sysds.api">DMLException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception occurring in the DML framework.</div>
 </th>
 </tr>
-<tr id="i415" class="rowColor">
+<tr id="i419" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i416" class="altColor">
+<tr id="i420" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlListener.html" title="interface in org.apache.sysds.parser.dml">DmlListener</a></td>
 <th class="colLast" scope="row">
 <div class="block">This interface defines a complete listener for a parse tree produced by
  <a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml"><code>DmlParser</code></a>.</div>
 </th>
 </tr>
-<tr id="i417" class="rowColor">
+<tr id="i421" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></td>
 <th class="colLast" scope="row">
 <div class="block">Set of DMLOptions that can be set through the command line
@@ -2104,342 +2122,342 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  to keep it consistent with <a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api"><code>DMLOptions</code></a> and <a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api"><code>DMLOptions</code></a></div>
 </th>
 </tr>
-<tr id="i418" class="altColor">
+<tr id="i422" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.html" title="class in org.apache.sysds.parser.dml">DmlParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i419" class="rowColor">
+<tr id="i423" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AccumulatorAssignmentStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i420" class="altColor">
+<tr id="i424" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.AddSubExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AddSubExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i421" class="rowColor">
+<tr id="i425" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.AssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AssignmentStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i422" class="altColor">
+<tr id="i426" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.AtomicExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AtomicExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i423" class="rowColor">
+<tr id="i427" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.BooleanAndExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.BooleanAndExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i424" class="altColor">
+<tr id="i428" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.BooleanNotExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.BooleanNotExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i425" class="rowColor">
+<tr id="i429" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.BooleanOrExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.BooleanOrExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i426" class="altColor">
+<tr id="i430" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.BuiltinFunctionExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.BuiltinFunctionExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i427" class="rowColor">
+<tr id="i431" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.CommandlineParamExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.CommandlineParamExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i428" class="altColor">
+<tr id="i432" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.CommandlinePositionExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.CommandlinePositionExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i429" class="rowColor">
+<tr id="i433" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstDoubleIdExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i430" class="altColor">
+<tr id="i434" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ConstFalseExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstFalseExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i431" class="rowColor">
+<tr id="i435" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ConstIntIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstIntIdExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i432" class="altColor">
+<tr id="i436" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ConstStringIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstStringIdExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i433" class="rowColor">
+<tr id="i437" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ConstTrueExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstTrueExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i434" class="altColor">
+<tr id="i438" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.DataIdentifierContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.DataIdentifierContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i435" class="rowColor">
+<tr id="i439" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.DataIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.DataIdExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i436" class="altColor">
+<tr id="i440" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.DataTypeContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.DataTypeContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i437" class="rowColor">
+<tr id="i441" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i438" class="altColor">
+<tr id="i442" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ExternalFunctionDefExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ExternalFunctionDefExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i439" class="rowColor">
+<tr id="i443" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ForStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ForStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i440" class="altColor">
+<tr id="i444" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.FunctionCallAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.FunctionCallAssignmentStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i441" class="rowColor">
+<tr id="i445" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.FunctionCallMultiAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.FunctionCallMultiAssignmentStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i442" class="altColor">
+<tr id="i446" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.FunctionStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.FunctionStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i443" class="rowColor">
+<tr id="i447" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.IfdefAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IfdefAssignmentStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i444" class="altColor">
+<tr id="i448" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.IfStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IfStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i445" class="rowColor">
+<tr id="i449" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ImportStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ImportStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i446" class="altColor">
+<tr id="i450" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.IndexedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IndexedExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i447" class="rowColor">
+<tr id="i451" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.InternalFunctionDefExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.InternalFunctionDefExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i448" class="altColor">
+<tr id="i452" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.IterablePredicateColonExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IterablePredicateColonExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i449" class="rowColor">
+<tr id="i453" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.IterablePredicateContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IterablePredicateContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i450" class="altColor">
+<tr id="i454" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.IterablePredicateSeqExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.IterablePredicateSeqExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i451" class="rowColor">
+<tr id="i455" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.MatrixDataTypeCheckContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.MatrixDataTypeCheckContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i452" class="altColor">
+<tr id="i456" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.MatrixMulExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.MatrixMulExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i453" class="rowColor">
+<tr id="i457" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.Ml_typeContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.Ml_typeContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i454" class="altColor">
+<tr id="i458" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ModIntDivExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ModIntDivExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i455" class="rowColor">
+<tr id="i459" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.MultDivExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.MultDivExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i456" class="altColor">
+<tr id="i460" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.MultiIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.MultiIdExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i457" class="rowColor">
+<tr id="i461" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ParameterizedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ParameterizedExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i458" class="altColor">
+<tr id="i462" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ParForStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ParForStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i459" class="rowColor">
+<tr id="i463" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.PathStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.PathStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i460" class="altColor">
+<tr id="i464" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.PowerExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.PowerExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i461" class="rowColor">
+<tr id="i465" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ProgramrootContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ProgramrootContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i462" class="altColor">
+<tr id="i466" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.RelationalExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.RelationalExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i463" class="rowColor">
+<tr id="i467" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.SimpleDataIdentifierExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.SimpleDataIdentifierExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i464" class="altColor">
+<tr id="i468" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.StatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.StatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i465" class="rowColor">
+<tr id="i469" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.StrictParameterizedExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.StrictParameterizedExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i466" class="altColor">
+<tr id="i470" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.StrictParameterizedKeyValueStringContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.StrictParameterizedKeyValueStringContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i467" class="rowColor">
+<tr id="i471" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.TypedArgAssignContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.TypedArgAssignContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i468" class="altColor">
+<tr id="i472" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.TypedArgNoAssignContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.TypedArgNoAssignContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i469" class="rowColor">
+<tr id="i473" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.UnaryExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.UnaryExpressionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i470" class="altColor">
+<tr id="i474" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.ValueTypeContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ValueTypeContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i471" class="rowColor">
+<tr id="i475" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlParser.WhileStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.WhileStatementContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i472" class="altColor">
+<tr id="i476" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DMLParserWrapper.html" title="class in org.apache.sysds.parser.dml">DMLParserWrapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">This is the main entry point for the Antlr4 parser.</div>
 </th>
 </tr>
-<tr id="i473" class="rowColor">
+<tr id="i477" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlPreprocessor.html" title="class in org.apache.sysds.parser.dml">DmlPreprocessor</a></td>
 <th class="colLast" scope="row">
 <div class="block">Minimal pre-processing of user function definitions which take precedence over built-in 
  functions in cases where names conflict.</div>
 </th>
 </tr>
-<tr id="i474" class="altColor">
+<tr id="i478" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/DMLPrivacyException.html" title="class in org.apache.sysds.runtime.privacy">DMLPrivacyException</a></td>
 <th class="colLast" scope="row">
 <div class="block">This exception should be thrown to flag DML runtime errors related to the violation of privacy constraints.</div>
 </th>
 </tr>
-<tr id="i475" class="rowColor">
+<tr id="i479" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/DMLProgram.html" title="class in org.apache.sysds.parser">DMLProgram</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i476" class="altColor">
+<tr id="i480" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/DMLRuntimeException.html" title="class in org.apache.sysds.runtime">DMLRuntimeException</a></td>
 <th class="colLast" scope="row">
 <div class="block">This exception should be thrown to flag runtime errors -- DML equivalent to java.lang.RuntimeException.</div>
 </th>
 </tr>
-<tr id="i477" class="rowColor">
+<tr id="i481" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/DMLScript.html" title="class in org.apache.sysds.api">DMLScript</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i478" class="altColor">
+<tr id="i482" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/DMLScriptException.html" title="class in org.apache.sysds.runtime">DMLScriptException</a></td>
 <th class="colLast" scope="row">
 <div class="block">This exception should be thrown to flag DML Script errors.</div>
 </th>
 </tr>
-<tr id="i479" class="rowColor">
+<tr id="i483" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.html" title="class in org.apache.sysds.parser.dml">DmlSyntacticValidator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i480" class="altColor">
+<tr id="i484" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/DmlSyntacticValidator.ConvertedDMLSyntax.html" title="class in org.apache.sysds.parser.dml">DmlSyntacticValidator.ConvertedDMLSyntax</a></td>
 <th class="colLast" scope="row">
 <div class="block">Information about built in functions converted to a common format between
  PyDML and DML for the runtime.</div>
 </th>
 </tr>
-<tr id="i481" class="rowColor">
+<tr id="i485" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/DMLTranslator.html" title="class in org.apache.sysds.parser">DMLTranslator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i482" class="altColor">
+<tr id="i486" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DMVUtils.html" title="class in org.apache.sysds.runtime.util">DMVUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i483" class="rowColor">
+<tr id="i487" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DMVUtils.LEVEL_ENUM.html" title="enum in org.apache.sysds.runtime.util">DMVUtils.LEVEL_ENUM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i484" class="altColor">
+<tr id="i488" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/DnnCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">DnnCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i485" class="rowColor">
+<tr id="i489" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/DnnGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">DnnGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i486" class="altColor">
+<tr id="i490" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/DnnOp.html" title="class in org.apache.sysds.hops">DnnOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i487" class="rowColor">
+<tr id="i491" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/DnnParameters.html" title="class in org.apache.sysds.runtime.matrix.data">DnnParameters</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class is container that stores parameters required for executing following operations:
  conv2d, conv2d_backward_data, conv2d_backward_filter, maxpooling, maxpooling_backward</div>
 </th>
 </tr>
-<tr id="i488" class="altColor">
+<tr id="i492" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/DnnSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">DnnSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i489" class="rowColor">
+<tr id="i493" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/DnnTransform.html" title="class in org.apache.sysds.lops">DnnTransform</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i490" class="altColor">
+<tr id="i494" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/DnnUtils.html" title="class in org.apache.sysds.runtime.util">DnnUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i491" class="rowColor">
+<tr id="i495" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DoubleCountHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleCountHashMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i492" class="altColor">
+<tr id="i496" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/DoubleIdentifier.html" title="class in org.apache.sysds.parser">DoubleIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i493" class="rowColor">
+<tr id="i497" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class provides a memory-efficient replacement for <code>HashMap&lt;Double,IntArrayList&gt;</code> for restricted use cases.</div>
 </th>
 </tr>
-<tr id="i494" class="altColor">
+<tr id="i498" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/DoubleIntListHashMap.DIListEntry.html" title="class in org.apache.sysds.runtime.compress.utils">DoubleIntListHashMap.DIListEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i495" class="rowColor">
+<tr id="i499" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/DoubleObject.html" title="class in org.apache.sysds.runtime.instructions.cp">DoubleObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i496" class="altColor">
+<tr id="i500" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/DoublePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data">DoublePrecisionCudaSupportFunctions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i497" class="rowColor">
+<tr id="i501" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRLocalScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Data partitioner Disjoint_Random:
@@ -2448,7 +2466,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  i.e., sampling without replacement to ensure disjointness.</div>
 </th>
 </tr>
-<tr id="i498" class="altColor">
+<tr id="i502" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRRLocalScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Disjoint_Round_Robin data partitioner:
@@ -2457,13 +2475,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  (target=X, margin=rows, select=(seq(1,nrow(X))%%k)==id)</div>
 </th>
 </tr>
-<tr id="i499" class="rowColor">
+<tr id="i503" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRRSparkScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Spark Disjoint_Round_Robin data partitioner:</div>
 </th>
 </tr>
-<tr id="i500" class="altColor">
+<tr id="i504" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/DRSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">DRSparkScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Spark data partitioner Disjoint_Random:
@@ -2471,71 +2489,81 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  For the current row block, find all the shifted place for each row (WorkerID =&gt; (row block ID, matrix)</div>
 </th>
 </tr>
-<tr id="i501" class="rowColor">
+<tr id="i505" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/EMAUtils.html" title="class in org.apache.sysds.runtime.util">EMAUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i502" class="altColor">
+<tr id="i506" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/encoding/EmptyEncoding.html" title="class in org.apache.sysds.runtime.compress.estim.encoding">EmptyEncoding</a></td>
 <th class="colLast" scope="row">
 <div class="block">Empty encoding for cases where the entire group of columns is zero</div>
 </th>
 </tr>
-<tr id="i503" class="rowColor">
+<tr id="i507" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/Encoder.html" title="interface in org.apache.sysds.runtime.transform.encode">Encoder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i504" class="altColor">
+<tr id="i508" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i505" class="rowColor">
+<tr id="i509" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i506" class="altColor">
+<tr id="i510" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i507" class="rowColor">
+<tr id="i511" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i508" class="altColor">
+<tr id="i512" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/Encrypted.html" title="class in org.apache.sysds.runtime.instructions.cp">Encrypted</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class abstracts over an encrypted data.</div>
+</th>
+</tr>
+<tr id="i513" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/EntityEnum.html" title="enum in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">EntityEnum</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i514" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils">EnvironmentHelper</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class is useful in setting environment variable for loading MKL library (done by Native Helper)</div>
 </th>
 </tr>
-<tr id="i509" class="rowColor">
+<tr id="i515" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects">Equals</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i510" class="altColor">
+<tr id="i516" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></td>
 <th class="colLast" scope="row">
 <div class="block">Compressed Size Estimation factors.</div>
 </th>
 </tr>
-<tr id="i511" class="rowColor">
+<tr id="i517" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimationUtils.html" title="class in org.apache.sysds.hops.estim">EstimationUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i512" class="altColor">
+<tr id="i518" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorBasicAvg.html" title="class in org.apache.sysds.hops.estim">EstimatorBasicAvg</a></td>
 <th class="colLast" scope="row">
 <div class="block">Basic average case estimator for matrix sparsity:
  sp = 1 - Math.pow(1-sp1*sp2, k)</div>
 </th>
 </tr>
-<tr id="i513" class="rowColor">
+<tr id="i519" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorBasicWorst.html" title="class in org.apache.sysds.hops.estim">EstimatorBasicWorst</a></td>
 <th class="colLast" scope="row">
 <div class="block">Basic average case estimator for matrix sparsity:
  sp = Math.min(1, sp1 * k) * Math.min(1, sp2 * k).</div>
 </th>
 </tr>
-<tr id="i514" class="altColor">
+<tr id="i520" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM</a></td>
 <th class="colLast" scope="row">
 <div class="block">This estimator implements a naive but rather common approach of boolean matrix
@@ -2543,21 +2571,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  also useful for sparse result preallocation.</div>
 </th>
 </tr>
-<tr id="i515" class="rowColor">
+<tr id="i521" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i516" class="altColor">
+<tr id="i522" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix1.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix1</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class represents a boolean matrix and provides key operations.</div>
 </th>
 </tr>
-<tr id="i517" class="rowColor">
+<tr id="i523" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorBitsetMM.BitsetMatrix2.html" title="class in org.apache.sysds.hops.estim">EstimatorBitsetMM.BitsetMatrix2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i518" class="altColor">
+<tr id="i524" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorDensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">This estimator implements an approach called density maps, as introduced in
@@ -2565,11 +2593,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Linear Algebra Expressions with Probabilistic Density Estimation.</div>
 </th>
 </tr>
-<tr id="i519" class="rowColor">
+<tr id="i525" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorDensityMap.DensityMap.html" title="class in org.apache.sysds.hops.estim">EstimatorDensityMap.DensityMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i520" class="altColor">
+<tr id="i526" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorLayeredGraph.html" title="class in org.apache.sysds.hops.estim">EstimatorLayeredGraph</a></td>
 <th class="colLast" scope="row">
 <div class="block">This estimator implements an approach based on a so-called layered graph,
@@ -2577,11 +2605,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Edith Cohen.</div>
 </th>
 </tr>
-<tr id="i521" class="rowColor">
+<tr id="i527" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorLayeredGraph.LayeredGraph.html" title="class in org.apache.sysds.hops.estim">EstimatorLayeredGraph.LayeredGraph</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i522" class="altColor">
+<tr id="i528" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorMatrixHistogram.html" title="class in org.apache.sysds.hops.estim">EstimatorMatrixHistogram</a></td>
 <th class="colLast" scope="row">
 <div class="block">This estimator implements a remarkably simple yet effective
@@ -2589,18 +2617,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  estimation.</div>
 </th>
 </tr>
-<tr id="i523" class="rowColor">
+<tr id="i529" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorMatrixHistogram.MatrixHistogram.html" title="class in org.apache.sysds.hops.estim">EstimatorMatrixHistogram.MatrixHistogram</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i524" class="altColor">
+<tr id="i530" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorSample.html" title="class in org.apache.sysds.hops.estim">EstimatorSample</a></td>
 <th class="colLast" scope="row">
 <div class="block">This estimator implements an approach based on row/column sampling
  Yongyang Yu, MingJie Tang, Walid G.</div>
 </th>
 </tr>
-<tr id="i525" class="rowColor">
+<tr id="i531" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/EstimatorSampleRa.html" title="class in org.apache.sysds.hops.estim">EstimatorSampleRa</a></td>
 <th class="colLast" scope="row">
 <div class="block">This estimator implements an approach based on row/column sampling
@@ -2609,162 +2637,162 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Better Size Estimation for Sparse Matrix Products.</div>
 </th>
 </tr>
-<tr id="i526" class="altColor">
+<tr id="i532" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">EvalNaryCPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Eval built-in function instruction
  Note: it supports only single matrix[double] output</div>
 </th>
 </tr>
-<tr id="i527" class="rowColor">
+<tr id="i533" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/ExecutionConfig.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">ExecutionConfig</a></td>
 <th class="colLast" scope="row">
 <div class="block">Java Wrapper to specify CUDA execution configuration for launching custom kernels</div>
 </th>
 </tr>
-<tr id="i528" class="altColor">
+<tr id="i534" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i529" class="rowColor">
+<tr id="i535" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContextFactory.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContextFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i530" class="altColor">
+<tr id="i536" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">ExecutionContextMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i531" class="rowColor">
+<tr id="i537" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/Explain.html" title="class in org.apache.sysds.utils">Explain</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i532" class="altColor">
+<tr id="i538" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/Explain.ExplainCounts.html" title="class in org.apache.sysds.utils">Explain.ExplainCounts</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i533" class="rowColor">
+<tr id="i539" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/Explain.ExplainType.html" title="enum in org.apache.sysds.utils">Explain.ExplainType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i534" class="altColor">
+<tr id="i540" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Expression.html" title="class in org.apache.sysds.parser">Expression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i535" class="rowColor">
+<tr id="i541" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Expression.BinaryOp.html" title="enum in org.apache.sysds.parser">Expression.BinaryOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Binary operators.</div>
 </th>
 </tr>
-<tr id="i536" class="altColor">
+<tr id="i542" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Expression.BooleanOp.html" title="enum in org.apache.sysds.parser">Expression.BooleanOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Boolean operators.</div>
 </th>
 </tr>
-<tr id="i537" class="rowColor">
+<tr id="i543" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Expression.DataOp.html" title="enum in org.apache.sysds.parser">Expression.DataOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Data operators.</div>
 </th>
 </tr>
-<tr id="i538" class="altColor">
+<tr id="i544" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Expression.FunctCallOp.html" title="enum in org.apache.sysds.parser">Expression.FunctCallOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function call operators.</div>
 </th>
 </tr>
-<tr id="i539" class="rowColor">
+<tr id="i545" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Expression.RelationalOp.html" title="enum in org.apache.sysds.parser">Expression.RelationalOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Relational operators.</div>
 </th>
 </tr>
-<tr id="i540" class="altColor">
+<tr id="i546" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/ExpressionInfo.html" title="class in org.apache.sysds.parser.dml">ExpressionInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class exists solely to prevent compiler warnings.</div>
 </th>
 </tr>
-<tr id="i541" class="rowColor">
+<tr id="i547" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ExpressionList.html" title="class in org.apache.sysds.parser">ExpressionList</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i542" class="altColor">
+<tr id="i548" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractBlockForBinaryReblock.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractBlockForBinaryReblock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i543" class="rowColor">
+<tr id="i549" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractGroup</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i544" class="altColor">
+<tr id="i550" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupBroadcast.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractGroup.ExtractGroupBroadcast</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i545" class="rowColor">
+<tr id="i551" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractGroup.ExtractGroupJoin.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractGroup.ExtractGroupJoin</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i546" class="altColor">
+<tr id="i552" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ExtractGroupNWeights.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ExtractGroupNWeights</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i547" class="rowColor">
+<tr id="i553" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/FastBufferedDataInputStream.html" title="class in org.apache.sysds.runtime.util">FastBufferedDataInputStream</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i548" class="altColor">
+<tr id="i554" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/FastBufferedDataOutputStream.html" title="class in org.apache.sysds.runtime.util">FastBufferedDataOutputStream</a></td>
 <th class="colLast" scope="row">
 <div class="block">This buffered output stream is essentially a merged version of
  BufferedOutputStream and DataOutputStream, wrt SystemDS requirements.</div>
 </th>
 </tr>
-<tr id="i549" class="rowColor">
+<tr id="i555" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.iogen">FastStringTokenizer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i550" class="altColor">
+<tr id="i556" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/FastStringTokenizer.html" title="class in org.apache.sysds.runtime.util">FastStringTokenizer</a></td>
 <th class="colLast" scope="row">
 <div class="block">This string tokenizer is essentially a simplified StringTokenizer.</div>
 </th>
 </tr>
-<tr id="i551" class="rowColor">
+<tr id="i557" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Federated.html" title="class in org.apache.sysds.lops">Federated</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i552" class="altColor">
+<tr id="i558" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/FederatedCost.html" title="class in org.apache.sysds.hops.cost">FederatedCost</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class storing execution cost estimates for federated executions with cost estimates split into different categories
  such as compute, read, and transfer cost.</div>
 </th>
 </tr>
-<tr id="i553" class="rowColor">
+<tr id="i559" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/FederatedCostEstimator.html" title="class in org.apache.sysds.hops.cost">FederatedCostEstimator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Cost estimator for federated executions with methods and constants for going through DML programs to estimate costs.</div>
 </th>
 </tr>
-<tr id="i554" class="altColor">
+<tr id="i560" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i555" class="rowColor">
+<tr id="i561" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedData.FederatedRequestEncoder.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedData.FederatedRequestEncoder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i556" class="altColor">
+<tr id="i562" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/FederatedDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">FederatedDataPartitioner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i557" class="rowColor">
+<tr id="i563" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLocalData.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedLocalData</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i558" class="altColor">
+<tr id="i564" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLookupTable.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedLookupTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lookup table mapping from a FedUniqueCoordID (funCID) to an
@@ -2772,19 +2800,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  variables with its own local sequential variable IDs.</div>
 </th>
 </tr>
-<tr id="i559" class="rowColor">
+<tr id="i565" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/FederatedMonitoringServer.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring">FederatedMonitoringServer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i560" class="altColor">
+<tr id="i566" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/FederatedMonitoringServerHandler.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring">FederatedMonitoringServerHandler</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i561" class="rowColor">
+<tr id="i567" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FederatedPlannerCostbased.html" title="class in org.apache.sysds.hops.fedplanner">FederatedPlannerCostbased</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i562" class="altColor">
+<tr id="i568" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FederatedPlannerFedAll.html" title="class in org.apache.sysds.hops.fedplanner">FederatedPlannerFedAll</a></td>
 <th class="colLast" scope="row">
 <div class="block">Baseline federated planner that compiles all hops
@@ -2792,247 +2820,255 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  forced federated operations.</div>
 </th>
 </tr>
-<tr id="i563" class="rowColor">
+<tr id="i569" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FederatedPlannerFedHeuristic.html" title="class in org.apache.sysds.hops.fedplanner">FederatedPlannerFedHeuristic</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i564" class="altColor">
+<tr id="i570" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/FederatedPSControlThread.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">FederatedPSControlThread</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i565" class="rowColor">
+<tr id="i571" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRange.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRange</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i566" class="altColor">
+<tr id="i572" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedReadCache.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedReadCache</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i567" class="rowColor">
+<tr id="i573" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedReadCache.ReadCacheEntry.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedReadCache.ReadCacheEntry</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class representing an entry of the federated read cache.</div>
 </th>
 </tr>
-<tr id="i568" class="altColor">
+<tr id="i574" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i569" class="rowColor">
+<tr id="i575" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.RequestType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederatedRequest.RequestType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i570" class="altColor">
+<tr id="i576" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i571" class="rowColor">
+<tr id="i577" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.ResponseType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse.ResponseType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i572" class="altColor">
+<tr id="i578" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i573" class="rowColor">
+<tr id="i579" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollectFunction.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics.FedStatsCollectFunction</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i580" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics.FedStatsCollection</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i581" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i574" class="altColor">
+<tr id="i582" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i575" class="rowColor">
+<tr id="i583" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.FederatedResponseEncoder.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorker.FederatedResponseEncoder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i576" class="altColor">
+<tr id="i584" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorkerHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Note: federated worker handler created for every command; and concurrent parfor threads at coordinator need separate
  execution contexts at the federated sites too</div>
 </th>
 </tr>
-<tr id="i577" class="rowColor">
+<tr id="i585" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandlerException.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorkerHandlerException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception to throw when an exception occurs in FederatedWorkerHandler during handling of FederatedRequest.</div>
 </th>
 </tr>
-<tr id="i578" class="altColor">
+<tr id="i586" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkloadAnalyzer.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorkloadAnalyzer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i579" class="rowColor">
+<tr id="i587" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i580" class="altColor">
+<tr id="i588" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i581" class="rowColor">
+<tr id="i589" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i582" class="altColor">
+<tr id="i590" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.FederatedOutput.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FederatedOutput</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i583" class="rowColor">
+<tr id="i591" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i584" class="altColor">
+<tr id="i592" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/FEDInstructionParser.html" title="class in org.apache.sysds.runtime.instructions">FEDInstructionParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i585" class="rowColor">
+<tr id="i593" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstructionUtils.html" title="class in org.apache.sysds.runtime.instructions.fed">FEDInstructionUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i586" class="altColor">
+<tr id="i594" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatProperties.html" title="class in org.apache.sysds.runtime.io">FileFormatProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i587" class="rowColor">
+<tr id="i595" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesCSV.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesCSV</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i588" class="altColor">
+<tr id="i596" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesHDF5.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesHDF5</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i589" class="rowColor">
+<tr id="i597" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesLIBSVM.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesLIBSVM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i590" class="altColor">
+<tr id="i598" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesMM.html" title="class in org.apache.sysds.runtime.io">FileFormatPropertiesMM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i591" class="rowColor">
+<tr id="i599" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMField.html" title="enum in org.apache.sysds.runtime.io">FileFormatPropertiesMM.MMField</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i592" class="altColor">
+<tr id="i600" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMFormat.html" title="enum in org.apache.sysds.runtime.io">FileFormatPropertiesMM.MMFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i593" class="rowColor">
+<tr id="i601" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FileFormatPropertiesMM.MMSymmetry.html" title="enum in org.apache.sysds.runtime.io">FileFormatPropertiesMM.MMSymmetry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i594" class="altColor">
+<tr id="i602" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterDiagMatrixBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterDiagMatrixBlocksFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i595" class="rowColor">
+<tr id="i603" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterNonEmptyBlocksFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i596" class="altColor">
+<tr id="i604" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/FilterNonEmptyBlocksFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">FilterNonEmptyBlocksFunction2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i597" class="rowColor">
+<tr id="i605" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.html" title="interface in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i598" class="altColor">
+<tr id="i606" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyList</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple implementation of retrieving fine-grained privacy constraints
  based on pairs in an ArrayList.</div>
 </th>
 </tr>
-<tr id="i599" class="rowColor">
+<tr id="i607" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.html" title="class in org.apache.sysds.runtime.privacy.finegrained">FineGrainedPrivacyMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">Simple implementation of retrieving fine-grained privacy constraints based on
  iterating a LinkedHashMap.</div>
 </th>
 </tr>
-<tr id="i600" class="altColor">
+<tr id="i608" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ForProgramBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i601" class="rowColor">
+<tr id="i609" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ForStatement.html" title="class in org.apache.sysds.parser">ForStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i602" class="altColor">
+<tr id="i610" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ForStatementBlock.html" title="class in org.apache.sysds.parser">ForStatementBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i603" class="rowColor">
+<tr id="i611" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/FORUtil.html" title="class in org.apache.sysds.runtime.compress.colgroup">FORUtil</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i604" class="altColor">
+<tr id="i612" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/Frame.html" title="class in org.apache.sysds.api.mlcontext">Frame</a></td>
 <th class="colLast" scope="row">
 <div class="block">Frame encapsulates a SystemDS frame.</div>
 </th>
 </tr>
-<tr id="i605" class="rowColor">
+<tr id="i613" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/FrameAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameAppendCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i606" class="altColor">
+<tr id="i614" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/FrameAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendMSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i607" class="rowColor">
+<tr id="i615" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/FrameAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameAppendRSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i608" class="altColor">
+<tr id="i616" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i609" class="rowColor">
+<tr id="i617" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.ColumnMetadata.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.ColumnMetadata</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i610" class="altColor">
+<tr id="i618" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/FrameBlock.FrameMapFunction.html" title="class in org.apache.sysds.runtime.matrix.data">FrameBlock.FrameMapFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i611" class="rowColor">
+<tr id="i619" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/FrameFormat.html" title="enum in org.apache.sysds.api.mlcontext">FrameFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">FrameFormat represents the different frame formats supported by the MLContext
  API.</div>
 </th>
 </tr>
-<tr id="i612" class="altColor">
+<tr id="i620" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/FrameGenerateReader.html" title="class in org.apache.sysds.runtime.iogen">FrameGenerateReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i613" class="rowColor">
+<tr id="i621" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/FrameGenerateReader.FrameReaderRowIrregular.html" title="class in org.apache.sysds.runtime.iogen">FrameGenerateReader.FrameReaderRowIrregular</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i614" class="altColor">
+<tr id="i622" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/FrameGenerateReader.FrameReaderRowRegularColIrregular.html" title="class in org.apache.sysds.runtime.iogen">FrameGenerateReader.FrameReaderRowRegularColIrregular</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i615" class="rowColor">
+<tr id="i623" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/FrameGenerateReader.FrameReaderRowRegularColRegular.html" title="class in org.apache.sysds.runtime.iogen">FrameGenerateReader.FrameReaderRowRegularColRegular</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i616" class="altColor">
+<tr id="i624" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/FrameIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FrameIndexingCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i617" class="rowColor">
+<tr id="i625" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/FrameIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">FrameIndexingSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class implements the frame indexing functionality inside Spark.</div>
 </th>
 </tr>
-<tr id="i618" class="altColor">
+<tr id="i626" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/FrameMetadata.html" title="class in org.apache.sysds.api.mlcontext">FrameMetadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Frame metadata, such as the number of rows, the number of columns, the number
@@ -3040,201 +3076,201 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  per block in the frame.</div>
 </th>
 </tr>
-<tr id="i619" class="rowColor">
+<tr id="i627" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/FrameObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">FrameObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i620" class="altColor">
+<tr id="i628" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDAggregateUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i621" class="rowColor">
+<tr id="i629" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i622" class="altColor">
+<tr id="i630" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils.LongFrameToLongWritableFrameFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i623" class="rowColor">
+<tr id="i631" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils.LongWritableFrameToLongFrameFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i624" class="altColor">
+<tr id="i632" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableTextToLongTextFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils.LongWritableTextToLongTextFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i625" class="rowColor">
+<tr id="i633" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/FrameRDDConverterUtils.LongWritableToSerFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">FrameRDDConverterUtils.LongWritableToSerFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i626" class="altColor">
+<tr id="i634" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReader.html" title="class in org.apache.sysds.runtime.io">FrameReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all format-specific frame readers.</div>
 </th>
 </tr>
-<tr id="i627" class="rowColor">
+<tr id="i635" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io">FrameReaderBinaryBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame binary block reader.</div>
 </th>
 </tr>
-<tr id="i628" class="altColor">
+<tr id="i636" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">FrameReaderBinaryBlockParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Multi-threaded frame binary block reader.</div>
 </th>
 </tr>
-<tr id="i629" class="rowColor">
+<tr id="i637" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderFactory.html" title="class in org.apache.sysds.runtime.io">FrameReaderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i630" class="altColor">
+<tr id="i638" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderJSONL.html" title="class in org.apache.sysds.runtime.io">FrameReaderJSONL</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i631" class="rowColor">
+<tr id="i639" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderJSONLParallel.html" title="class in org.apache.sysds.runtime.io">FrameReaderJSONLParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i632" class="altColor">
+<tr id="i640" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderProto.html" title="class in org.apache.sysds.runtime.io">FrameReaderProto</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i633" class="rowColor">
+<tr id="i641" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderTextCell.html" title="class in org.apache.sysds.runtime.io">FrameReaderTextCell</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame textcell reader.</div>
 </th>
 </tr>
-<tr id="i634" class="altColor">
+<tr id="i642" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderTextCellParallel.html" title="class in org.apache.sysds.runtime.io">FrameReaderTextCellParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Multi-threaded frame textcell reader.</div>
 </th>
 </tr>
-<tr id="i635" class="rowColor">
+<tr id="i643" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderTextCSV.html" title="class in org.apache.sysds.runtime.io">FrameReaderTextCSV</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame text csv reader.</div>
 </th>
 </tr>
-<tr id="i636" class="altColor">
+<tr id="i644" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameReaderTextCSVParallel.html" title="class in org.apache.sysds.runtime.io">FrameReaderTextCSVParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Multi-threaded frame text csv reader.</div>
 </th>
 </tr>
-<tr id="i637" class="rowColor">
+<tr id="i645" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/FrameReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">FrameReblockBuffer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i638" class="altColor">
+<tr id="i646" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/FrameSchema.html" title="class in org.apache.sysds.api.mlcontext">FrameSchema</a></td>
 <th class="colLast" scope="row">
 <div class="block">The frame schema, stored as a list of <code>ValueType</code> values.</div>
 </th>
 </tr>
-<tr id="i639" class="rowColor">
+<tr id="i647" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriter.html" title="class in org.apache.sysds.runtime.io">FrameWriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all format-specific frame writers.</div>
 </th>
 </tr>
-<tr id="i640" class="altColor">
+<tr id="i648" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterBinaryBlock.html" title="class in org.apache.sysds.runtime.io">FrameWriterBinaryBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame binary block writer.</div>
 </th>
 </tr>
-<tr id="i641" class="rowColor">
+<tr id="i649" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">FrameWriterBinaryBlockParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Multi-threaded frame binary block writer.</div>
 </th>
 </tr>
-<tr id="i642" class="altColor">
+<tr id="i650" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterFactory.html" title="class in org.apache.sysds.runtime.io">FrameWriterFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i643" class="rowColor">
+<tr id="i651" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterJSONL.html" title="class in org.apache.sysds.runtime.io">FrameWriterJSONL</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i644" class="altColor">
+<tr id="i652" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterJSONLParallel.html" title="class in org.apache.sysds.runtime.io">FrameWriterJSONLParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i645" class="rowColor">
+<tr id="i653" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterProto.html" title="class in org.apache.sysds.runtime.io">FrameWriterProto</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i646" class="altColor">
+<tr id="i654" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterTextCell.html" title="class in org.apache.sysds.runtime.io">FrameWriterTextCell</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame text cell writer.</div>
 </th>
 </tr>
-<tr id="i647" class="rowColor">
+<tr id="i655" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">FrameWriterTextCellParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Multi-threaded frame text cell writer.</div>
 </th>
 </tr>
-<tr id="i648" class="altColor">
+<tr id="i656" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterTextCSV.html" title="class in org.apache.sysds.runtime.io">FrameWriterTextCSV</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame text csv writer.</div>
 </th>
 </tr>
-<tr id="i649" class="rowColor">
+<tr id="i657" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/FrameWriterTextCSVParallel.html" title="class in org.apache.sysds.runtime.io">FrameWriterTextCSVParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Single-threaded frame text csv writer.</div>
 </th>
 </tr>
-<tr id="i650" class="altColor">
+<tr id="i658" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FTypes.html" title="class in org.apache.sysds.hops.fedplanner">FTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i651" class="rowColor">
+<tr id="i659" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FTypes.AlignType.html" title="enum in org.apache.sysds.hops.fedplanner">FTypes.AlignType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i652" class="altColor">
+<tr id="i660" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FTypes.FederatedPlanner.html" title="enum in org.apache.sysds.hops.fedplanner">FTypes.FederatedPlanner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i653" class="rowColor">
+<tr id="i661" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FTypes.FPartitioning.html" title="enum in org.apache.sysds.hops.fedplanner">FTypes.FPartitioning</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i654" class="altColor">
+<tr id="i662" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FTypes.FReplication.html" title="enum in org.apache.sysds.hops.fedplanner">FTypes.FReplication</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i655" class="rowColor">
+<tr id="i663" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/FTypes.FType.html" title="enum in org.apache.sysds.hops.fedplanner">FTypes.FType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i656" class="altColor">
+<tr id="i664" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/FunctionCallCP.html" title="class in org.apache.sysds.lops">FunctionCallCP</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i657" class="rowColor">
+<tr id="i665" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/FunctionCallCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">FunctionCallCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i658" class="altColor">
+<tr id="i666" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/FunctionCallGraph.html" title="class in org.apache.sysds.hops.ipa">FunctionCallGraph</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i659" class="rowColor">
+<tr id="i667" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/FunctionCallIdentifier.html" title="class in org.apache.sysds.parser">FunctionCallIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i660" class="altColor">
+<tr id="i668" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/FunctionCallSizeInfo.html" title="class in org.apache.sysds.hops.ipa">FunctionCallSizeInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Auxiliary data structure to hold function call summaries in terms
@@ -3242,458 +3278,468 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  consistent sparsity, and dimension-preserving functions.</div>
 </th>
 </tr>
-<tr id="i661" class="rowColor">
+<tr id="i669" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/FunctionDictionary.html" title="class in org.apache.sysds.parser">FunctionDictionary</a>&lt;<a href="org/apache/sysds/parser/FunctionDictionary.html" title="type parameter in FunctionDictionary">T</a> extends <a href="org/apache/sysds/common/Types.FunctionBlock.html" title="interface in org.apache.sysds.common">Types.FunctionBlock</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Dictionary of all functions of a namespace, represented as a simple
  key-value map of function names and function statement blocks.</div>
 </th>
 </tr>
-<tr id="i662" class="altColor">
+<tr id="i670" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/FunctionObject.html" title="class in org.apache.sysds.runtime.functionobjects">FunctionObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i663" class="rowColor">
+<tr id="i671" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/FunctionOp.html" title="class in org.apache.sysds.hops">FunctionOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">This FunctionOp represents the call to a DML-bodied or external function.</div>
 </th>
 </tr>
-<tr id="i664" class="altColor">
+<tr id="i672" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/FunctionOp.FunctionType.html" title="enum in org.apache.sysds.hops">FunctionOp.FunctionType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i665" class="rowColor">
+<tr id="i673" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/FunctionProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">FunctionProgramBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i666" class="altColor">
+<tr id="i674" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/FunctionStatement.html" title="class in org.apache.sysds.parser">FunctionStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i667" class="rowColor">
+<tr id="i675" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/FunctionStatementBlock.html" title="class in org.apache.sysds.parser">FunctionStatementBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i668" class="altColor">
+<tr id="i676" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/GenerateReader.html" title="class in org.apache.sysds.runtime.iogen">GenerateReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i669" class="rowColor">
+<tr id="i677" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/GenerateReader.GenerateReaderFrame.html" title="class in org.apache.sysds.runtime.iogen">GenerateReader.GenerateReaderFrame</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i670" class="altColor">
+<tr id="i678" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/GenerateReader.GenerateReaderMatrix.html" title="class in org.apache.sysds.runtime.iogen">GenerateReader.GenerateReaderMatrix</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i671" class="rowColor">
+<tr id="i679" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/GetMIMBFromRow.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">GetMIMBFromRow</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i672" class="altColor">
+<tr id="i680" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a context per GPU accessible through the same JVM.</div>
 </th>
 </tr>
-<tr id="i673" class="rowColor">
+<tr id="i681" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContextPool.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContextPool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i674" class="altColor">
+<tr id="i682" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">GPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i675" class="rowColor">
+<tr id="i683" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/GPUInstruction.GPUINSTRUCTION_TYPE.html" title="enum in org.apache.sysds.runtime.instructions.gpu">GPUInstruction.GPUINSTRUCTION_TYPE</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i676" class="altColor">
+<tr id="i684" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/GPUInstructionParser.html" title="class in org.apache.sysds.runtime.instructions">GPUInstructionParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i677" class="rowColor">
+<tr id="i685" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPULazyCudaFreeMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPULazyCudaFreeMemoryManager</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i678" class="altColor">
+<tr id="i686" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMatrixMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMatrixMemoryManager</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i679" class="rowColor">
+<tr id="i687" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryAllocator.html" title="interface in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryAllocator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i680" class="altColor">
+<tr id="i688" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryEviction.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryEviction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i681" class="rowColor">
+<tr id="i689" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryManager</a></td>
 <th class="colLast" scope="row">
 <div class="block">- All cudaFree and cudaMalloc in SystemDS should go through this class to avoid OOM or incorrect results.</div>
 </th>
 </tr>
-<tr id="i682" class="altColor">
+<tr id="i690" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUMemoryManager.EvictionPolicyBasedComparator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUMemoryManager.EvictionPolicyBasedComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class that governs the eviction policy</div>
 </th>
 </tr>
-<tr id="i683" class="rowColor">
+<tr id="i691" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Handle to a matrix block on the GPU</div>
 </th>
 </tr>
-<tr id="i684" class="altColor">
+<tr id="i692" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/GPUStatistics.html" title="class in org.apache.sysds.utils">GPUStatistics</a></td>
 <th class="colLast" scope="row">
 <div class="block">Measures performance numbers when GPU mode is enabled
  Printed as part of <a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils"><code>Statistics</code></a>.</div>
 </th>
 </tr>
-<tr id="i685" class="rowColor">
+<tr id="i693" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/GreaterThan.html" title="class in org.apache.sysds.runtime.functionobjects">GreaterThan</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i686" class="altColor">
+<tr id="i694" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/GreaterThanEquals.html" title="class in org.apache.sysds.runtime.functionobjects">GreaterThanEquals</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i687" class="rowColor">
+<tr id="i695" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/GroupedAggregate.html" title="class in org.apache.sysds.lops">GroupedAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform grouped aggregates</div>
 </th>
 </tr>
-<tr id="i688" class="altColor">
+<tr id="i696" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/GroupedAggregateM.html" title="class in org.apache.sysds.lops">GroupedAggregateM</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform mr map-side grouped aggregates 
  (restriction: sum, w/o weights, ngroups), groups broadcasted</div>
 </th>
 </tr>
-<tr id="i689" class="rowColor">
+<tr id="i697" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/GroupedAggregateM.CacheType.html" title="enum in org.apache.sysds.lops">GroupedAggregateM.CacheType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i690" class="altColor">
+<tr id="i698" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5.html" title="class in org.apache.sysds.runtime.io.hdf5">H5</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i691" class="rowColor">
+<tr id="i699" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5BTree.html" title="class in org.apache.sysds.runtime.io.hdf5">H5BTree</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i692" class="altColor">
+<tr id="i700" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5BufferBuilder.html" title="class in org.apache.sysds.runtime.io.hdf5">H5BufferBuilder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i693" class="rowColor">
+<tr id="i701" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5Constants.html" title="class in org.apache.sysds.runtime.io.hdf5">H5Constants</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i694" class="altColor">
+<tr id="i702" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5ContiguousDataset.html" title="class in org.apache.sysds.runtime.io.hdf5">H5ContiguousDataset</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i695" class="rowColor">
+<tr id="i703" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5DataLayoutMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5DataLayoutMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i696" class="altColor">
+<tr id="i704" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5DataSpaceMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5DataSpaceMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i697" class="rowColor">
+<tr id="i705" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5DataTypeMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5DataTypeMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i698" class="altColor">
+<tr id="i706" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5DoubleDataType.html" title="class in org.apache.sysds.runtime.io.hdf5">H5DoubleDataType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i699" class="rowColor">
+<tr id="i707" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5FillValueMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5FillValueMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i700" class="altColor">
+<tr id="i708" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5GroupSymbolTableNode.html" title="class in org.apache.sysds.runtime.io.hdf5">H5GroupSymbolTableNode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i701" class="rowColor">
+<tr id="i709" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5LocalHeap.html" title="class in org.apache.sysds.runtime.io.hdf5">H5LocalHeap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i702" class="altColor">
+<tr id="i710" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5Message.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5Message</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i703" class="rowColor">
+<tr id="i711" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5NilMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5NilMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i704" class="altColor">
+<tr id="i712" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5ObjectHeader.html" title="class in org.apache.sysds.runtime.io.hdf5">H5ObjectHeader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i705" class="rowColor">
+<tr id="i713" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5ObjectModificationTimeMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5ObjectModificationTimeMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i706" class="altColor">
+<tr id="i714" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5RootObject.html" title="class in org.apache.sysds.runtime.io.hdf5">H5RootObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i707" class="rowColor">
+<tr id="i715" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5RuntimeException.html" title="class in org.apache.sysds.runtime.io.hdf5">H5RuntimeException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i708" class="altColor">
+<tr id="i716" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5Superblock.html" title="class in org.apache.sysds.runtime.io.hdf5">H5Superblock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i709" class="rowColor">
+<tr id="i717" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/H5SymbolTableEntry.html" title="class in org.apache.sysds.runtime.io.hdf5">H5SymbolTableEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i710" class="altColor">
+<tr id="i718" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/message/H5SymbolTableMessage.html" title="class in org.apache.sysds.runtime.io.hdf5.message">H5SymbolTableMessage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i711" class="rowColor">
+<tr id="i719" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/Hash.html" title="class in org.apache.sysds.utils">Hash</a></td>
 <th class="colLast" scope="row">
 <div class="block">A class containing different hashing functions.</div>
 </th>
 </tr>
-<tr id="i712" class="altColor">
+<tr id="i720" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/Hash.HashType.html" title="enum in org.apache.sysds.utils">Hash.HashType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Available Hashing techniques</div>
 </th>
 </tr>
-<tr id="i713" class="rowColor">
+<tr id="i721" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html" title="class in org.apache.sysds.runtime.compress.estim.sample">HassAndStokes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i714" class="altColor">
+<tr id="i722" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i715" class="rowColor">
+<tr id="i723" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/HEParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">HEParamServer</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class implements Homomorphic Encryption (HE) for LocalParamServer.</div>
+</th>
+</tr>
+<tr id="i724" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i716" class="altColor">
+<tr id="i725" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/HopDagValidator.html" title="class in org.apache.sysds.hops.rewrite">HopDagValidator</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class allows to check hop dags for validity, e.g., parent-child linking.</div>
 </th>
 </tr>
-<tr id="i717" class="rowColor">
+<tr id="i726" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/HopRel.html" title="class in org.apache.sysds.hops.cost">HopRel</a></td>
 <th class="colLast" scope="row">
 <div class="block">HopRel provides a representation of the relation between a hop, the cost of setting a given FederatedOutput value,
  and the input dependency with the given FederatedOutput value.</div>
 </th>
 </tr>
-<tr id="i718" class="altColor">
+<tr id="i727" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/HopRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all hop rewrites in order to enable generic
  application of all rules.</div>
 </th>
 </tr>
-<tr id="i719" class="rowColor">
+<tr id="i728" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i720" class="altColor">
+<tr id="i729" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/HopsException.html" title="class in org.apache.sysds.hops">HopsException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception occurring in the HOP level.</div>
 </th>
 </tr>
-<tr id="i721" class="rowColor">
+<tr id="i730" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/HybridCostEstimator.html" title="class in org.apache.sysds.runtime.compress.cost">HybridCostEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i722" class="altColor">
+<tr id="i731" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/IController.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">IController</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i732" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i723" class="rowColor">
+<tr id="i733" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDHandler.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDHandler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Functionalities for extracting numeric IDs from Hadoop taskIDs and other
  things related to modification of IDs.</div>
 </th>
 </tr>
-<tr id="i724" class="altColor">
+<tr id="i734" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDSequence</a></td>
 <th class="colLast" scope="row">
 <div class="block">ID sequence for generating unique long identifiers with start 0 and increment 1.</div>
 </th>
 </tr>
-<tr id="i725" class="rowColor">
+<tr id="i735" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/encoding/IEncode.html" title="interface in org.apache.sysds.runtime.compress.estim.encoding">IEncode</a></td>
 <th class="colLast" scope="row">
 <div class="block">This interface covers an intermediate encoding for the samples to improve the efficiency of the joining of sample
  column groups.</div>
 </th>
 </tr>
-<tr id="i726" class="altColor">
+<tr id="i736" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/IfElse.html" title="class in org.apache.sysds.runtime.functionobjects">IfElse</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i727" class="rowColor">
+<tr id="i737" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/IfProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">IfProgramBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i728" class="altColor">
+<tr id="i738" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/IfStatement.html" title="class in org.apache.sysds.parser">IfStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i729" class="rowColor">
+<tr id="i739" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/IfStatementBlock.html" title="class in org.apache.sysds.parser">IfStatementBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i730" class="altColor">
+<tr id="i740" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/IJV.html" title="class in org.apache.sysds.runtime.matrix.data">IJV</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper class for external key/value exchange.</div>
 </th>
 </tr>
-<tr id="i731" class="rowColor">
+<tr id="i741" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/compile/linearization/ILinearize.html" title="interface in org.apache.sysds.lops.compile.linearization">ILinearize</a></td>
 <th class="colLast" scope="row">
 <div class="block">A interface for the linearization algorithms that order the DAG nodes into a sequence of instructions to execute.</div>
 </th>
 </tr>
-<tr id="i732" class="altColor">
+<tr id="i742" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/compile/linearization/ILinearize.DagLinearization.html" title="enum in org.apache.sysds.lops.compile.linearization">ILinearize.DagLinearization</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i733" class="rowColor">
+<tr id="i743" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ImportStatement.html" title="class in org.apache.sysds.parser">ImportStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i734" class="altColor">
+<tr id="i744" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/IndexedIdentifier.html" title="class in org.apache.sysds.parser">IndexedIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i735" class="rowColor">
+<tr id="i745" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/IndexedMatrixValue.html" title="class in org.apache.sysds.runtime.instructions.spark.data">IndexedMatrixValue</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i736" class="altColor">
+<tr id="i746" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/IndexedTensorBlock.html" title="class in org.apache.sysds.runtime.data">IndexedTensorBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i737" class="rowColor">
+<tr id="i747" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/IndexFunction.html" title="class in org.apache.sysds.runtime.functionobjects">IndexFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i738" class="altColor">
+<tr id="i748" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/IndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">IndexingCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i739" class="rowColor">
+<tr id="i749" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/IndexingFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">IndexingFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i740" class="altColor">
+<tr id="i750" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/IndexingOp.html" title="class in org.apache.sysds.hops">IndexingOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i741" class="rowColor">
+<tr id="i751" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/IndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">IndexingSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class implements the matrix indexing functionality inside Spark.</div>
 </th>
 </tr>
-<tr id="i742" class="altColor">
+<tr id="i752" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/IndexRange.html" title="class in org.apache.sysds.runtime.util">IndexRange</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i743" class="rowColor">
+<tr id="i753" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/InfrastructureAnalyzer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">InfrastructureAnalyzer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Central place for analyzing and obtaining static infrastructure properties
  such as memory and number of logical processors.</div>
 </th>
 </tr>
-<tr id="i744" class="altColor">
+<tr id="i754" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/InitFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">InitFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i745" class="rowColor">
+<tr id="i755" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/InputOutputInfo.html" title="class in org.apache.sysds.runtime.io">InputOutputInfo</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i746" class="altColor">
+<tr id="i756" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/InputStreamInputFormat.html" title="class in org.apache.sysds.runtime.util">InputStreamInputFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Custom input format and record reader to redirect common implementation of csv read 
  over record readers (which are required for the parallel readers) to an input stream.</div>
 </th>
 </tr>
-<tr id="i747" class="rowColor">
+<tr id="i757" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/insertionsort/InsertionSorterFactory.html" title="interface in org.apache.sysds.runtime.compress.colgroup.insertionsort">InsertionSorterFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i748" class="altColor">
+<tr id="i758" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/insertionsort/InsertionSorterFactory.SORT_TYPE.html" title="enum in org.apache.sysds.runtime.compress.colgroup.insertionsort">InsertionSorterFactory.SORT_TYPE</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i749" class="rowColor">
+<tr id="i759" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/InstallDependencyForIntegrationTests.html" title="class in org.apache.sysds.utils">InstallDependencyForIntegrationTests</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class will be used to setup dependency on Eclipse environment as well as on Jenkins server</div>
 </th>
 </tr>
-<tr id="i750" class="altColor">
+<tr id="i760" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/Instruction.html" title="class in org.apache.sysds.runtime.instructions">Instruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i751" class="rowColor">
+<tr id="i761" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/Instruction.IType.html" title="enum in org.apache.sysds.runtime.instructions">Instruction.IType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i752" class="altColor">
+<tr id="i762" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/InstructionParser.html" title="class in org.apache.sysds.runtime.instructions">InstructionParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i753" class="rowColor">
+<tr id="i763" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/InstructionTypeCounter.html" title="class in org.apache.sysds.runtime.compress.cost">InstructionTypeCounter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i754" class="altColor">
+<tr id="i764" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/InstructionUtils.html" title="class in org.apache.sysds.runtime.instructions">InstructionUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i755" class="rowColor">
+<tr id="i765" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/IntArrayList.html" title="class in org.apache.sysds.runtime.compress.utils">IntArrayList</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i756" class="altColor">
+<tr id="i766" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/IntegerDivide.html" title="class in org.apache.sysds.runtime.functionobjects">IntegerDivide</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i757" class="rowColor">
+<tr id="i767" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.html" title="class in org.apache.sysds.hops.codegen.opt">InterestingPoint</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interesting decision point with regard to materialization of intermediates.</div>
 </th>
 </tr>
-<tr id="i758" class="altColor">
+<tr id="i768" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/InterestingPoint.DecisionType.html" title="enum in org.apache.sysds.hops.codegen.opt">InterestingPoint.DecisionType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i759" class="rowColor">
+<tr id="i769" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/InterProceduralAnalysis.html" title="class in org.apache.sysds.hops.ipa">InterProceduralAnalysis</a></td>
 <th class="colLast" scope="row">
 <div class="block">This Inter Procedural Analysis (IPA) serves two major purposes:
@@ -3701,29 +3747,29 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
       functions and back into main program.</div>
 </th>
 </tr>
-<tr id="i760" class="altColor">
+<tr id="i770" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/IntIdentifier.html" title="class in org.apache.sysds.parser">IntIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i761" class="rowColor">
+<tr id="i771" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/IntObject.html" title="class in org.apache.sysds.runtime.instructions.cp">IntObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i762" class="altColor">
+<tr id="i772" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i763" class="rowColor">
+<tr id="i773" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/IOUtilFunctions.CountRowsTask.html" title="class in org.apache.sysds.runtime.io">IOUtilFunctions.CountRowsTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i764" class="altColor">
+<tr id="i774" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPass.html" title="class in org.apache.sysds.hops.ipa">IPAPass</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all IPA passes.</div>
 </th>
 </tr>
-<tr id="i765" class="rowColor">
+<tr id="i775" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassApplyStaticAndDynamicHopRewrites.html" title="class in org.apache.sysds.hops.ipa">IPAPassApplyStaticAndDynamicHopRewrites</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite applies static hop dag and statement block
@@ -3731,32 +3777,32 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  in order to simplify statistic propagation.</div>
 </th>
 </tr>
-<tr id="i766" class="altColor">
+<tr id="i776" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassCompressionWorkloadAnalysis.html" title="class in org.apache.sysds.hops.ipa">IPAPassCompressionWorkloadAnalysis</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite obtains workload summaries for all hops candidates amenable for compression as a basis for
  workload-aware compression planning.</div>
 </th>
 </tr>
-<tr id="i767" class="rowColor">
+<tr id="i777" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassEliminateDeadCode.html" title="class in org.apache.sysds.hops.ipa">IPAPassEliminateDeadCode</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite eliminates unnecessary sub-DAGs that produce
  transient write outputs which are never consumed subsequently.</div>
 </th>
 </tr>
-<tr id="i768" class="altColor">
+<tr id="i778" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassFlagFunctionsRecompileOnce.html" title="class in org.apache.sysds.hops.ipa">IPAPassFlagFunctionsRecompileOnce</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite marks functions with loops as recompile once
  in order to reduce recompilation overhead.</div>
 </th>
 </tr>
-<tr id="i769" class="rowColor">
+<tr id="i779" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassFlagNonDeterminism.html" title="class in org.apache.sysds.hops.ipa">IPAPassFlagNonDeterminism</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i770" class="altColor">
+<tr id="i780" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassForwardFunctionCalls.html" title="class in org.apache.sysds.hops.ipa">IPAPassForwardFunctionCalls</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite forwards a function call to a function with a simple
@@ -3764,21 +3810,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  into the original call location.</div>
 </th>
 </tr>
-<tr id="i771" class="rowColor">
+<tr id="i781" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassInlineFunctions.html" title="class in org.apache.sysds.hops.ipa">IPAPassInlineFunctions</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite inlines single statement block functions, which have fewer 
  operations than an internal threshold.</div>
 </th>
 </tr>
-<tr id="i772" class="altColor">
+<tr id="i782" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassPropagateReplaceLiterals.html" title="class in org.apache.sysds.hops.ipa">IPAPassPropagateReplaceLiterals</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite propagates and replaces literals into functions
  in order to enable subsequent rewrites such as branch removal.</div>
 </th>
 </tr>
-<tr id="i773" class="rowColor">
+<tr id="i783" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassRemoveConstantBinaryOps.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveConstantBinaryOps</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite identifies binary operations with constant matrices 
@@ -3786,14 +3832,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  before a loop.</div>
 </th>
 </tr>
-<tr id="i774" class="altColor">
+<tr id="i784" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnnecessaryCheckpoints.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnnecessaryCheckpoints</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite identifies and removes unnecessary checkpoints, i.e.,
  persisting of Spark RDDs into a given storage level.</div>
 </th>
 </tr>
-<tr id="i775" class="rowColor">
+<tr id="i785" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnusedFunctions</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite identifies and removes unused functions in order
@@ -3801,7 +3847,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  parfor worker creation, where we construct function copies.</div>
 </th>
 </tr>
-<tr id="i776" class="altColor">
+<tr id="i786" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassReplaceEvalFunctionCalls.html" title="class in org.apache.sysds.hops.ipa">IPAPassReplaceEvalFunctionCalls</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite applies static hop dag and statement block
@@ -3809,66 +3855,70 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  in order to simplify statistic propagation.</div>
 </th>
 </tr>
-<tr id="i777" class="rowColor">
+<tr id="i787" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ipa/IPAPassRewriteFederatedPlan.html" title="class in org.apache.sysds.hops.ipa">IPAPassRewriteFederatedPlan</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite generates a federated execution plan by estimating and setting costs and the FederatedOutput values of
  all relevant hops in the DML program.</div>
 </th>
 </tr>
-<tr id="i778" class="altColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInList</a></td>
+<tr id="i788" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/IRepository.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">IRepository</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i779" class="rowColor">
+<tr id="i789" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInList</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i790" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInRange</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i780" class="altColor">
+<tr id="i791" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsFrameBlockInRange</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i781" class="rowColor">
+<tr id="i792" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/IterablePredicate.html" title="class in org.apache.sysds.parser">IterablePredicate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i782" class="altColor">
+<tr id="i793" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/JCudaKernels.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">JCudaKernels</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i783" class="rowColor">
+<tr id="i794" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/jmlc/JMLCUtils.html" title="class in org.apache.sysds.api.jmlc">JMLCUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility class containing static methods for working with JMLC.</div>
 </th>
 </tr>
-<tr id="i784" class="altColor">
+<tr id="i795" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/JSONHelper.html" title="class in org.apache.sysds.utils">JSONHelper</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i785" class="rowColor">
+<tr id="i796" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/KahanFunction.html" title="class in org.apache.sysds.runtime.functionobjects">KahanFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Runtime function type to perform the summation of values using
  the Kahan summation algorithm.</div>
 </th>
 </tr>
-<tr id="i786" class="altColor">
+<tr id="i797" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/KahanObject.html" title="class in org.apache.sysds.runtime.instructions.cp">KahanObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i787" class="rowColor">
+<tr id="i798" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/KahanPlus.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i788" class="altColor">
+<tr id="i799" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/KahanPlusSq.html" title="class in org.apache.sysds.runtime.functionobjects">KahanPlusSq</a></td>
 <th class="colLast" scope="row">
 <div class="block">Runtime function to perform the summation of squared values using
  the Kahan summation algorithm.</div>
 </th>
 </tr>
-<tr id="i789" class="rowColor">
+<tr id="i800" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/KeepDataOnWorkerFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">KeepDataOnWorkerFederatedScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Keep Data on Worker Federated scheme
@@ -3876,7 +3926,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
 </th>
 </tr>
-<tr id="i790" class="altColor">
+<tr id="i801" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/sketch/countdistinctapprox/KMVSketch.html" title="class in org.apache.sysds.runtime.matrix.data.sketch.countdistinctapprox">KMVSketch</a></td>
 <th class="colLast" scope="row">
 <div class="block">KMV synopsis(for k minimum values) Distinct-Value Estimation
@@ -3884,17 +3934,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Kevin S.</div>
 </th>
 </tr>
-<tr id="i791" class="rowColor">
+<tr id="i802" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/LanguageException.html" title="class in org.apache.sysds.parser">LanguageException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Exception occurring at the Language level.</div>
 </th>
 </tr>
-<tr id="i792" class="altColor">
+<tr id="i803" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/LanguageException.LanguageErrorCodes.html" title="class in org.apache.sysds.parser">LanguageException.LanguageErrorCodes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i793" class="rowColor">
+<tr id="i804" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LazyIterableIterator</a>&lt;<a href="org/apache/sysds/runtime/instructions/spark/data/LazyIterableIterator.html" title="type parameter in LazyIterableIterator">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This class is a generic base class for lazy, single pass iterator classes 
@@ -3902,59 +3952,59 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  use cases.</div>
 </th>
 </tr>
-<tr id="i794" class="altColor">
+<tr id="i805" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.html" title="class in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i795" class="rowColor">
+<tr id="i806" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/LazyWriteBuffer.RPolicy.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">LazyWriteBuffer.RPolicy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i796" class="altColor">
+<tr id="i807" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/LeftIndex.html" title="class in org.apache.sysds.lops">LeftIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i797" class="rowColor">
+<tr id="i808" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/LeftIndex.LixCacheType.html" title="enum in org.apache.sysds.lops">LeftIndex.LixCacheType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i798" class="altColor">
+<tr id="i809" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/LeftIndexingOp.html" title="class in org.apache.sysds.hops">LeftIndexingOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i799" class="rowColor">
+<tr id="i810" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/LeftIndexingOp.LeftIndexingMethod.html" title="enum in org.apache.sysds.hops">LeftIndexingOp.LeftIndexingMethod</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i800" class="altColor">
+<tr id="i811" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/LeftScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">LeftScalarOperator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Scalar operator for scalar-matrix operations with scalar 
  on the left-hand-side.</div>
 </th>
 </tr>
-<tr id="i801" class="rowColor">
+<tr id="i812" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/LegacyEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">LegacyEncoder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all transform encoders providing both a row and block interface for decoding frames to matrices.</div>
 </th>
 </tr>
-<tr id="i802" class="altColor">
+<tr id="i813" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/LessThan.html" title="class in org.apache.sysds.runtime.functionobjects">LessThan</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i803" class="rowColor">
+<tr id="i814" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/LessThanEquals.html" title="class in org.apache.sysds.runtime.functionobjects">LessThanEquals</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i804" class="altColor">
+<tr id="i815" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibCommonsMath.html" title="class in org.apache.sysds.runtime.matrix.data">LibCommonsMath</a></td>
 <th class="colLast" scope="row">
 <div class="block">Library for matrix operations that need invocation of 
  Apache Commons Math library.</div>
 </th>
 </tr>
-<tr id="i805" class="rowColor">
+<tr id="i816" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixAgg</a></td>
 <th class="colLast" scope="row">
 <div class="block">MB:
@@ -3962,35 +4012,35 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  combinations of dense and sparse representations, and corrections.</div>
 </th>
 </tr>
-<tr id="i806" class="altColor">
+<tr id="i817" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixBincell</a></td>
 <th class="colLast" scope="row">
 <div class="block">Library for binary cellwise operations (incl arithmetic, relational, etc).</div>
 </th>
 </tr>
-<tr id="i807" class="rowColor">
+<tr id="i818" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixBincell.BinaryAccessType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixBincell.BinaryAccessType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i808" class="altColor">
+<tr id="i819" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCountDistinct.html" title="interface in org.apache.sysds.runtime.matrix.data">LibMatrixCountDistinct</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains various methods for counting the number of distinct values inside a MatrixBlock</div>
 </th>
 </tr>
-<tr id="i809" class="rowColor">
+<tr id="i820" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCUDA.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCUDA</a></td>
 <th class="colLast" scope="row">
 <div class="block">All CUDA kernels and library calls are redirected through this class</div>
 </th>
 </tr>
-<tr id="i810" class="altColor">
+<tr id="i821" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNN.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNN</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains method that invoke CuDNN operations.</div>
 </th>
 </tr>
-<tr id="i811" class="rowColor">
+<tr id="i822" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNConvolutionAlgorithm.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNNConvolutionAlgorithm</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class is a wrapper that contain necessary data structures to invoke 
@@ -3999,13 +4049,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  It implements autocloseable to simplify the LibMatrixCuDNN code and also avoids potential memory leaks.</div>
 </th>
 </tr>
-<tr id="i812" class="altColor">
+<tr id="i823" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNInputRowFetcher.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNNInputRowFetcher</a></td>
 <th class="colLast" scope="row">
 <div class="block">Performs a slice operation: out = in[(n+1):(n+1), 1:numColumns]</div>
 </th>
 </tr>
-<tr id="i813" class="rowColor">
+<tr id="i824" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNPoolingDescriptors.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNNPoolingDescriptors</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class is a wrapper that contain necessary data structures to invoke 
@@ -4014,71 +4064,71 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  It implements autocloseable to simplify the LibMatrixCuDNN code and also avoids potential memory leaks.</div>
 </th>
 </tr>
-<tr id="i814" class="altColor">
+<tr id="i825" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuDNNRnnAlgorithm.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuDNNRnnAlgorithm</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i815" class="rowColor">
+<tr id="i826" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixCuMatMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixCuMatMult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i816" class="altColor">
+<tr id="i827" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDatagen.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDatagen</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i817" class="rowColor">
+<tr id="i828" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNN.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNN</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i818" class="altColor">
+<tr id="i829" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixDNN.PoolingType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i819" class="rowColor">
+<tr id="i830" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNConv2d.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNConv2d</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains the set of operators used for performing conv2d</div>
 </th>
 </tr>
-<tr id="i820" class="altColor">
+<tr id="i831" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNHelper.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNHelper</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i821" class="rowColor">
+<tr id="i832" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNIm2Col.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNIm2Col</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains the different implementation of im2col operation</div>
 </th>
 </tr>
-<tr id="i822" class="altColor">
+<tr id="i833" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNPooling.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNPooling</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains the set of operators used for performing pooling</div>
 </th>
 </tr>
-<tr id="i823" class="rowColor">
+<tr id="i834" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRelu</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains the different implementation of rotate180 operation</div>
 </th>
 </tr>
-<tr id="i824" class="altColor">
+<tr id="i835" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRelu.ReluBackward.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRelu.ReluBackward</a></td>
 <th class="colLast" scope="row">
 <div class="block">Performs the operation: (X gt 0) * dout</div>
 </th>
 </tr>
-<tr id="i825" class="rowColor">
+<tr id="i836" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRotate180</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class contains the different implementation of rotate180 operation</div>
 </th>
 </tr>
-<tr id="i826" class="altColor">
+<tr id="i837" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNNRotate180.Rotate180Worker.html" title="interface in org.apache.sysds.runtime.matrix.data">LibMatrixDNNRotate180.Rotate180Worker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i827" class="rowColor">
+<tr id="i838" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixMult.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixMult</a></td>
 <th class="colLast" scope="row">
 <div class="block">MB: Library for matrix multiplications including MM, MV, VV for all
@@ -4086,18 +4136,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  operations such as transpose-self matrix multiplication.</div>
 </th>
 </tr>
-<tr id="i828" class="altColor">
+<tr id="i839" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixNative</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i829" class="rowColor">
+<tr id="i840" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixOuterAgg</a></td>
 <th class="colLast" scope="row">
 <div class="block">ACS:
  Purpose of this library is to make some of the unary outer aggregate operator more efficient.</div>
 </th>
 </tr>
-<tr id="i830" class="altColor">
+<tr id="i841" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixReorg</a></td>
 <th class="colLast" scope="row">
 <div class="block">MB:
@@ -4105,495 +4155,499 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  and all combinations of dense and sparse representations.</div>
 </th>
 </tr>
-<tr id="i831" class="rowColor">
+<tr id="i842" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixTercell.html" title="class in org.apache.sysds.runtime.matrix.data">LibMatrixTercell</a></td>
 <th class="colLast" scope="row">
 <div class="block">Library for ternary cellwise operations.</div>
 </th>
 </tr>
-<tr id="i832" class="altColor">
+<tr id="i843" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/LibSpoofPrimitives.html" title="class in org.apache.sysds.runtime.codegen">LibSpoofPrimitives</a></td>
 <th class="colLast" scope="row">
 <div class="block">This library contains all vector primitives that are used in 
  generated source code for fused operators.</div>
 </th>
 </tr>
-<tr id="i833" class="rowColor">
+<tr id="i844" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/LIBSVMReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">LIBSVMReblockSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i834" class="altColor">
+<tr id="i845" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/LibTensorAgg.html" title="class in org.apache.sysds.runtime.data">LibTensorAgg</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i835" class="rowColor">
+<tr id="i846" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/LibTensorBincell.html" title="class in org.apache.sysds.runtime.data">LibTensorBincell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i836" class="altColor">
+<tr id="i847" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/LibTensorReorg.html" title="class in org.apache.sysds.runtime.data">LibTensorReorg</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i837" class="rowColor">
+<tr id="i848" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/Lineage.html" title="class in org.apache.sysds.runtime.lineage">Lineage</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i838" class="altColor">
+<tr id="i849" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCache.html" title="class in org.apache.sysds.runtime.lineage">LineageCache</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i839" class="rowColor">
+<tr id="i850" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheConfig</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i840" class="altColor">
+<tr id="i851" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.LineageCachePolicy.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.LineageCachePolicy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i841" class="rowColor">
+<tr id="i852" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCacheConfig.ReuseCacheType.html" title="enum in org.apache.sysds.runtime.lineage">LineageCacheConfig.ReuseCacheType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i842" class="altColor">
+<tr id="i853" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCacheEntry.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i843" class="rowColor">
+<tr id="i854" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCacheEviction.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheEviction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i844" class="altColor">
+<tr id="i855" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCacheStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageCacheStatistics</a></td>
 <th class="colLast" scope="row">
 <div class="block">This singleton provides basic lineage caching statistics in CP.</div>
 </th>
 </tr>
-<tr id="i845" class="rowColor">
+<tr id="i856" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageCodegenItem.html" title="class in org.apache.sysds.runtime.lineage">LineageCodegenItem</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i846" class="altColor">
+<tr id="i857" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageDebugger.html" title="class in org.apache.sysds.runtime.lineage">LineageDebugger</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i847" class="rowColor">
+<tr id="i858" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageDedupBlock.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i848" class="altColor">
+<tr id="i859" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageDedupUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageDedupUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i849" class="rowColor">
+<tr id="i860" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageEstimator.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i850" class="altColor">
+<tr id="i861" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageEstimatorStatistics.html" title="class in org.apache.sysds.runtime.lineage">LineageEstimatorStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i851" class="rowColor">
+<tr id="i862" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageGPUCacheEviction.html" title="class in org.apache.sysds.runtime.lineage">LineageGPUCacheEviction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i852" class="altColor">
+<tr id="i863" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageItem.html" title="class in org.apache.sysds.runtime.lineage">LineageItem</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i853" class="rowColor">
+<tr id="i864" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageItem.LineageItemType.html" title="enum in org.apache.sysds.runtime.lineage">LineageItem.LineageItemType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i854" class="altColor">
+<tr id="i865" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i855" class="rowColor">
+<tr id="i866" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageMap.html" title="class in org.apache.sysds.runtime.lineage">LineageMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i856" class="altColor">
+<tr id="i867" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/LineageObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">LineageObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i857" class="rowColor">
+<tr id="i868" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageParser.html" title="class in org.apache.sysds.runtime.lineage">LineageParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i858" class="altColor">
+<tr id="i869" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageRecomputeUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageRecomputeUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i859" class="rowColor">
+<tr id="i870" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageRewriteReuse.html" title="class in org.apache.sysds.runtime.lineage">LineageRewriteReuse</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i860" class="altColor">
+<tr id="i871" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageTokenizer.html" title="class in org.apache.sysds.runtime.lineage">LineageTokenizer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i861" class="rowColor">
+<tr id="i872" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/lineage/LineageTraceable.html" title="interface in org.apache.sysds.runtime.lineage">LineageTraceable</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i862" class="altColor">
+<tr id="i873" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/ListAppendPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListAppendPropagator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i863" class="rowColor">
+<tr id="i874" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ListAppendRemoveCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListAppendRemoveCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i864" class="altColor">
+<tr id="i875" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ListIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ListIndexingCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i865" class="rowColor">
+<tr id="i876" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i866" class="altColor">
+<tr id="i877" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ListReader.html" title="class in org.apache.sysds.runtime.io">ListReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i867" class="rowColor">
+<tr id="i878" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/ListRemovePropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">ListRemovePropagator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i868" class="altColor">
+<tr id="i879" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ListWriter.html" title="class in org.apache.sysds.runtime.io">ListWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i869" class="rowColor">
+<tr id="i880" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/LiteralOp.html" title="class in org.apache.sysds.hops">LiteralOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i870" class="altColor">
+<tr id="i881" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/recompile/LiteralReplacement.html" title="class in org.apache.sysds.hops.recompile">LiteralReplacement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i871" class="rowColor">
+<tr id="i882" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/LiveVariableAnalysis.html" title="class in org.apache.sysds.parser">LiveVariableAnalysis</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i872" class="altColor">
+<tr id="i883" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Local.html" title="class in org.apache.sysds.lops">Local</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i873" class="rowColor">
+<tr id="i884" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/LocalCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">LocalCPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">A simple instruction that take whatever input it is and return it as a local matrix.</div>
 </th>
 </tr>
-<tr id="i874" class="altColor">
+<tr id="i885" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/LocalDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">LocalDataPartitioner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i875" class="rowColor">
+<tr id="i886" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/LocalFileUtils.html" title="class in org.apache.sysds.runtime.util">LocalFileUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i876" class="altColor">
+<tr id="i887" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalParamServer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i877" class="rowColor">
+<tr id="i888" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/LocalParWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">LocalParWorker</a></td>
 <th class="colLast" scope="row">
 <div class="block">Instances of this class can be used to execute tasks in parallel.</div>
 </th>
 </tr>
-<tr id="i878" class="altColor">
+<tr id="i889" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">LocalPSWorker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i879" class="rowColor">
+<tr id="i890" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">LocalTaskQueue</a>&lt;<a href="org/apache/sysds/runtime/controlprogram/parfor/LocalTaskQueue.html" title="type parameter in LocalTaskQueue">T</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This class provides a way of dynamic task distribution to multiple workers
  in local multi-threaded environments.</div>
 </th>
 </tr>
-<tr id="i880" class="altColor">
+<tr id="i891" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/LocalVariableMap.html" title="class in org.apache.sysds.runtime.controlprogram">LocalVariableMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">Replaces <code>HashMap&lang;String, Data&rang;</code> as the table of
  variable names and references.</div>
 </th>
 </tr>
-<tr id="i881" class="rowColor">
+<tr id="i892" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.html" title="class in org.apache.sysds.runtime.util">LongLongDoubleHashMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">This native long long - double hashmap is specifically designed for
  ctable operations which only require addvalue - extract semantics.</div>
 </th>
 </tr>
-<tr id="i882" class="altColor">
+<tr id="i893" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.ADoubleEntry.html" title="class in org.apache.sysds.runtime.util">LongLongDoubleHashMap.ADoubleEntry</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i883" class="rowColor">
+<tr id="i894" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/LongLongDoubleHashMap.EntryType.html" title="enum in org.apache.sysds.runtime.util">LongLongDoubleHashMap.EntryType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i884" class="altColor">
+<tr id="i895" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all Lops.</div>
 </th>
 </tr>
-<tr id="i885" class="rowColor">
+<tr id="i896" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Lop.SimpleInstType.html" title="enum in org.apache.sysds.lops">Lop.SimpleInstType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop types</div>
 </th>
 </tr>
-<tr id="i886" class="altColor">
+<tr id="i897" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Lop.Type.html" title="enum in org.apache.sysds.lops">Lop.Type</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i887" class="rowColor">
+<tr id="i898" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Lop.VisitStatus.html" title="enum in org.apache.sysds.lops">Lop.VisitStatus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i888" class="altColor">
+<tr id="i899" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/compile/LopComparator.html" title="class in org.apache.sysds.lops.compile">LopComparator</a>&lt;<a href="org/apache/sysds/lops/compile/LopComparator.html" title="type parameter in LopComparator">N</a> extends <a href="org/apache/sysds/lops/Lop.html" title="class in org.apache.sysds.lops">Lop</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">Comparator class used in sorting the LopDAG in topological order.</div>
 </th>
 </tr>
-<tr id="i889" class="rowColor">
+<tr id="i900" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/LopProperties.html" title="class in org.apache.sysds.lops">LopProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i890" class="altColor">
+<tr id="i901" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/LopsException.html" title="class in org.apache.sysds.lops">LopsException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i891" class="rowColor">
+<tr id="i902" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/MapInputSignature.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">MapInputSignature</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i892" class="altColor">
+<tr id="i903" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/MapJoinSignature.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">MapJoinSignature</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i893" class="rowColor">
+<tr id="i904" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MapmmChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmChainSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i894" class="altColor">
+<tr id="i905" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MapmmSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i895" class="rowColor">
+<tr id="i906" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MapMult.html" title="class in org.apache.sysds.lops">MapMult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i896" class="altColor">
+<tr id="i907" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MapMult.CacheType.html" title="enum in org.apache.sysds.lops">MapMult.CacheType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i897" class="rowColor">
+<tr id="i908" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i898" class="altColor">
+<tr id="i909" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i899" class="rowColor">
+<tr id="i910" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/MapperService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">MapperService</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i911" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i900" class="altColor">
+<tr id="i912" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i901" class="rowColor">
+<tr id="i913" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i902" class="altColor">
+<tr id="i914" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToCharPByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToCharPByte</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i903" class="rowColor">
+<tr id="i915" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.html" title="interface in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i904" class="altColor">
+<tr id="i916" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToFactory.MAP_TYPE.html" title="enum in org.apache.sysds.runtime.compress.colgroup.mapping">MapToFactory.MAP_TYPE</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i905" class="rowColor">
+<tr id="i917" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToInt.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToInt</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i906" class="altColor">
+<tr id="i918" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToUByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToUByte</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i907" class="rowColor">
+<tr id="i919" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToZero.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToZero</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i908" class="altColor">
+<tr id="i920" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/MarkForLineageReuse.html" title="class in org.apache.sysds.hops.rewrite">MarkForLineageReuse</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i909" class="rowColor">
+<tr id="i921" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/insertionsort/MaterializeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.insertionsort">MaterializeSort</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i910" class="altColor">
+<tr id="i922" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MatMultCP.html" title="class in org.apache.sysds.lops">MatMultCP</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i911" class="rowColor">
+<tr id="i923" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/Matrix.html" title="class in org.apache.sysds.api.mlcontext">Matrix</a></td>
 <th class="colLast" scope="row">
 <div class="block">Matrix encapsulates a SystemDS matrix.</div>
 </th>
 </tr>
-<tr id="i912" class="altColor">
+<tr id="i924" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MatrixAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixAppendCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i913" class="rowColor">
+<tr id="i925" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixAppendGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixAppendGPUInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Implements the cbind and rbind functions for matrices</div>
 </th>
 </tr>
-<tr id="i914" class="altColor">
+<tr id="i926" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MatrixAppendMSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendMSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i915" class="rowColor">
+<tr id="i927" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MatrixAppendRSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixAppendRSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i916" class="altColor">
+<tr id="i928" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i917" class="rowColor">
+<tr id="i929" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.SparsityEstimate.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock.SparsityEstimate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i918" class="altColor">
+<tr id="i930" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlockDataInput.html" title="interface in org.apache.sysds.runtime.matrix.data">MatrixBlockDataInput</a></td>
 <th class="colLast" scope="row">
 <div class="block">Any data input that is intended to support fast deserialization / read
  of entire blocks should implement this interface.</div>
 </th>
 </tr>
-<tr id="i919" class="rowColor">
+<tr id="i931" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlockDataOutput.html" title="interface in org.apache.sysds.runtime.matrix.data">MatrixBlockDataOutput</a></td>
 <th class="colLast" scope="row">
 <div class="block">Any data output that is intended to support fast serialization / write
  of entire blocks should implement this interface.</div>
 </th>
 </tr>
-<tr id="i920" class="altColor">
+<tr id="i932" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/MatrixBlockDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">MatrixBlockDictionary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i921" class="rowColor">
+<tr id="i933" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixBuiltinGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i922" class="altColor">
+<tr id="i934" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixBuiltinNaryCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i923" class="rowColor">
+<tr id="i935" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixCell.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i924" class="altColor">
+<tr id="i936" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/MatrixCharacteristics.html" title="class in org.apache.sysds.runtime.meta">MatrixCharacteristics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i925" class="rowColor">
+<tr id="i937" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MatrixFormat.html" title="enum in org.apache.sysds.api.mlcontext">MatrixFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">MatrixFormat represents the different matrix formats supported by the
  MLContext API.</div>
 </th>
 </tr>
-<tr id="i926" class="altColor">
+<tr id="i938" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/MatrixGenerateReader.html" title="class in org.apache.sysds.runtime.iogen">MatrixGenerateReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i927" class="rowColor">
+<tr id="i939" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/MatrixGenerateReader.MatrixReaderRowIrregular.html" title="class in org.apache.sysds.runtime.iogen">MatrixGenerateReader.MatrixReaderRowIrregular</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i928" class="altColor">
+<tr id="i940" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/MatrixGenerateReader.MatrixReaderRowRegularColIrregular.html" title="class in org.apache.sysds.runtime.iogen">MatrixGenerateReader.MatrixReaderRowRegularColIrregular</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i929" class="rowColor">
+<tr id="i941" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/MatrixGenerateReader.MatrixReaderRowRegularColRegular.html" title="class in org.apache.sysds.runtime.iogen">MatrixGenerateReader.MatrixReaderRowRegularColRegular</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i930" class="altColor">
+<tr id="i942" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a></td>
 <th class="colLast" scope="row">
 <div class="block">This represent the indexes to the blocks of the matrix.</div>
 </th>
 </tr>
-<tr id="i931" class="rowColor">
+<tr id="i943" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.html" title="class in org.apache.sysds.runtime.instructions.cpfile">MatrixIndexingCPFileInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This instruction is used if a single partition is too large to fit in memory.</div>
 </th>
 </tr>
-<tr id="i932" class="altColor">
+<tr id="i944" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MatrixIndexingCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MatrixIndexingCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i933" class="rowColor">
+<tr id="i945" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixIndexingGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixIndexingGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i934" class="altColor">
+<tr id="i946" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MatrixIndexingSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixIndexingSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class implements the matrix indexing functionality inside CP.</div>
 </th>
 </tr>
-<tr id="i935" class="rowColor">
+<tr id="i947" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/MatrixLineagePair.html" title="class in org.apache.sysds.runtime.controlprogram.federated">MatrixLineagePair</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to represent the relation between a MatrixObject and the respective
  LineageItem.</div>
 </th>
 </tr>
-<tr id="i936" class="altColor">
+<tr id="i948" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixArithmeticGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i937" class="rowColor">
+<tr id="i949" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixMatrixAxpyGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixAxpyGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i938" class="altColor">
+<tr id="i950" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/MatrixMatrixBinaryOpFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">MatrixMatrixBinaryOpFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i939" class="rowColor">
+<tr id="i951" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixBuiltinGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i940" class="altColor">
+<tr id="i952" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixMatrixRelationalBinaryGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i941" class="rowColor">
+<tr id="i953" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MatrixMetadata.html" title="class in org.apache.sysds.api.mlcontext">MatrixMetadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Matrix metadata, such as the number of rows, the number of columns, the
@@ -4601,254 +4655,254 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  columns per block in the matrix.</div>
 </th>
 </tr>
-<tr id="i942" class="altColor">
+<tr id="i954" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used for propagating constraints in a matrix multiplication.</div>
 </th>
 </tr>
-<tr id="i943" class="rowColor">
+<tr id="i955" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorNaive.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorNaive</a></td>
 <th class="colLast" scope="row">
 <div class="block">MatrixMultiplicationPropagator that overrides generateFineGrainedConstraints
  with a naive propagation of the fine-grained constraints.</div>
 </th>
 </tr>
-<tr id="i944" class="altColor">
+<tr id="i956" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirst.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirst</a></td>
 <th class="colLast" scope="row">
 <div class="block">MatrixMultiplicationPropagator that overrides generateFineGrainedConstraints by finding the private elements first
  followed by propagating PrivateAggregation in case of non-aggregating operator types.</div>
 </th>
 </tr>
-<tr id="i945" class="rowColor">
+<tr id="i957" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/MatrixMultiplicationPropagatorPrivateFirstOptimized.html" title="class in org.apache.sysds.runtime.privacy.propagation">MatrixMultiplicationPropagatorPrivateFirstOptimized</a></td>
 <th class="colLast" scope="row">
 <div class="block">MatrixMultiplicationPropagator that overrides generateFineGrainedConstraints by finding the private elements first
  while propagating PrivateAggregation in case of non-aggregating operator types.</div>
 </th>
 </tr>
-<tr id="i946" class="altColor">
+<tr id="i958" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">MatrixObject</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a matrix in control program.</div>
 </th>
 </tr>
-<tr id="i947" class="rowColor">
+<tr id="i959" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.UpdateType.html" title="enum in org.apache.sysds.runtime.controlprogram.caching">MatrixObject.UpdateType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i948" class="altColor">
+<tr id="i960" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/MatrixReader.html" title="class in org.apache.sysds.runtime.io">MatrixReader</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all format-specific matrix readers.</div>
 </th>
 </tr>
-<tr id="i949" class="rowColor">
+<tr id="i961" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/MatrixReaderFactory.html" title="class in org.apache.sysds.runtime.io">MatrixReaderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i950" class="altColor">
+<tr id="i962" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MatrixReshapeGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MatrixReshapeGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i951" class="rowColor">
+<tr id="i963" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MatrixReshapeSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MatrixReshapeSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i952" class="altColor">
+<tr id="i964" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/MatrixScalarUnaryFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">MatrixScalarUnaryFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i953" class="rowColor">
+<tr id="i965" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/sketch/MatrixSketch.html" title="interface in org.apache.sysds.runtime.matrix.data.sketch">MatrixSketch</a>&lt;<a href="org/apache/sysds/runtime/matrix/data/sketch/MatrixSketch.html" title="type parameter in MatrixSketch">T</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i954" class="altColor">
+<tr id="i966" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i955" class="rowColor">
+<tr id="i967" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/MatrixValue.CellIndex.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixValue.CellIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i956" class="altColor">
+<tr id="i968" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/MatrixVectorBinaryOpPartitionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">MatrixVectorBinaryOpPartitionFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i957" class="rowColor">
+<tr id="i969" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/MatrixWriter.html" title="class in org.apache.sysds.runtime.io">MatrixWriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all format-specific matrix writers.</div>
 </th>
 </tr>
-<tr id="i958" class="altColor">
+<tr id="i970" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/MatrixWriterFactory.html" title="class in org.apache.sysds.runtime.io">MatrixWriterFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i959" class="rowColor">
+<tr id="i971" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Mean.html" title="class in org.apache.sysds.runtime.functionobjects">Mean</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i960" class="altColor">
+<tr id="i972" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cocode/Memorizer.html" title="class in org.apache.sysds.runtime.compress.cocode">Memorizer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i961" class="rowColor">
+<tr id="i973" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/cost/MemoryCostEstimator.html" title="class in org.apache.sysds.runtime.compress.cost">MemoryCostEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i962" class="altColor">
+<tr id="i974" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/MemoryEstimates.html" title="class in org.apache.sysds.utils">MemoryEstimates</a></td>
 <th class="colLast" scope="row">
 <div class="block">Memory Estimates is a helper class containing static classes that estimate the memory requirements of different types
  of objects in java.</div>
 </th>
 </tr>
-<tr id="i963" class="rowColor">
+<tr id="i975" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/fedplanner/MemoTable.html" title="class in org.apache.sysds.hops.fedplanner">MemoTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Memoization of federated execution alternatives.</div>
 </th>
 </tr>
-<tr id="i964" class="altColor">
+<tr id="i976" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/MemoTable.html" title="class in org.apache.sysds.hops">MemoTable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Memoization Table (hop id, worst-case matrix characteristics).</div>
 </th>
 </tr>
-<tr id="i965" class="rowColor">
+<tr id="i977" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/insertionsort/MergeSort.html" title="class in org.apache.sysds.runtime.compress.colgroup.insertionsort">MergeSort</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i966" class="altColor">
+<tr id="i978" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/Metadata.html" title="class in org.apache.sysds.api.mlcontext">Metadata</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstract metadata class for MLContext API.</div>
 </th>
 </tr>
-<tr id="i967" class="rowColor">
+<tr id="i979" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/MetaData.html" title="class in org.apache.sysds.runtime.meta">MetaData</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to store metadata associated with a file (e.g., a matrix) on disk.</div>
 </th>
 </tr>
-<tr id="i968" class="altColor">
+<tr id="i980" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/MetaDataAll.html" title="class in org.apache.sysds.runtime.meta">MetaDataAll</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i969" class="rowColor">
+<tr id="i981" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/MetaDataFormat.html" title="class in org.apache.sysds.runtime.meta">MetaDataFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i970" class="altColor">
+<tr id="i982" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/MetaDataUtils.html" title="class in org.apache.sysds.runtime.meta">MetaDataUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i971" class="rowColor">
+<tr id="i983" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Minus.html" title="class in org.apache.sysds.runtime.functionobjects">Minus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i972" class="altColor">
+<tr id="i984" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Minus1Multiply.html" title="class in org.apache.sysds.runtime.functionobjects">Minus1Multiply</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i973" class="rowColor">
+<tr id="i985" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/MinusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">MinusMultiply</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i974" class="altColor">
+<tr id="i986" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/MinusNz.html" title="class in org.apache.sysds.runtime.functionobjects">MinusNz</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i975" class="rowColor">
+<tr id="i987" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLContext.html" title="class in org.apache.sysds.api.mlcontext">MLContext</a></td>
 <th class="colLast" scope="row">
 <div class="block">The MLContext API offers programmatic access to SystemDS on Spark from
  languages such as Scala, Java, and Python.</div>
 </th>
 </tr>
-<tr id="i976" class="altColor">
+<tr id="i988" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLContext.ExecutionType.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExecutionType</a></td>
 <th class="colLast" scope="row">
 <div class="block">The different types of execution environments supported by SystemDS.</div>
 </th>
 </tr>
-<tr id="i977" class="rowColor">
+<tr id="i989" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLContext.ExplainLevel.html" title="enum in org.apache.sysds.api.mlcontext">MLContext.ExplainLevel</a></td>
 <th class="colLast" scope="row">
 <div class="block">The different explain levels supported by SystemDS.</div>
 </th>
 </tr>
-<tr id="i978" class="altColor">
+<tr id="i990" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLContextConversionUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextConversionUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility class containing methods to perform data conversions.</div>
 </th>
 </tr>
-<tr id="i979" class="rowColor">
+<tr id="i991" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLContextException.html" title="class in org.apache.sysds.api.mlcontext">MLContextException</a></td>
 <th class="colLast" scope="row">
 <div class="block">Uncaught exception representing SystemDS exceptions that occur through the
  MLContext API.</div>
 </th>
 </tr>
-<tr id="i980" class="altColor">
+<tr id="i992" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/MLContextProxy.html" title="class in org.apache.sysds.utils">MLContextProxy</a></td>
 <th class="colLast" scope="row">
 <div class="block">The purpose of this proxy is to shield systemds internals from direct access to MLContext
  which would try to load spark libraries and hence fail if these are not available.</div>
 </th>
 </tr>
-<tr id="i981" class="rowColor">
+<tr id="i993" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLContextUtil.html" title="class in org.apache.sysds.api.mlcontext">MLContextUtil</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility class containing methods for working with the MLContext API.</div>
 </th>
 </tr>
-<tr id="i982" class="altColor">
+<tr id="i994" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/MLResults.html" title="class in org.apache.sysds.api.mlcontext">MLResults</a></td>
 <th class="colLast" scope="row">
 <div class="block">MLResults handles the results returned from executing a Script using the
  MLContext API.</div>
 </th>
 </tr>
-<tr id="i983" class="rowColor">
+<tr id="i995" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MMChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMChainCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i984" class="altColor">
+<tr id="i996" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/MMChainFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMChainFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i985" class="rowColor">
+<tr id="i997" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MMCJ.html" title="class in org.apache.sysds.lops">MMCJ</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform cross product operation</div>
 </th>
 </tr>
-<tr id="i986" class="altColor">
+<tr id="i998" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MMCJ.MMCJType.html" title="enum in org.apache.sysds.lops">MMCJ.MMCJType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i987" class="rowColor">
+<tr id="i999" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/MMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MMFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i988" class="altColor">
+<tr id="i1000" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/MMNode.html" title="class in org.apache.sysds.hops.estim">MMNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper class to represent matrix multiply operators in a DAG
  along with references to its abstract data handles.</div>
 </th>
 </tr>
-<tr id="i989" class="rowColor">
+<tr id="i1001" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MMRJ.html" title="class in org.apache.sysds.lops">MMRJ</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform cross product operation</div>
 </th>
 </tr>
-<tr id="i990" class="altColor">
+<tr id="i1002" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MMTSJ.html" title="class in org.apache.sysds.lops">MMTSJ</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform transpose-identity operation (t(X)%*%X or X%*%t(X)),
@@ -4856,25 +4910,25 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  an additional Aggregate at the reducers.</div>
 </th>
 </tr>
-<tr id="i991" class="rowColor">
+<tr id="i1003" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MMTSJ.MMTSJType.html" title="enum in org.apache.sysds.lops">MMTSJ.MMTSJType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i992" class="altColor">
+<tr id="i1004" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MMTSJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MMTSJCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i993" class="rowColor">
+<tr id="i1005" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/MMTSJGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">MMTSJGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i994" class="altColor">
+<tr id="i1006" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/MMZip.html" title="class in org.apache.sysds.lops">MMZip</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform zip matrix multiplication</div>
 </th>
 </tr>
-<tr id="i995" class="rowColor">
+<tr id="i1007" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Modulus.html" title="class in org.apache.sysds.runtime.functionobjects">Modulus</a></td>
 <th class="colLast" scope="row">
 <div class="block">Integer modulus, where we adhere to the defined R semantics:
@@ -4882,204 +4936,216 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  ("%% indicates x mod y and %/% indicates integer division.</div>
 </th>
 </tr>
-<tr id="i996" class="altColor">
+<tr id="i1008" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/MultiAssignmentStatement.html" title="class in org.apache.sysds.parser">MultiAssignmentStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i997" class="rowColor">
+<tr id="i1009" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/bitmap/MultiColBitmap.html" title="class in org.apache.sysds.runtime.compress.bitmap">MultiColBitmap</a></td>
 <th class="colLast" scope="row">
 <div class="block">Uncompressed representation of one or more columns in bitmap format.</div>
 </th>
 </tr>
-<tr id="i998" class="altColor">
+<tr id="i1010" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i999" class="rowColor">
+<tr id="i1011" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Multiply.html" title="class in org.apache.sysds.runtime.functionobjects">Multiply</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1000" class="altColor">
+<tr id="i1012" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Multiply2.html" title="class in org.apache.sysds.runtime.functionobjects">Multiply2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1001" class="rowColor">
+<tr id="i1013" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnBuiltinCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1002" class="altColor">
+<tr id="i1014" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">MultiReturnParameterizedBuiltinCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1003" class="rowColor">
+<tr id="i1015" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1004" class="altColor">
+<tr id="i1016" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1005" class="rowColor">
+<tr id="i1017" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder.html" title="class in org.apache.sysds.runtime.instructions.fed">MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1006" class="altColor">
+<tr id="i1018" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1007" class="rowColor">
+<tr id="i1019" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuild2Function</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1008" class="altColor">
+<tr id="i1020" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeBuildFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This function pre-aggregates distinct values of recoded columns per partition (part of distributed recode map
  construction, used for recoding, binning and dummy coding).</div>
 </th>
 </tr>
-<tr id="i1009" class="rowColor">
+<tr id="i1021" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroup2Function</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1010" class="altColor">
+<tr id="i1022" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">MultiReturnParameterizedBuiltinSPInstruction.TransformEncodeGroupFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This function assigns codes to globally distinct values of recoded columns and writes the resulting column map in
  textcell (IJV) format to the output.</div>
 </th>
 </tr>
-<tr id="i1011" class="rowColor">
+<tr id="i1023" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/MultiThreadedHop.html" title="class in org.apache.sysds.hops">MultiThreadedHop</a></td>
 <th class="colLast" scope="row">
 <div class="block">Optional hop interface, to be implemented by multi-threaded hops.</div>
 </th>
 </tr>
-<tr id="i1012" class="altColor">
+<tr id="i1024" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/MultiThreadedOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">MultiThreadedOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1013" class="rowColor">
+<tr id="i1025" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform an operation on a variable number of operands.</div>
 </th>
 </tr>
-<tr id="i1014" class="altColor">
+<tr id="i1026" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">The NaryOp Hop allows for a variable number of operands.</div>
 </th>
 </tr>
-<tr id="i1015" class="rowColor">
+<tr id="i1027" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NativeHEHelper</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1028" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class helps in loading native library.</div>
 </th>
 </tr>
-<tr id="i1016" class="altColor">
+<tr id="i1029" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/NativeHelper.NativeBlasState.html" title="enum in org.apache.sysds.utils">NativeHelper.NativeBlasState</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1017" class="rowColor">
+<tr id="i1030" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/NativeStatistics.html" title="class in org.apache.sysds.utils.stats">NativeStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1018" class="altColor">
+<tr id="i1031" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/NetworkTrafficCounter.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NetworkTrafficCounter</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1032" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/NodeEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">NodeEntityModel</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1033" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/NormalPRNGenerator.html" title="class in org.apache.sysds.runtime.util">NormalPRNGenerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class that can generate a stream of random numbers from standard 
  normal distribution N(0,1).</div>
 </th>
 </tr>
-<tr id="i1019" class="rowColor">
+<tr id="i1034" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Not.html" title="class in org.apache.sysds.runtime.functionobjects">Not</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1020" class="altColor">
+<tr id="i1035" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/NotEquals.html" title="class in org.apache.sysds.runtime.functionobjects">NotEquals</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1021" class="rowColor">
+<tr id="i1036" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/offset/OffsetByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.offset">OffsetByte</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1022" class="altColor">
+<tr id="i1037" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/offset/OffsetChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.offset">OffsetChar</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1023" class="rowColor">
+<tr id="i1038" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/OffsetColumnIndex.html" title="class in org.apache.sysds.runtime.functionobjects">OffsetColumnIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1024" class="altColor">
+<tr id="i1039" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/offset/OffsetFactory.html" title="interface in org.apache.sysds.runtime.compress.colgroup.offset">OffsetFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1025" class="rowColor">
+<tr id="i1040" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/offset/OffsetFactory.OFF_TYPE.html" title="enum in org.apache.sysds.runtime.compress.colgroup.offset">OffsetFactory.OFF_TYPE</a></td>
 <th class="colLast" scope="row">
 <div class="block">The specific underlying types of offsets.</div>
 </th>
 </tr>
-<tr id="i1026" class="altColor">
+<tr id="i1041" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/offset/OffsetSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup.offset">OffsetSingle</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1027" class="rowColor">
+<tr id="i1042" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/offset/OffsetTwo.html" title="class in org.apache.sysds.runtime.compress.colgroup.offset">OffsetTwo</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1028" class="altColor">
+<tr id="i1043" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/Op.html" title="class in org.apache.sysds.runtime.compress.workload">Op</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1029" class="rowColor">
+<tr id="i1044" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/OperationsOnMatrixValues.html" title="class in org.apache.sysds.runtime.matrix.data">OperationsOnMatrixValues</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1030" class="altColor">
+<tr id="i1045" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/Operator.html" title="class in org.apache.sysds.runtime.matrix.operators">Operator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1031" class="rowColor">
+<tr id="i1046" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/OperatorType.html" title="enum in org.apache.sysds.runtime.privacy.propagation">OperatorType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1032" class="altColor">
+<tr id="i1047" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/OpMetadata.html" title="class in org.apache.sysds.runtime.compress.workload">OpMetadata</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1033" class="rowColor">
+<tr id="i1048" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/OpNormal.html" title="class in org.apache.sysds.runtime.compress.workload">OpNormal</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1034" class="altColor">
+<tr id="i1049" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/OpSided.html" title="class in org.apache.sysds.runtime.compress.workload">OpSided</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1035" class="rowColor">
+<tr id="i1050" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizationWrapper.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizationWrapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper to ParFOR cost estimation and optimizer.</div>
 </th>
 </tr>
-<tr id="i1036" class="altColor">
+<tr id="i1051" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">Optimizer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Generic optimizer super class that defines the interface of all implemented optimizers.</div>
 </th>
 </tr>
-<tr id="i1037" class="rowColor">
+<tr id="i1052" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.CostModelType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">Optimizer.CostModelType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1038" class="altColor">
+<tr id="i1053" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/Optimizer.PlanInputType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">Optimizer.PlanInputType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1039" class="rowColor">
+<tr id="i1054" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerConstrained.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerConstrained</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule-Based ParFor Optimizer (time: O(n)):
@@ -5088,14 +5154,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  - see base class.</div>
 </th>
 </tr>
-<tr id="i1040" class="altColor">
+<tr id="i1055" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerHeuristic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerHeuristic</a></td>
 <th class="colLast" scope="row">
 <div class="block">Heuristic ParFor Optimizer: This optimizer extends the rule-based
  optimizer by a time-based cost estimate for execution type decisions.</div>
 </th>
 </tr>
-<tr id="i1041" class="rowColor">
+<tr id="i1056" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptimizerRuleBased.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptimizerRuleBased</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule-Based ParFor Optimizer (time: O(n)):
@@ -5104,17 +5170,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  - 1) rewrite set data partitioner (incl.</div>
 </th>
 </tr>
-<tr id="i1042" class="altColor">
+<tr id="i1057" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/OptimizerUtils.html" title="class in org.apache.sysds.hops">OptimizerUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1043" class="rowColor">
+<tr id="i1058" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/OptimizerUtils.MemoryManager.html" title="enum in org.apache.sysds.hops">OptimizerUtils.MemoryManager</a></td>
 <th class="colLast" scope="row">
 <div class="block">Memory managers (static partitioned, unified)</div>
 </th>
 </tr>
-<tr id="i1044" class="altColor">
+<tr id="i1059" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/OptimizerUtils.OptimizationLevel.html" title="enum in org.apache.sysds.hops">OptimizerUtils.OptimizationLevel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Optimization Types for Compilation
@@ -5124,69 +5190,69 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
   fixed/static threshold (OLD Method of choosing between CP and MR).</div>
 </th>
 </tr>
-<tr id="i1045" class="rowColor">
+<tr id="i1060" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Internal representation of a plan alternative for program blocks and instructions 
  in order to enable efficient and simple recursive enumeration and plan changes.</div>
 </th>
 </tr>
-<tr id="i1046" class="altColor">
+<tr id="i1061" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ExecType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode.ExecType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1047" class="rowColor">
+<tr id="i1062" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.NodeType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode.NodeType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1048" class="altColor">
+<tr id="i1063" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNode.ParamType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNode.ParamType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1049" class="rowColor">
+<tr id="i1064" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptNodeStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptNodeStatistics</a></td>
 <th class="colLast" scope="row">
 <div class="block">TODO extend to right as well (see PerfTestTool, currently only trained with regard to left)
  TODO integrate mem and exec time for reuse?</div>
 </th>
 </tr>
-<tr id="i1050" class="altColor">
+<tr id="i1065" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTree.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTree</a></td>
 <th class="colLast" scope="row">
 <div class="block">Represents a complete plan of a top-level parfor.</div>
 </th>
 </tr>
-<tr id="i1051" class="rowColor">
+<tr id="i1066" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreeConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Converter for creating an internal plan representation for a given runtime program
  and to modify/create the runtime program according to the optimized plan.</div>
 </th>
 </tr>
-<tr id="i1052" class="altColor">
+<tr id="i1067" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanChecker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanChecker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1053" class="rowColor">
+<tr id="i1068" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMapping</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper class for mapping nodes of the internal plan representation to statement blocks and 
  hops / function call statements of a given DML program.</div>
 </th>
 </tr>
-<tr id="i1054" class="altColor">
+<tr id="i1069" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMappingAbstract</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1055" class="rowColor">
+<tr id="i1070" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingRuntime.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMappingRuntime</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1056" class="altColor">
+<tr id="i1071" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Or.html" title="class in org.apache.sysds.runtime.functionobjects">Or</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1057" class="rowColor">
+<tr id="i1072" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORLocalScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ORLocalScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Data partitioner Overlap_Reshuffle:
@@ -5194,306 +5260,312 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  where P is constructed for example with P=table(seq(1,nrow(X),sample(nrow(X), nrow(X))))</div>
 </th>
 </tr>
-<tr id="i1058" class="altColor">
+<tr id="i1073" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ORSparkScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ORSparkScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Spark data partitioner Overlap_Reshuffle:</div>
 </th>
 </tr>
-<tr id="i1059" class="rowColor">
+<tr id="i1074" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/OuterVectorBinaryOpFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">OuterVectorBinaryOpFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1060" class="altColor">
+<tr id="i1075" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/OutputParameters.html" title="class in org.apache.sysds.lops">OutputParameters</a></td>
 <th class="colLast" scope="row">
 <div class="block">class to maintain output parameters for a lop.</div>
 </th>
 </tr>
-<tr id="i1061" class="rowColor">
+<tr id="i1076" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/OutputStatement.html" title="class in org.apache.sysds.parser">OutputStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1062" class="altColor">
+<tr id="i1077" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/PageCache.html" title="class in org.apache.sysds.runtime.controlprogram.caching">PageCache</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1063" class="rowColor">
+<tr id="i1078" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="org/apache/sysds/runtime/matrix/data/Pair.html" title="type parameter in Pair">K</a>,&#8203;<a href="org/apache/sysds/runtime/matrix/data/Pair.html" title="type parameter in Pair">V</a>&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1064" class="altColor">
+<tr id="i1079" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableBlock.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">PairWritableBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Custom writable for a pair of matrix indexes and matrix block
  as required for binaryblock in remote data partitioning.</div>
 </th>
 </tr>
-<tr id="i1065" class="rowColor">
+<tr id="i1080" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/PairWritableCell.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">PairWritableCell</a></td>
 <th class="colLast" scope="row">
 <div class="block">Custom writable for a pair of matrix indexes and matrix cell
  as required for binarycell in remote data partitioning.</div>
 </th>
 </tr>
-<tr id="i1066" class="altColor">
+<tr id="i1081" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/ParameterBuilder.html" title="class in org.apache.sysds.utils">ParameterBuilder</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class to help setting variables in a script.</div>
 </th>
 </tr>
-<tr id="i1067" class="rowColor">
+<tr id="i1082" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParameterExpression.html" title="class in org.apache.sysds.parser">ParameterExpression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1068" class="altColor">
+<tr id="i1083" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/ParameterizedBuiltin.html" title="class in org.apache.sysds.lops">ParameterizedBuiltin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Defines a LOP for functions.</div>
 </th>
 </tr>
-<tr id="i1069" class="rowColor">
+<tr id="i1084" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.html" title="class in org.apache.sysds.runtime.functionobjects">ParameterizedBuiltin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Function object for builtin function that takes a list of name=value parameters.</div>
 </th>
 </tr>
-<tr id="i1070" class="altColor">
+<tr id="i1085" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ParameterizedBuiltinCode.html" title="enum in org.apache.sysds.runtime.functionobjects">ParameterizedBuiltin.ParameterizedBuiltinCode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1071" class="rowColor">
+<tr id="i1086" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ParameterizedBuiltin.ProbabilityDistributionCode.html" title="enum in org.apache.sysds.runtime.functionobjects">ParameterizedBuiltin.ProbabilityDistributionCode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1072" class="altColor">
+<tr id="i1087" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParameterizedBuiltinCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1073" class="rowColor">
+<tr id="i1088" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1074" class="altColor">
+<tr id="i1089" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ParameterizedBuiltinFEDInstruction.DecodeMatrix</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1075" class="rowColor">
+<tr id="i1090" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParameterizedBuiltinFunctionExpression.html" title="class in org.apache.sysds.parser">ParameterizedBuiltinFunctionExpression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1076" class="altColor">
+<tr id="i1091" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ParameterizedBuiltinOp.html" title="class in org.apache.sysds.hops">ParameterizedBuiltinOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Defines the HOP for calling an internal function (with custom parameters) from a DML script.</div>
 </th>
 </tr>
-<tr id="i1077" class="rowColor">
+<tr id="i1092" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1078" class="altColor">
+<tr id="i1093" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.CreateMatrixCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1079" class="rowColor">
+<tr id="i1094" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDFrameReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDFrameReplaceFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1080" class="altColor">
+<tr id="i1095" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1081" class="rowColor">
+<tr id="i1096" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDMapGroupedAggFunction2</a></td>
 <th class="colLast" scope="row">
 <div class="block">Similar to RDDMapGroupedAggFunction but single output block.</div>
 </th>
 </tr>
-<tr id="i1082" class="altColor">
+<tr id="i1097" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1083" class="rowColor">
+<tr id="i1098" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRemoveEmptyFunctionInMem</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1084" class="altColor">
+<tr id="i1099" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDReplaceFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDReplaceFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1085" class="rowColor">
+<tr id="i1100" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDRExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDRExpandFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1086" class="altColor">
+<tr id="i1101" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTokenizeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTokenizeFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1087" class="rowColor">
+<tr id="i1102" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1088" class="altColor">
+<tr id="i1103" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformApplyOffsetFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1089" class="rowColor">
+<tr id="i1104" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeExpandFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1090" class="altColor">
+<tr id="i1105" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">ParameterizedBuiltinSPInstruction.RDDTransformDecodeFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1091" class="rowColor">
+<tr id="i1106" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ParamservBuiltinCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ParamservBuiltinCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1092" class="altColor">
+<tr id="i1107" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamServer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1093" class="rowColor">
+<tr id="i1108" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1094" class="altColor">
+<tr id="i1109" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1095" class="rowColor">
+<tr id="i1110" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ParForBody.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ParForBody</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper for exchanging parfor body data structures.</div>
 </th>
 </tr>
-<tr id="i1096" class="altColor">
+<tr id="i1111" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">The ParForProgramBlock has the same execution semantics as a ForProgamBlock but executes
  the independent iterations in parallel.</div>
 </th>
 </tr>
-<tr id="i1097" class="rowColor">
+<tr id="i1112" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PartitionFormat.html" title="class in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PartitionFormat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Convenience class to package PDataPartitionFormat and its parameters.</div>
 </th>
 </tr>
-<tr id="i1098" class="altColor">
+<tr id="i1113" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitioner.html" title="enum in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PDataPartitioner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1099" class="rowColor">
+<tr id="i1114" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PDataPartitionFormat.html" title="enum in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PDataPartitionFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1100" class="altColor">
+<tr id="i1115" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PExecMode.html" title="enum in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PExecMode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1101" class="rowColor">
+<tr id="i1116" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.POptMode.html" title="enum in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.POptMode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1102" class="altColor">
+<tr id="i1117" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PResultMerge.html" title="enum in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PResultMerge</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1103" class="rowColor">
+<tr id="i1118" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ParForProgramBlock.PTaskPartitioner.html" title="enum in org.apache.sysds.runtime.controlprogram">ParForProgramBlock.PTaskPartitioner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1104" class="altColor">
+<tr id="i1119" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParForStatement.html" title="class in org.apache.sysds.parser">ParForStatement</a></td>
 <th class="colLast" scope="row">
 <div class="block">This ParForStatement is essentially identical to a ForStatement, except an extended
  toString method for printing the 'parfor' keyword.</div>
 </th>
 </tr>
-<tr id="i1105" class="rowColor">
+<tr id="i1120" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParForStatementBlock.html" title="class in org.apache.sysds.parser">ParForStatementBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">This ParForStatementBlock is essentially identical to a ForStatementBlock, except an extended validate
  for checking/setting optional parfor parameters and running the loop dependency analysis.</div>
 </th>
 </tr>
-<tr id="i1106" class="altColor">
+<tr id="i1121" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1107" class="rowColor">
+<tr id="i1122" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/ParForStatistics.html" title="class in org.apache.sysds.utils.stats">ParForStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1108" class="altColor">
+<tr id="i1123" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParseException.html" title="class in org.apache.sysds.parser">ParseException</a></td>
 <th class="colLast" scope="row">
 <div class="block">This exception is thrown when parse issues are encountered.</div>
 </th>
 </tr>
-<tr id="i1109" class="rowColor">
+<tr id="i1124" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParseInfo.html" title="interface in org.apache.sysds.parser">ParseInfo</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1110" class="altColor">
+<tr id="i1125" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParserFactory.html" title="class in org.apache.sysds.parser">ParserFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1111" class="rowColor">
+<tr id="i1126" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/ParserWrapper.html" title="class in org.apache.sysds.parser">ParserWrapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all dml parsers in order to make the various compilation chains
  independent of the used parser.</div>
 </th>
 </tr>
-<tr id="i1112" class="altColor">
+<tr id="i1127" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/PartialAggregate.html" title="class in org.apache.sysds.lops">PartialAggregate</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform a partial aggregation.</div>
 </th>
 </tr>
-<tr id="i1113" class="rowColor">
+<tr id="i1128" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBlock</a>&lt;<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBlock.html" title="type parameter in PartitionedBlock">T</a> extends <a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This class is for partitioned matrix/frame blocks, to be used as broadcasts.</div>
 </th>
 </tr>
-<tr id="i1114" class="altColor">
+<tr id="i1129" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html" title="class in org.apache.sysds.runtime.instructions.spark.data">PartitionedBroadcast</a>&lt;<a href="org/apache/sysds/runtime/instructions/spark/data/PartitionedBroadcast.html" title="type parameter in PartitionedBroadcast">T</a> extends <a href="org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">Cac [...]
 <th class="colLast" scope="row">
 <div class="block">This class is a wrapper around an array of broadcasts of partitioned matrix/frame blocks,
  which is required due to 2GB limitations of Spark's broadcast handling.</div>
 </th>
 </tr>
-<tr id="i1115" class="rowColor">
+<tr id="i1130" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ParWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ParWorker</a></td>
 <th class="colLast" scope="row">
 <div class="block">Super class for master/worker pattern implementations.</div>
 </th>
 </tr>
-<tr id="i1116" class="altColor">
+<tr id="i1131" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/PathStatement.html" title="class in org.apache.sysds.parser">PathStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1117" class="rowColor">
+<tr id="i1132" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInCombiner.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">PerformGroupByAggInCombiner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1118" class="altColor">
+<tr id="i1133" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">PerformGroupByAggInReducer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1119" class="rowColor">
+<tr id="i1134" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/PickByCount.html" title="class in org.apache.sysds.lops">PickByCount</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1120" class="altColor">
+<tr id="i1135" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1121" class="rowColor">
+<tr id="i1136" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/PlaintextMatrix.html" title="class in org.apache.sysds.runtime.instructions.cp">PlaintextMatrix</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class abstracts over an encrypted matrix of ciphertexts.</div>
+</th>
+</tr>
+<tr id="i1137" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html" title="class in org.apache.sysds.hops.codegen.opt">PlanAnalyzer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utility functions to extract structural information from the memo table,
@@ -5501,19 +5573,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  materialization points of partitions, and root nodes of partitions.</div>
 </th>
 </tr>
-<tr id="i1122" class="altColor">
+<tr id="i1138" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt">PlanPartition</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1123" class="rowColor">
+<tr id="i1139" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelection</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1124" class="altColor">
+<tr id="i1140" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.VisitMarkCost.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelection.VisitMarkCost</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1125" class="rowColor">
+<tr id="i1141" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanSelectionFuseAll.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelectionFuseAll</a></td>
 <th class="colLast" scope="row">
 <div class="block">This plan selection heuristic aims for maximal fusion, which
@@ -5522,21 +5594,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  intermediate results.</div>
 </th>
 </tr>
-<tr id="i1126" class="altColor">
+<tr id="i1142" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBased.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelectionFuseCostBased</a></td>
 <th class="colLast" scope="row">
 <div class="block">This cost-based plan selection algorithm chooses fused operators
  based on the DAG structure and resulting overall costs.</div>
 </th>
 </tr>
-<tr id="i1127" class="rowColor">
+<tr id="i1143" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanSelectionFuseCostBasedV2.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelectionFuseCostBasedV2</a></td>
 <th class="colLast" scope="row">
 <div class="block">This cost-based plan selection algorithm chooses fused operators
  based on the DAG structure and resulting overall costs.</div>
 </th>
 </tr>
-<tr id="i1128" class="altColor">
+<tr id="i1144" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/PlanSelectionFuseNoRedundancy.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelectionFuseNoRedundancy</a></td>
 <th class="colLast" scope="row">
 <div class="block">This plan selection heuristic aims for fusion without any redundant 
@@ -5544,49 +5616,49 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  intermediates than the fuse all heuristic.</div>
 </th>
 </tr>
-<tr id="i1129" class="rowColor">
+<tr id="i1145" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Plus.html" title="class in org.apache.sysds.runtime.functionobjects">Plus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1130" class="altColor">
+<tr id="i1146" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/PlusMultiply.html" title="class in org.apache.sysds.runtime.functionobjects">PlusMultiply</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1131" class="rowColor">
+<tr id="i1147" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/PMapmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PMapmmSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This pmapmm matrix multiplication instruction is still experimental
  not integrated in automatic operator selection yet.</div>
 </th>
 </tr>
-<tr id="i1132" class="altColor">
+<tr id="i1148" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/PMapMult.html" title="class in org.apache.sysds.lops">PMapMult</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1133" class="rowColor">
+<tr id="i1149" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/PMMJ.html" title="class in org.apache.sysds.lops">PMMJ</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1134" class="altColor">
+<tr id="i1150" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/PMMJ.CacheType.html" title="enum in org.apache.sysds.lops">PMMJ.CacheType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1135" class="rowColor">
+<tr id="i1151" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/PMMJCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PMMJCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1136" class="altColor">
+<tr id="i1152" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/PmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">PmmSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1137" class="rowColor">
+<tr id="i1153" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/PoissonPRNGenerator.html" title="class in org.apache.sysds.runtime.util">PoissonPRNGenerator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class that can generate a stream of random numbers from Poisson
  distribution with specified mean.</div>
 </th>
 </tr>
-<tr id="i1138" class="altColor">
+<tr id="i1154" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/PorterStemmer.html" title="class in org.apache.sysds.runtime.util">PorterStemmer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Stemmer, implementing the Porter Stemming Algorithm
@@ -5594,73 +5666,73 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  The Stemmer class transforms a word into its root form.</div>
 </th>
 </tr>
-<tr id="i1139" class="rowColor">
+<tr id="i1155" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Power.html" title="class in org.apache.sysds.runtime.functionobjects">Power</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1140" class="altColor">
+<tr id="i1156" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Power2.html" title="class in org.apache.sysds.runtime.functionobjects">Power2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1141" class="rowColor">
+<tr id="i1157" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/PrefetchCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">PrefetchCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1142" class="altColor">
+<tr id="i1158" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/jmlc/PreparedScript.html" title="class in org.apache.sysds.api.jmlc">PreparedScript</a></td>
 <th class="colLast" scope="row">
 <div class="block">Representation of a prepared (precompiled) DML/PyDML script.</div>
 </th>
 </tr>
-<tr id="i1143" class="rowColor">
+<tr id="i1159" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/PrintStatement.html" title="class in org.apache.sysds.parser">PrintStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1144" class="altColor">
+<tr id="i1160" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/PrintStatement.PRINTTYPE.html" title="enum in org.apache.sysds.parser">PrintStatement.PRINTTYPE</a></td>
 <th class="colLast" scope="row">
 <div class="block">The PRINTTYPE options are: PRINT, PRINTF, and STOP.</div>
 </th>
 </tr>
-<tr id="i1145" class="rowColor">
+<tr id="i1161" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.html" title="class in org.apache.sysds.runtime.privacy">PrivacyConstraint</a></td>
 <th class="colLast" scope="row">
 <div class="block">PrivacyConstraint holds all privacy constraints for data in the system at
  compile time and runtime.</div>
 </th>
 </tr>
-<tr id="i1146" class="altColor">
+<tr id="i1162" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/PrivacyConstraint.PrivacyLevel.html" title="enum in org.apache.sysds.runtime.privacy">PrivacyConstraint.PrivacyLevel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1147" class="rowColor">
+<tr id="i1163" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/PrivacyMonitor.html" title="class in org.apache.sysds.runtime.privacy">PrivacyMonitor</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1148" class="altColor">
+<tr id="i1164" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">PrivacyPropagator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class with static methods merging privacy constraints of operands 
  in expressions to generate the privacy constraints of the output.</div>
 </th>
 </tr>
-<tr id="i1149" class="rowColor">
+<tr id="i1165" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/PrivacyUtils.html" title="class in org.apache.sysds.runtime.privacy">PrivacyUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1150" class="altColor">
+<tr id="i1166" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/PRNGenerator.html" title="class in org.apache.sysds.runtime.util">PRNGenerator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1151" class="rowColor">
+<tr id="i1167" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/Program.html" title="class in org.apache.sysds.runtime.controlprogram">Program</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1152" class="altColor">
+<tr id="i1168" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/ProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">ProgramBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1153" class="rowColor">
+<tr id="i1169" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></td>
 <th class="colLast" scope="row">
 <div class="block">Program converter functionalities for 
@@ -5668,11 +5740,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
    (2) serializing and parsing of programs, program blocks, functions program blocks.</div>
 </th>
 </tr>
-<tr id="i1154" class="altColor">
+<tr id="i1170" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/ProgramRecompiler.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">ProgramRecompiler</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1155" class="rowColor">
+<tr id="i1171" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/ProgramRewriter.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriter</a></td>
 <th class="colLast" scope="row">
 <div class="block">This program rewriter applies a variety of rule-based rewrites
@@ -5680,277 +5752,285 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  program.</div>
 </th>
 </tr>
-<tr id="i1156" class="altColor">
+<tr id="i1172" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/ProgramRewriteStatus.html" title="class in org.apache.sysds.hops.rewrite">ProgramRewriteStatus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1157" class="rowColor">
+<tr id="i1173" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/ProjectInfo.html" title="class in org.apache.sysds.api.mlcontext">ProjectInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">Obtains information that is stored in the manifest when the SystemDS jar is
  built.</div>
 </th>
 </tr>
-<tr id="i1158" class="altColor">
+<tr id="i1174" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/Propagator.html" title="interface in org.apache.sysds.runtime.privacy.propagation">Propagator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for all propagator instances with a single output.</div>
 </th>
 </tr>
-<tr id="i1159" class="rowColor">
+<tr id="i1175" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/PropagatorMultiReturn.html" title="interface in org.apache.sysds.runtime.privacy.propagation">PropagatorMultiReturn</a></td>
 <th class="colLast" scope="row">
 <div class="block">Interface for all propagator instances with multiple outputs.</div>
 </th>
 </tr>
-<tr id="i1160" class="altColor">
+<tr id="i1176" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcCall.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcCall</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1161" class="rowColor">
+<tr id="i1177" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcFactory.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1162" class="altColor">
+<tr id="i1178" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcHandler.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcHandler</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1163" class="rowColor">
+<tr id="i1179" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcObject.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1164" class="altColor">
+<tr id="i1180" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcResponse</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1165" class="rowColor">
+<tr id="i1181" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.Type.html" title="enum in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcResponse.Type</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1166" class="altColor">
+<tr id="i1182" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1167" class="rowColor">
+<tr id="i1183" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/PublicKey.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption">PublicKey</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1184" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/Py4jConverterUtils.html" title="class in org.apache.sysds.runtime.util">Py4jConverterUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utils for converting python data to java.</div>
 </th>
 </tr>
-<tr id="i1168" class="altColor">
+<tr id="i1185" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api">PythonDMLScript</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1169" class="rowColor">
+<tr id="i1186" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">QDictionary</a></td>
 <th class="colLast" scope="row">
 <div class="block">This dictionary class aims to encapsulate the storage and operations over unique floating point values of a column
  group.</div>
 </th>
 </tr>
-<tr id="i1170" class="altColor">
+<tr id="i1187" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1171" class="rowColor">
+<tr id="i1188" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1172" class="altColor">
+<tr id="i1189" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.CreateMatrixFromFrame.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.CreateMatrixFromFrame</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1190" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.GetHistogram.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.GetHistogram</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1173" class="rowColor">
+<tr id="i1191" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.GetValuesInRange.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.GetValuesInRange</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1174" class="altColor">
+<tr id="i1192" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.GetValuesInRanges.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.GetValuesInRanges</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1175" class="rowColor">
+<tr id="i1193" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.MinMax.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.MinMax</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1176" class="altColor">
+<tr id="i1194" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/QuantilePickSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantilePickSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1177" class="rowColor">
+<tr id="i1195" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/QuantileSortCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantileSortCPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </th>
 </tr>
-<tr id="i1178" class="altColor">
+<tr id="i1196" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuantileSortFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantileSortFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1179" class="rowColor">
+<tr id="i1197" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/QuantileSortSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuantileSortSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class supports two variants of sort operation on a 1-dimensional input matrix.</div>
 </th>
 </tr>
-<tr id="i1180" class="altColor">
+<tr id="i1198" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/QuaternaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuaternaryCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1181" class="rowColor">
+<tr id="i1199" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1182" class="altColor">
+<tr id="i1200" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/QuaternaryOp.html" title="class in org.apache.sysds.hops">QuaternaryOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Note: this hop should be called AggQuaternaryOp in consistency with AggUnaryOp and AggBinaryOp;
  however, since there does not exist a real QuaternaryOp yet - we can leave it as is for now.</div>
 </th>
 </tr>
-<tr id="i1183" class="rowColor">
+<tr id="i1201" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/QuaternaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">QuaternaryOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1184" class="altColor">
+<tr id="i1202" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/QuaternarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">QuaternarySPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1185" class="rowColor">
+<tr id="i1203" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWCeMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWCeMMFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1186" class="altColor">
+<tr id="i1204" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWDivMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWDivMMFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1187" class="rowColor">
+<tr id="i1205" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSigmoidFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSigmoidFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1188" class="altColor">
+<tr id="i1206" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWSLossFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWSLossFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1189" class="rowColor">
+<tr id="i1207" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/QuaternaryWUMMFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuaternaryWUMMFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1190" class="altColor">
+<tr id="i1208" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/RandNPair.html" title="class in org.apache.sysds.runtime.util">RandNPair</a></td>
 <th class="colLast" scope="row">
 <div class="block">Class that generates a pair of random numbers from standard normal 
  distribution N(0,1).</div>
 </th>
 </tr>
-<tr id="i1191" class="rowColor">
+<tr id="i1209" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.html" title="class in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1192" class="altColor">
+<tr id="i1210" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/RandomMatrixGenerator.PDF.html" title="enum in org.apache.sysds.runtime.matrix.data">RandomMatrixGenerator.PDF</a></td>
 <th class="colLast" scope="row">
 <div class="block">Types of Probability density functions</div>
 </th>
 </tr>
-<tr id="i1193" class="rowColor">
+<tr id="i1211" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/RandSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RandSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1194" class="altColor">
+<tr id="i1212" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/RawRow.html" title="class in org.apache.sysds.runtime.iogen">RawRow</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1195" class="rowColor">
+<tr id="i1213" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/privacy/propagation/RBindPropagator.html" title="class in org.apache.sysds.runtime.privacy.propagation">RBindPropagator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1196" class="altColor">
+<tr id="i1214" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDAggregateUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDAggregateUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collection of utility methods for aggregating binary block rdds.</div>
 </th>
 </tr>
-<tr id="i1197" class="rowColor">
+<tr id="i1215" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1198" class="altColor">
+<tr id="i1216" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.BinaryCellToBinaryBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtils.BinaryCellToBinaryBlockFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1199" class="rowColor">
+<tr id="i1217" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtils.DataFrameExtractIDFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtils.DataFrameExtractIDFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1200" class="altColor">
+<tr id="i1218" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtilsExt</a></td>
 <th class="colLast" scope="row">
 <div class="block">NOTE: These are experimental converter utils.</div>
 </th>
 </tr>
-<tr id="i1201" class="rowColor">
+<tr id="i1219" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.AddRowID.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtilsExt.AddRowID</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1202" class="altColor">
+<tr id="i1220" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.RDDConverterTypes.html" title="enum in org.apache.sysds.runtime.instructions.spark.utils">RDDConverterUtilsExt.RDDConverterTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1203" class="rowColor">
+<tr id="i1221" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/RDDObject.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RDDObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1204" class="altColor">
+<tr id="i1222" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDSortUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1205" class="rowColor">
+<tr id="i1223" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDSortUtils.IndexComparator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1206" class="altColor">
+<tr id="i1224" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDSortUtils.IndexComparator2.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">RDDSortUtils.IndexComparator2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1207" class="rowColor">
+<tr id="i1225" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1208" class="altColor">
+<tr id="i1226" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/opt/ReachabilityGraph.SubProblem.html" title="class in org.apache.sysds.hops.codegen.opt">ReachabilityGraph.SubProblem</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1209" class="rowColor">
+<tr id="i1227" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io">ReaderBinaryBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1210" class="altColor">
+<tr id="i1228" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">ReaderBinaryBlockParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1211" class="rowColor">
+<tr id="i1229" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelection.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelection</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all column selection readers.</div>
 </th>
 </tr>
-<tr id="i1212" class="altColor">
+<tr id="i1230" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1213" class="rowColor">
+<tr id="i1231" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseMultiBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseMultiBlockTransposed</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1214" class="altColor">
+<tr id="i1232" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlock.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1215" class="rowColor">
+<tr id="i1233" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionDenseSingleBlockTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionDenseSingleBlockTransposed</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1216" class="altColor">
+<tr id="i1234" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparse.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparse</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
@@ -5958,7 +6038,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Keeps returning all-zeros arrays until reaching the last possible index.</div>
 </th>
 </tr>
-<tr id="i1217" class="rowColor">
+<tr id="i1235" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/readers/ReaderColumnSelectionSparseTransposed.html" title="class in org.apache.sysds.runtime.compress.readers">ReaderColumnSelectionSparseTransposed</a></td>
 <th class="colLast" scope="row">
 <div class="block">Used to extract the values at certain indexes from each row in a sparse matrix
@@ -5966,102 +6046,102 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Keeps returning all-zeros arrays until reaching the last possible index.</div>
 </th>
 </tr>
-<tr id="i1218" class="altColor">
+<tr id="i1236" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderHDF5.html" title="class in org.apache.sysds.runtime.io">ReaderHDF5</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1219" class="rowColor">
+<tr id="i1237" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderHDF5Parallel.html" title="class in org.apache.sysds.runtime.io">ReaderHDF5Parallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1220" class="altColor">
+<tr id="i1238" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/ReaderMapping.html" title="class in org.apache.sysds.runtime.iogen">ReaderMapping</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1221" class="rowColor">
+<tr id="i1239" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/ReaderMapping.FrameReaderMapping.html" title="class in org.apache.sysds.runtime.iogen">ReaderMapping.FrameReaderMapping</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1222" class="altColor">
+<tr id="i1240" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/ReaderMapping.MatrixReaderMapping.html" title="class in org.apache.sysds.runtime.iogen">ReaderMapping.MatrixReaderMapping</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1223" class="rowColor">
+<tr id="i1241" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCell.html" title="class in org.apache.sysds.runtime.io">ReaderTextCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1224" class="altColor">
+<tr id="i1242" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextCellParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parallel version of ReaderTextCell.java.</div>
 </th>
 </tr>
-<tr id="i1225" class="rowColor">
+<tr id="i1243" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.CellBuffer.html" title="class in org.apache.sysds.runtime.io">ReaderTextCellParallel.CellBuffer</a></td>
 <th class="colLast" scope="row">
 <div class="block">Useful class for buffering unordered cells before locking target onces and
  appending all buffered cells.</div>
 </th>
 </tr>
-<tr id="i1226" class="altColor">
+<tr id="i1244" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.CountNnzTask.html" title="class in org.apache.sysds.runtime.io">ReaderTextCellParallel.CountNnzTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1227" class="rowColor">
+<tr id="i1245" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCellParallel.ReadTask.html" title="class in org.apache.sysds.runtime.io">ReaderTextCellParallel.ReadTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1228" class="altColor">
+<tr id="i1246" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCSV.html" title="class in org.apache.sysds.runtime.io">ReaderTextCSV</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1229" class="rowColor">
+<tr id="i1247" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextCSVParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextCSVParallel</a></td>
 <th class="colLast" scope="row">
 <div class="block">Parallel version of ReaderTextCSV.java.</div>
 </th>
 </tr>
-<tr id="i1230" class="altColor">
+<tr id="i1248" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVM.html" title="class in org.apache.sysds.runtime.io">ReaderTextLIBSVM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1231" class="rowColor">
+<tr id="i1249" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io">ReaderTextLIBSVMParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1232" class="altColor">
+<tr id="i1250" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReaderWriterFederated.html" title="class in org.apache.sysds.runtime.io">ReaderWriterFederated</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class serves as the reader for federated objects.</div>
 </th>
 </tr>
-<tr id="i1233" class="rowColor">
+<tr id="i1251" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/ReadProperties.html" title="class in org.apache.sysds.runtime.io">ReadProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1234" class="altColor">
+<tr id="i1252" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/ReBlock.html" title="class in org.apache.sysds.lops">ReBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform reblock operation</div>
 </th>
 </tr>
-<tr id="i1235" class="rowColor">
+<tr id="i1253" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/ReblockBuffer.html" title="class in org.apache.sysds.runtime.instructions.spark.data">ReblockBuffer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1236" class="altColor">
+<tr id="i1254" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ReblockFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReblockFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1237" class="rowColor">
+<tr id="i1255" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ReblockSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReblockSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1238" class="altColor">
+<tr id="i1256" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReblockTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReblockTensorFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1239" class="rowColor">
+<tr id="i1257" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/recompile/Recompiler.html" title="class in org.apache.sysds.hops.recompile">Recompiler</a></td>
 <th class="colLast" scope="row">
 <div class="block">Dynamic recompilation of hop dags to runtime instructions, which includes the 
@@ -6072,68 +6152,68 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  operator selection), and (6) generate runtime program (incl piggybacking).</div>
 </th>
 </tr>
-<tr id="i1240" class="altColor">
+<tr id="i1258" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/recompile/Recompiler.ResetType.html" title="enum in org.apache.sysds.hops.recompile">Recompiler.ResetType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1241" class="rowColor">
+<tr id="i1259" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/RecompileStatistics.html" title="class in org.apache.sysds.utils.stats">RecompileStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1242" class="altColor">
+<tr id="i1260" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/recompile/RecompileStatus.html" title="class in org.apache.sysds.hops.recompile">RecompileStatus</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1243" class="rowColor">
+<tr id="i1261" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/RecomputeNnzFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">RecomputeNnzFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1244" class="altColor">
+<tr id="i1262" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ReduceAll.html" title="class in org.apache.sysds.runtime.functionobjects">ReduceAll</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1245" class="rowColor">
+<tr id="i1263" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ReduceCol.html" title="class in org.apache.sysds.runtime.functionobjects">ReduceCol</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1246" class="altColor">
+<tr id="i1264" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ReduceDiag.html" title="class in org.apache.sysds.runtime.functionobjects">ReduceDiag</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1247" class="rowColor">
+<tr id="i1265" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ReduceRow.html" title="class in org.apache.sysds.runtime.functionobjects">ReduceRow</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1248" class="altColor">
+<tr id="i1266" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/ReIndexOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReIndexOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1249" class="rowColor">
+<tr id="i1267" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/RelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">RelationalBinaryGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1250" class="altColor">
+<tr id="i1268" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/RelationalExpression.html" title="class in org.apache.sysds.parser">RelationalExpression</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1251" class="rowColor">
+<tr id="i1269" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteDPParForSpark</a></td>
 <th class="colLast" scope="row">
 <div class="block">TODO heavy hitter maintenance
  TODO data partitioning with binarycell</div>
 </th>
 </tr>
-<tr id="i1252" class="altColor">
+<tr id="i1270" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteDPParForSparkWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteDPParForSparkWorker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1253" class="rowColor">
+<tr id="i1271" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForJobReturn.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForJobReturn</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper for job return of ParFor REMOTE for transferring statistics and result symbol table.</div>
 </th>
 </tr>
-<tr id="i1254" class="altColor">
+<tr id="i1272" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForSpark</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class serves two purposes: (1) isolating Spark imports to enable running in 
@@ -6141,41 +6221,41 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  structure as the parfor remote_mr job submission.</div>
 </th>
 </tr>
-<tr id="i1255" class="rowColor">
+<tr id="i1273" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForSparkWorker.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForSparkWorker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1256" class="altColor">
+<tr id="i1274" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/RemoteParForUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">RemoteParForUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Common functionalities for parfor workers in MR jobs.</div>
 </th>
 </tr>
-<tr id="i1257" class="rowColor">
+<tr id="i1275" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ReorgCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReorgCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1258" class="altColor">
+<tr id="i1276" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1259" class="rowColor">
+<tr id="i1277" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.DiagMatrix.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.DiagMatrix</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1260" class="altColor">
+<tr id="i1278" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ReorgFEDInstruction.Rdiag.html" title="class in org.apache.sysds.runtime.instructions.fed">ReorgFEDInstruction.Rdiag</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1261" class="rowColor">
+<tr id="i1279" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/ReorgGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ReorgGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1262" class="altColor">
+<tr id="i1280" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReorgMapFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReorgMapFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1263" class="rowColor">
+<tr id="i1281" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/ReorgOp.html" title="class in org.apache.sysds.hops">ReorgOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Reorg (cell) operation: aij
@@ -6190,23 +6270,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
   and (2) most importantly semantic of reshape is exactly a reorg op.</div>
 </th>
 </tr>
-<tr id="i1264" class="altColor">
+<tr id="i1282" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/ReorgOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ReorgOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1265" class="rowColor">
+<tr id="i1283" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ReorgSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ReorgSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1266" class="altColor">
+<tr id="i1284" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateBlockFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1267" class="rowColor">
+<tr id="i1285" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateTensorFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1268" class="altColor">
+<tr id="i1286" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Replicate to Max Federated scheme
@@ -6214,39 +6294,39 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
 </th>
 </tr>
-<tr id="i1269" class="rowColor">
+<tr id="i1287" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateVectorFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1270" class="altColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/Request.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring">Request</a></td>
+<tr id="i1288" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/Request.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">Request</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1271" class="rowColor">
+<tr id="i1289" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1272" class="altColor">
+<tr id="i1290" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1273" class="rowColor">
-<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/Response.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring">Response</a></td>
+<tr id="i1291" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/Response.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">Response</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1274" class="altColor">
+<tr id="i1292" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMerge</a>&lt;<a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="type parameter in ResultMerge">T</a> extends <a href="org/apache/sysds/runtime/controlprogram/caching/CacheableData.html" title="class in org.apache.sysds.runtime.controlprogram.caching">CacheableData</a>&lt;?&gt;&gt;</td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1275" class="rowColor">
+<tr id="i1293" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeFrameLocalMemory.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeFrameLocalMemory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1276" class="altColor">
+<tr id="i1294" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalAutomatic</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1277" class="rowColor">
+<tr id="i1295" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalFile.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalFile</a></td>
 <th class="colLast" scope="row">
 <div class="block">TODO potential extension: parallel merge (create individual staging files concurrently)
@@ -6255,36 +6335,36 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
       consumption again.</div>
 </th>
 </tr>
-<tr id="i1278" class="altColor">
+<tr id="i1296" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalMemory.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalMemory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Local in-memory realization of result merge.</div>
 </th>
 </tr>
-<tr id="i1279" class="rowColor">
+<tr id="i1297" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeMatrix.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeMatrix</a></td>
 <th class="colLast" scope="row">
 <div class="block">Due to independence of all iterations, any result has the following properties:
  (1) non local var, (2) matrix object, and (3) completely independent.</div>
 </th>
 </tr>
-<tr id="i1280" class="altColor">
+<tr id="i1298" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteGrouping.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteGrouping</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1281" class="rowColor">
+<tr id="i1299" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSorting.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSorting</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1282" class="altColor">
+<tr id="i1300" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSpark.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSpark</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1283" class="rowColor">
+<tr id="i1301" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeRemoteSparkWCompare.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeRemoteSparkWCompare</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1284" class="altColor">
+<tr id="i1302" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeTaggedMatrixIndexes.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeTaggedMatrixIndexes</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class serves as composite key for the remote result merge job
@@ -6292,7 +6372,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  but group all blocks according to matrix indexes only.</div>
 </th>
 </tr>
-<tr id="i1285" class="rowColor">
+<tr id="i1303" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/jmlc/ResultVariables.html" title="class in org.apache.sysds.api.jmlc">ResultVariables</a></td>
 <th class="colLast" scope="row">
 <div class="block">A ResultVariables object holds the data returned by a call
@@ -6300,64 +6380,64 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  method, which executes a DML/PyDML script.</div>
 </th>
 </tr>
-<tr id="i1286" class="altColor">
+<tr id="i1304" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/RevIndex.html" title="class in org.apache.sysds.runtime.functionobjects">RevIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1287" class="rowColor">
+<tr id="i1305" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationDynamic.html" title="class in org.apache.sysds.hops.rewrite">RewriteAlgebraicSimplificationDynamic</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Algebraic Simplifications.</div>
 </th>
 </tr>
-<tr id="i1288" class="altColor">
+<tr id="i1306" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteAlgebraicSimplificationStatic.html" title="class in org.apache.sysds.hops.rewrite">RewriteAlgebraicSimplificationStatic</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Algebraic Simplifications.</div>
 </th>
 </tr>
-<tr id="i1289" class="rowColor">
+<tr id="i1307" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteBlockSizeAndReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteBlockSizeAndReblock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: BlockSizeAndReblock.</div>
 </th>
 </tr>
-<tr id="i1290" class="altColor">
+<tr id="i1308" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteCommonSubexpressionElimination.html" title="class in org.apache.sysds.hops.rewrite">RewriteCommonSubexpressionElimination</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: CommonSubexpressionElimination.</div>
 </th>
 </tr>
-<tr id="i1291" class="rowColor">
+<tr id="i1309" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteCompressedReblock.html" title="class in org.apache.sysds.hops.rewrite">RewriteCompressedReblock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Compressed Re block if config compressed.linalg is enabled, we inject compression directions after read of
  matrices if number of rows is above 1000 and cols at least 1.</div>
 </th>
 </tr>
-<tr id="i1292" class="altColor">
+<tr id="i1310" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteConstantFolding.html" title="class in org.apache.sysds.hops.rewrite">RewriteConstantFolding</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Constant Folding.</div>
 </th>
 </tr>
-<tr id="i1293" class="rowColor">
+<tr id="i1311" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteElementwiseMultChainOptimization.html" title="class in org.apache.sysds.hops.rewrite">RewriteElementwiseMultChainOptimization</a></td>
 <th class="colLast" scope="row">
 <div class="block">Prerequisite: RewriteCommonSubexpressionElimination must run before this rule.</div>
 </th>
 </tr>
-<tr id="i1294" class="altColor">
+<tr id="i1312" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteFederatedExecution.html" title="class in org.apache.sysds.hops.rewrite">RewriteFederatedExecution</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1295" class="rowColor">
+<tr id="i1313" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteFederatedExecution.PrivacyConstraintRetriever.html" title="class in org.apache.sysds.hops.rewrite">RewriteFederatedExecution.PrivacyConstraintRetriever</a></td>
 <th class="colLast" scope="row">
 <div class="block">FederatedUDF for retrieving privacy constraint of data stored in file name.</div>
 </th>
 </tr>
-<tr id="i1296" class="altColor">
+<tr id="i1314" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteForLoopVectorization.html" title="class in org.apache.sysds.hops.rewrite">RewriteForLoopVectorization</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Simplify program structure by pulling if or else statement body out
@@ -6365,43 +6445,43 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  analysis to propagate exact statistics.</div>
 </th>
 </tr>
-<tr id="i1297" class="rowColor">
+<tr id="i1315" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteGPUSpecificOps.html" title="class in org.apache.sysds.hops.rewrite">RewriteGPUSpecificOps</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1298" class="altColor">
+<tr id="i1316" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteHoistLoopInvariantOperations.html" title="class in org.apache.sysds.hops.rewrite">RewriteHoistLoopInvariantOperations</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Simplify program structure by hoisting loop-invariant operations
  out of while, for, or parfor loops.</div>
 </th>
 </tr>
-<tr id="i1299" class="rowColor">
+<tr id="i1317" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteIndexingVectorization.html" title="class in org.apache.sysds.hops.rewrite">RewriteIndexingVectorization</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Indexing vectorization.</div>
 </th>
 </tr>
-<tr id="i1300" class="altColor">
+<tr id="i1318" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteInjectSparkLoopCheckpointing.html" title="class in org.apache.sysds.hops.rewrite">RewriteInjectSparkLoopCheckpointing</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Insert checkpointing operations for caching purposes.</div>
 </th>
 </tr>
-<tr id="i1301" class="rowColor">
+<tr id="i1319" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteInjectSparkPReadCheckpointing.html" title="class in org.apache.sysds.hops.rewrite">RewriteInjectSparkPReadCheckpointing</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: BlockSizeAndReblock.</div>
 </th>
 </tr>
-<tr id="i1302" class="altColor">
+<tr id="i1320" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.html" title="class in org.apache.sysds.hops.rewrite">RewriteMarkLoopVariablesUpdateInPlace</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Mark loop variables that are only read/updated through cp left indexing
  for update in-place.</div>
 </th>
 </tr>
-<tr id="i1303" class="rowColor">
+<tr id="i1321" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimization.html" title="class in org.apache.sysds.hops.rewrite">RewriteMatrixMultChainOptimization</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Determine the optimal order of execution for a chain of
@@ -6413,7 +6493,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  (map-reduce) layer</div>
 </th>
 </tr>
-<tr id="i1304" class="altColor">
+<tr id="i1322" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteMatrixMultChainOptimizationSparse.html" title="class in org.apache.sysds.hops.rewrite">RewriteMatrixMultChainOptimizationSparse</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Determine the optimal order of execution for a chain of
@@ -6426,21 +6506,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  (map-reduce) layer</div>
 </th>
 </tr>
-<tr id="i1305" class="rowColor">
+<tr id="i1323" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteMergeBlockSequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteMergeBlockSequence</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Simplify program structure by merging sequences of last-level
  statement blocks in order to create optimization opportunities.</div>
 </th>
 </tr>
-<tr id="i1306" class="altColor">
+<tr id="i1324" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveDanglingParentReferences.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveDanglingParentReferences</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite is a general-purpose cleanup pass that removes any
  dangling parent references in one pass through the hop DAG.</div>
 </th>
 </tr>
-<tr id="i1307" class="rowColor">
+<tr id="i1325" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveEmptyBasicBlocks.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveEmptyBasicBlocks</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Simplify program structure by removing empty last-level blocks,
@@ -6448,27 +6528,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  rewrites (e.g., checkpoint injection and subsequent IPA).</div>
 </th>
 </tr>
-<tr id="i1308" class="altColor">
+<tr id="i1326" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveForLoopEmptySequence.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveForLoopEmptySequence</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Simplify program structure by removing (par)for statements iterating over
  an empty sequence, i.e., (par)for-loops without a single iteration.</div>
 </th>
 </tr>
-<tr id="i1309" class="rowColor">
+<tr id="i1327" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemovePersistentReadWrite.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemovePersistentReadWrite</a></td>
 <th class="colLast" scope="row">
 <div class="block">This rewrite is a custom rewrite for JMLC in order to replace all persistent reads
  and writes with transient reads and writes from the symbol table.</div>
 </th>
 </tr>
-<tr id="i1310" class="altColor">
+<tr id="i1328" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveReadAfterWrite.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveReadAfterWrite</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: RemoveReadAfterWrite.</div>
 </th>
 </tr>
-<tr id="i1311" class="rowColor">
+<tr id="i1329" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryBranches.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryBranches</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Simplify program structure by pulling if or else statement body out
@@ -6476,25 +6556,25 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  analysis to propagate exact statistics.</div>
 </th>
 </tr>
-<tr id="i1312" class="altColor">
+<tr id="i1330" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteRemoveUnnecessaryCasts.html" title="class in org.apache.sysds.hops.rewrite">RewriteRemoveUnnecessaryCasts</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: RemoveUnnecessaryCasts.</div>
 </th>
 </tr>
-<tr id="i1313" class="rowColor">
+<tr id="i1331" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteSplitDagDataDependentOperators.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagDataDependentOperators</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Split Hop DAG after specific data-dependent operators.</div>
 </th>
 </tr>
-<tr id="i1314" class="altColor">
+<tr id="i1332" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteSplitDagUnknownCSVRead.html" title="class in org.apache.sysds.hops.rewrite">RewriteSplitDagUnknownCSVRead</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Split Hop DAG after CSV reads with unknown size.</div>
 </th>
 </tr>
-<tr id="i1315" class="rowColor">
+<tr id="i1333" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/RewriteTransientWriteParentHandling.html" title="class in org.apache.sysds.hops.rewrite">RewriteTransientWriteParentHandling</a></td>
 <th class="colLast" scope="row">
 <div class="block">Rule: Eliminate for Transient Write DataHops to have no parents
@@ -6504,124 +6584,132 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  analysis for Lop's to Instruction translation (according to Amol)</div>
 </th>
 </tr>
-<tr id="i1316" class="altColor">
+<tr id="i1334" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/RightIndex.html" title="class in org.apache.sysds.lops">RightIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1317" class="rowColor">
+<tr id="i1335" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/RightScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">RightScalarOperator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Scalar operator for scalar-matrix operations with scalar 
  on the right-hand-side.</div>
 </th>
 </tr>
-<tr id="i1318" class="altColor">
+<tr id="i1336" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/RmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">RmmSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1319" class="rowColor">
+<tr id="i1337" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/RowMatrixBlock.html" title="class in org.apache.sysds.runtime.instructions.spark.data">RowMatrixBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1320" class="altColor">
+<tr id="i1338" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/SampleEstimatorFactory.html" title="interface in org.apache.sysds.runtime.compress.estim.sample">SampleEstimatorFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1321" class="rowColor">
+<tr id="i1339" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/SampleEstimatorFactory.EstimationType.html" title="enum in org.apache.sysds.runtime.compress.estim.sample">SampleEstimatorFactory.EstimationType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1322" class="altColor">
+<tr id="i1340" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/SampleProperties.html" title="class in org.apache.sysds.runtime.iogen">SampleProperties</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1323" class="rowColor">
+<tr id="i1341" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ScalarAppendCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarAppendCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1324" class="altColor">
+<tr id="i1342" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarBuiltinNaryCPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">The ScalarBuiltinMultipleCPInstruction class is responsible for printf-style
  Java-based string formatting.</div>
 </th>
 </tr>
-<tr id="i1325" class="rowColor">
+<tr id="i1343" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/ScalarMatrixArithmeticGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixArithmeticGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1326" class="altColor">
+<tr id="i1344" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/ScalarMatrixBuiltinGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixBuiltinGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1327" class="rowColor">
+<tr id="i1345" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/ScalarMatrixRelationalBinaryGPUInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">ScalarMatrixRelationalBinaryGPUInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1328" class="altColor">
+<tr id="i1346" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1329" class="rowColor">
+<tr id="i1347" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1330" class="altColor">
+<tr id="i1348" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all scalar operators.</div>
 </th>
 </tr>
-<tr id="i1331" class="rowColor">
+<tr id="i1349" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/Script.html" title="class in org.apache.sysds.api.mlcontext">Script</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Script object encapsulates a DML or PYDML script.</div>
 </th>
 </tr>
-<tr id="i1332" class="altColor">
+<tr id="i1350" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/ScriptExecutor.html" title="class in org.apache.sysds.api.mlcontext">ScriptExecutor</a></td>
 <th class="colLast" scope="row">
 <div class="block">ScriptExecutor executes a DML or PYDML Script object using SystemDS.</div>
 </th>
 </tr>
-<tr id="i1333" class="rowColor">
+<tr id="i1351" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/api/ScriptExecutorUtils.html" title="class in org.apache.sysds.api">ScriptExecutorUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1334" class="altColor">
+<tr id="i1352" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/api/mlcontext/ScriptFactory.html" title="class in org.apache.sysds.api.mlcontext">ScriptFactory</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factory for creating DML and PYDML Script objects from strings, files, URLs,
  and input streams.</div>
 </th>
 </tr>
-<tr id="i1335" class="rowColor">
+<tr id="i1353" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALClient.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption">SEALClient</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1354" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption">SEALServer</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1355" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/SerLongWritable.html" title="class in org.apache.sysds.runtime.instructions.spark.data">SerLongWritable</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper for LongWritable in order to make it serializable as required for
  shuffle in spark instructions.</div>
 </th>
 </tr>
-<tr id="i1336" class="altColor">
+<tr id="i1356" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/data/SerText.html" title="class in org.apache.sysds.runtime.instructions.spark.data">SerText</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper for Text in order to make it serializable as required for
  shuffle in spark instructions.</div>
 </th>
 </tr>
-<tr id="i1337" class="rowColor">
+<tr id="i1357" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">ShadowBuffer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1338" class="altColor">
+<tr id="i1358" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">ShlosserEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1339" class="rowColor">
+<tr id="i1359" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/ShlosserJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">ShlosserJackknifeEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1340" class="altColor">
+<tr id="i1360" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ShuffleFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ShuffleFederatedScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Shuffle Federated scheme
@@ -6629,103 +6717,103 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
 </th>
 </tr>
-<tr id="i1341" class="rowColor">
+<tr id="i1361" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/SimpleOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">SimpleOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1342" class="altColor">
+<tr id="i1362" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/SinglePrecisionCudaSupportFunctions.html" title="class in org.apache.sysds.runtime.matrix.data">SinglePrecisionCudaSupportFunctions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1343" class="rowColor">
+<tr id="i1363" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/SingletonLookupHashMap.html" title="class in org.apache.sysds.runtime.compress">SingletonLookupHashMap</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class allows sharing of objects across the entire program.</div>
 </th>
 </tr>
-<tr id="i1344" class="altColor">
+<tr id="i1364" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/sketch/countdistinctapprox/SmallestPriorityQueue.html" title="class in org.apache.sysds.runtime.matrix.data.sketch.countdistinctapprox">SmallestPriorityQueue</a></td>
 <th class="colLast" scope="row">
 <div class="block">Deceiving name, but is used to contain the k smallest values inserted.</div>
 </th>
 </tr>
-<tr id="i1345" class="rowColor">
+<tr id="i1365" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/sample/SmoothedJackknifeEstimator.html" title="class in org.apache.sysds.runtime.compress.estim.sample">SmoothedJackknifeEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1346" class="altColor">
+<tr id="i1366" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/SortIndex.html" title="class in org.apache.sysds.runtime.functionobjects">SortIndex</a></td>
 <th class="colLast" scope="row">
 <div class="block">This index function is NOT used for actual sorting but just as a reference
  in ReorgOperator in order to identify sort operations.</div>
 </th>
 </tr>
-<tr id="i1347" class="rowColor">
+<tr id="i1367" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/SortKeys.html" title="class in org.apache.sysds.lops">SortKeys</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1348" class="altColor">
+<tr id="i1368" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/SortKeys.OperationTypes.html" title="enum in org.apache.sysds.lops">SortKeys.OperationTypes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1349" class="rowColor">
+<tr id="i1369" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/SortUtils.html" title="class in org.apache.sysds.runtime.util">SortUtils</a></td>
 <th class="colLast" scope="row">
 <div class="block">Utilities for sorting, primarily used for SparseRows.</div>
 </th>
 </tr>
-<tr id="i1350" class="altColor">
+<tr id="i1370" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SparkDataPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SparkDataPartitioner</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1351" class="rowColor">
+<tr id="i1371" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1352" class="altColor">
+<tr id="i1372" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/context/SparkExecutionContext.SparkClusterConfig.html" title="class in org.apache.sysds.runtime.controlprogram.context">SparkExecutionContext.SparkClusterConfig</a></td>
 <th class="colLast" scope="row">
 <div class="block">Captures relevant spark cluster configuration properties, e.g., memory budgets and
  degree of parallelism.</div>
 </th>
 </tr>
-<tr id="i1353" class="rowColor">
+<tr id="i1373" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkParamservUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1354" class="altColor">
+<tr id="i1374" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkPSBody.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSBody</a></td>
 <th class="colLast" scope="row">
 <div class="block">Wrapper class containing all needed for launching spark remote worker</div>
 </th>
 </tr>
-<tr id="i1355" class="rowColor">
+<tr id="i1375" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkPSProxy.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSProxy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1356" class="altColor">
+<tr id="i1376" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/SparkPSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">SparkPSWorker</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1357" class="rowColor">
+<tr id="i1377" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/SparkStatistics.html" title="class in org.apache.sysds.utils.stats">SparkStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1358" class="altColor">
+<tr id="i1378" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/utils/SparkUtils.html" title="class in org.apache.sysds.runtime.instructions.spark.utils">SparkUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1359" class="rowColor">
+<tr id="i1379" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">This SparseBlock is an abstraction for different sparse matrix formats.</div>
 </th>
 </tr>
-<tr id="i1360" class="altColor">
+<tr id="i1380" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseBlock.Type.html" title="enum in org.apache.sysds.runtime.data">SparseBlock.Type</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1361" class="rowColor">
+<tr id="i1381" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseBlockCOO.html" title="class in org.apache.sysds.runtime.data">SparseBlockCOO</a></td>
 <th class="colLast" scope="row">
 <div class="block">SparseBlock implementation that realizes a traditional 'coordinate matrix'
@@ -6734,7 +6822,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  sorted in order to allow binary search.</div>
 </th>
 </tr>
-<tr id="i1362" class="altColor">
+<tr id="i1382" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseBlockCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockCSR</a></td>
 <th class="colLast" scope="row">
 <div class="block">SparseBlock implementation that realizes a traditional 'compressed sparse row'
@@ -6743,11 +6831,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  to store column indexes and values of non-zero entries.</div>
 </th>
 </tr>
-<tr id="i1363" class="rowColor">
+<tr id="i1383" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseBlockFactory.html" title="class in org.apache.sysds.runtime.data">SparseBlockFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1364" class="altColor">
+<tr id="i1384" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseBlockMCSR.html" title="class in org.apache.sysds.runtime.data">SparseBlockMCSR</a></td>
 <th class="colLast" scope="row">
 <div class="block">SparseBlock implementation that realizes a 'modified compressed sparse row'
@@ -6758,271 +6846,279 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  memory-bound operations due to higher memory bandwidth requirements.</div>
 </th>
 </tr>
-<tr id="i1365" class="rowColor">
+<tr id="i1385" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/estim/encoding/SparseEncoding.html" title="class in org.apache.sysds.runtime.compress.estim.encoding">SparseEncoding</a></td>
 <th class="colLast" scope="row">
 <div class="block">Most common is zero encoding</div>
 </th>
 </tr>
-<tr id="i1366" class="altColor">
+<tr id="i1386" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for sparse row implementations such as sparse 
  row vectors and sparse scalars (single value per row).</div>
 </th>
 </tr>
-<tr id="i1367" class="rowColor">
+<tr id="i1387" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data">SparseRowScalar</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1368" class="altColor">
+<tr id="i1388" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1369" class="rowColor">
+<tr id="i1389" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/SparsityEstimator.html" title="class in org.apache.sysds.hops.estim">SparsityEstimator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1370" class="altColor">
+<tr id="i1390" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/estim/SparsityEstimator.OpCode.html" title="enum in org.apache.sysds.hops.estim">SparsityEstimator.OpCode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1371" class="rowColor">
+<tr id="i1391" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1372" class="altColor">
+<tr id="i1392" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1373" class="rowColor">
+<tr id="i1393" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/SPInstructionParser.html" title="class in org.apache.sysds.runtime.instructions">SPInstructionParser</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1374" class="altColor">
+<tr id="i1394" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCellwise</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1375" class="rowColor">
+<tr id="i1395" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.AggOp.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.AggOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1376" class="altColor">
+<tr id="i1396" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCellwise.CellType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofCellwise.CellType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1377" class="rowColor">
+<tr id="i1397" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.html" title="class in org.apache.sysds.hops.codegen">SpoofCompiler</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1378" class="altColor">
+<tr id="i1398" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.CompilerType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.CompilerType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1379" class="rowColor">
+<tr id="i1399" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.GeneratorAPI.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.GeneratorAPI</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1380" class="altColor">
+<tr id="i1400" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.IntegrationType.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.IntegrationType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1381" class="rowColor">
+<tr id="i1401" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanCachePolicy.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanCachePolicy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1382" class="altColor">
+<tr id="i1402" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.PlanSelector.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.PlanSelector</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1383" class="rowColor">
+<tr id="i1403" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofCompiler.RegisterAlloc.html" title="enum in org.apache.sysds.hops.codegen">SpoofCompiler.RegisterAlloc</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1384" class="altColor">
+<tr id="i1404" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/SpoofCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SpoofCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1385" class="rowColor">
+<tr id="i1405" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCUDACellwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDACellwise</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1386" class="altColor">
+<tr id="i1406" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1387" class="rowColor">
+<tr id="i1407" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.DoublePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.DoublePrecision</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1388" class="altColor">
+<tr id="i1408" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/SpoofCUDAInstruction.SinglePrecision.html" title="class in org.apache.sysds.runtime.instructions.gpu">SpoofCUDAInstruction.SinglePrecision</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1389" class="rowColor">
+<tr id="i1409" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.html" title="interface in org.apache.sysds.runtime.codegen">SpoofCUDAOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1390" class="altColor">
+<tr id="i1410" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCUDAOperator.PrecisionProxy.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDAOperator.PrecisionProxy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1391" class="rowColor">
+<tr id="i1411" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofCUDARowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofCUDARowwise</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1392" class="altColor">
+<tr id="i1412" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/SpoofFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">SpoofFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1393" class="rowColor">
+<tr id="i1413" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/SpoofFused.html" title="class in org.apache.sysds.lops">SpoofFused</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1394" class="altColor">
+<tr id="i1414" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.html" title="class in org.apache.sysds.hops.codegen">SpoofFusedOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1395" class="rowColor">
+<tr id="i1415" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/SpoofFusedOp.SpoofOutputDimsType.html" title="enum in org.apache.sysds.hops.codegen">SpoofFusedOp.SpoofOutputDimsType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1396" class="altColor">
+<tr id="i1416" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" title="class in org.apache.sysds.runtime.codegen">SpoofMultiAggregate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1397" class="rowColor">
+<tr id="i1417" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1398" class="altColor">
+<tr id="i1418" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInput.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInput</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1399" class="rowColor">
+<tr id="i1419" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseCell.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1400" class="altColor">
+<tr id="i1420" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofOperator.SideInputSparseRow.html" title="class in org.apache.sysds.runtime.codegen">SpoofOperator.SideInputSparseRow</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1401" class="rowColor">
+<tr id="i1421" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.html" title="class in org.apache.sysds.runtime.codegen">SpoofOuterProduct</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1402" class="altColor">
+<tr id="i1422" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofOuterProduct.OutProdType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofOuterProduct.OutProdType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1403" class="rowColor">
+<tr id="i1423" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.html" title="class in org.apache.sysds.runtime.codegen">SpoofRowwise</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1404" class="altColor">
+<tr id="i1424" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/codegen/SpoofRowwise.RowType.html" title="enum in org.apache.sysds.runtime.codegen">SpoofRowwise.RowType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1405" class="rowColor">
+<tr id="i1425" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1406" class="altColor">
+<tr id="i1426" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/SpoofSPInstruction.ReplicateRightFactorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark">SpoofSPInstruction.ReplicateRightFactorFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1407" class="rowColor">
+<tr id="i1427" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Sql.html" title="class in org.apache.sysds.lops">Sql</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1408" class="altColor">
+<tr id="i1428" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/SqlCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">SqlCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1409" class="rowColor">
+<tr id="i1429" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/util/StagingFileUtils.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">StagingFileUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1410" class="altColor">
+<tr id="i1430" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Stat.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor.stat">Stat</a></td>
 <th class="colLast" scope="row">
 <div class="block">Collection of all ParFor statistic types.</div>
 </th>
 </tr>
-<tr id="i1411" class="rowColor">
+<tr id="i1431" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.html" title="class in org.apache.sysds.parser">Statement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1412" class="altColor">
+<tr id="i1432" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.FederatedPSScheme.html" title="enum in org.apache.sysds.parser">Statement.FederatedPSScheme</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1413" class="rowColor">
+<tr id="i1433" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.PSCheckpointing.html" title="enum in org.apache.sysds.parser">Statement.PSCheckpointing</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1414" class="altColor">
+<tr id="i1434" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.PSFrequency.html" title="enum in org.apache.sysds.parser">Statement.PSFrequency</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1415" class="rowColor">
+<tr id="i1435" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.PSModeType.html" title="enum in org.apache.sysds.parser">Statement.PSModeType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1416" class="altColor">
+<tr id="i1436" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1417" class="rowColor">
+<tr id="i1437" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.PSScheme.html" title="enum in org.apache.sysds.parser">Statement.PSScheme</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1418" class="altColor">
+<tr id="i1438" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/Statement.PSUpdateType.html" title="enum in org.apache.sysds.parser">Statement.PSUpdateType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1419" class="rowColor">
+<tr id="i1439" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/StatementBlock.html" title="class in org.apache.sysds.parser">StatementBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1420" class="altColor">
+<tr id="i1440" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/rewrite/StatementBlockRewriteRule.html" title="class in org.apache.sysds.hops.rewrite">StatementBlockRewriteRule</a></td>
 <th class="colLast" scope="row">
 <div class="block">Base class for all hop rewrites in order to enable generic
  application of all rules.</div>
 </th>
 </tr>
-<tr id="i1421" class="rowColor">
+<tr id="i1441" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/dml/StatementInfo.html" title="class in org.apache.sysds.parser.dml">StatementInfo</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class exists solely to prevent compiler warnings.</div>
 </th>
 </tr>
-<tr id="i1422" class="altColor">
+<tr id="i1442" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/StatisticMonitor.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">StatisticMonitor</a></td>
 <th class="colLast" scope="row">
 <div class="block">This singleton statistic monitor is used to consolidate all parfor runtime statistics.</div>
 </th>
 </tr>
-<tr id="i1423" class="rowColor">
+<tr id="i1443" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></td>
 <th class="colLast" scope="row">
 <div class="block">This class captures all statistics.</div>
 </th>
 </tr>
-<tr id="i1424" class="altColor">
+<tr id="i1444" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/StatsEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">StatsEntityModel</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1445" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/StatsService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">StatsService</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1446" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/StringIdentifier.html" title="class in org.apache.sysds.parser">StringIdentifier</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1425" class="rowColor">
+<tr id="i1447" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1426" class="altColor">
+<tr id="i1448" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/StringObject.html" title="class in org.apache.sysds.runtime.instructions.cp">StringObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1427" class="rowColor">
+<tr id="i1449" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/SubsampleToMinFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">SubsampleToMinFederatedScheme</a></td>
 <th class="colLast" scope="row">
 <div class="block">Subsample to Min Federated scheme
@@ -7030,234 +7126,234 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  When the parameter server runs in federated mode it cannot pull in the data which is already on the workers.</div>
 </th>
 </tr>
-<tr id="i1428" class="altColor">
+<tr id="i1450" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/SwapIndex.html" title="class in org.apache.sysds.runtime.functionobjects">SwapIndex</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1429" class="rowColor">
+<tr id="i1451" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/SystemDSLoaderUtils.html" title="class in org.apache.sysds.utils">SystemDSLoaderUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1430" class="altColor">
+<tr id="i1452" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">Task</a></td>
 <th class="colLast" scope="row">
 <div class="block">A task is a logical group of one or multiple iterations (each iteration is assigned to exactly one task).</div>
 </th>
 </tr>
-<tr id="i1431" class="rowColor">
+<tr id="i1453" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/Task.TaskType.html" title="enum in org.apache.sysds.runtime.controlprogram.parfor">Task.TaskType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1432" class="altColor">
+<tr id="i1454" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitioner.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitioner</a></td>
 <th class="colLast" scope="row">
 <div class="block">This is the base class for all task partitioner.</div>
 </th>
 </tr>
-<tr id="i1433" class="rowColor">
+<tr id="i1455" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoring.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFactoring</a></td>
 <th class="colLast" scope="row">
 <div class="block">This factoring task partitioner virtually iterates over the given FOR loop (from, to, incr),
  creates iterations and group them to tasks.</div>
 </th>
 </tr>
-<tr id="i1434" class="altColor">
+<tr id="i1456" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmax.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFactoringCmax</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factoring with maximum constraint (e.g., if LIX matrix out-of-core and we need
  to bound the maximum number of iterations per map task -&gt; memory bounds)</div>
 </th>
 </tr>
-<tr id="i1435" class="rowColor">
+<tr id="i1457" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFactoringCmin.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFactoringCmin</a></td>
 <th class="colLast" scope="row">
 <div class="block">Factoring with minimum constraint (e.g., if communication is expensive)</div>
 </th>
 </tr>
-<tr id="i1436" class="altColor">
+<tr id="i1458" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerFixedsize.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerFixedsize</a></td>
 <th class="colLast" scope="row">
 <div class="block">This naive task partitioner virtually iterates over the given FOR loop (from, to, incr),
  creates iterations and group them to tasks according to the given task size.</div>
 </th>
 </tr>
-<tr id="i1437" class="rowColor">
+<tr id="i1459" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerNaive.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerNaive</a></td>
 <th class="colLast" scope="row">
 <div class="block">This static task partitioner virtually iterates over the given FOR loop (from, to, incr),
  creates iterations and group them to tasks according to a task size of numIterations/numWorkers.</div>
 </th>
 </tr>
-<tr id="i1438" class="altColor">
+<tr id="i1460" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/TaskPartitionerStatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">TaskPartitionerStatic</a></td>
 <th class="colLast" scope="row">
 <div class="block">This static task partitioner virtually iterates over the given FOR loop (from, to, incr),
  creates iterations and group them to tasks according to a task size of numIterations/numWorkers.</div>
 </th>
 </tr>
-<tr id="i1439" class="rowColor">
+<tr id="i1461" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1440" class="altColor">
+<tr id="i1462" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.CloseType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1441" class="rowColor">
+<tr id="i1463" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.TemplateType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1442" class="altColor">
+<tr id="i1464" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateCell.html" title="class in org.apache.sysds.hops.codegen.template">TemplateCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1443" class="rowColor">
+<tr id="i1465" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateCell.HopInputComparator.html" title="class in org.apache.sysds.hops.codegen.template">TemplateCell.HopInputComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Comparator to order input hops of the cell template.</div>
 </th>
 </tr>
-<tr id="i1444" class="altColor">
+<tr id="i1466" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html" title="class in org.apache.sysds.hops.codegen.template">TemplateMultiAgg</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1445" class="rowColor">
+<tr id="i1467" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html" title="class in org.apache.sysds.hops.codegen.template">TemplateOuterProduct</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1446" class="altColor">
+<tr id="i1468" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateRow.html" title="class in org.apache.sysds.hops.codegen.template">TemplateRow</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1447" class="rowColor">
+<tr id="i1469" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateRow.HopInputComparator.html" title="class in org.apache.sysds.hops.codegen.template">TemplateRow.HopInputComparator</a></td>
 <th class="colLast" scope="row">
 <div class="block">Comparator to order input hops of the row aggregate template.</div>
 </th>
 </tr>
-<tr id="i1448" class="altColor">
+<tr id="i1470" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/template/TemplateUtils.html" title="class in org.apache.sysds.hops.codegen.template">TemplateUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1449" class="rowColor">
+<tr id="i1471" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">A <code>TensorBlock</code> is the most top level representation of a tensor.</div>
 </th>
 </tr>
-<tr id="i1450" class="altColor">
+<tr id="i1472" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/meta/TensorCharacteristics.html" title="class in org.apache.sysds.runtime.meta">TensorCharacteristics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1451" class="rowColor">
+<tr id="i1473" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data">TensorIndexes</a></td>
 <th class="colLast" scope="row">
 <div class="block">This represent the indexes to the blocks of the tensor.</div>
 </th>
 </tr>
-<tr id="i1452" class="altColor">
+<tr id="i1474" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/TensorObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching">TensorObject</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1453" class="rowColor">
+<tr id="i1475" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorReader.html" title="class in org.apache.sysds.runtime.io">TensorReader</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1454" class="altColor">
+<tr id="i1476" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorReaderBinaryBlock.html" title="class in org.apache.sysds.runtime.io">TensorReaderBinaryBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1455" class="rowColor">
+<tr id="i1477" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorReaderBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">TensorReaderBinaryBlockParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1456" class="altColor">
+<tr id="i1478" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorReaderFactory.html" title="class in org.apache.sysds.runtime.io">TensorReaderFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1457" class="rowColor">
+<tr id="i1479" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorReaderTextCell.html" title="class in org.apache.sysds.runtime.io">TensorReaderTextCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1458" class="altColor">
+<tr id="i1480" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorReaderTextCellParallel.html" title="class in org.apache.sysds.runtime.io">TensorReaderTextCellParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1459" class="rowColor">
+<tr id="i1481" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">TensorTensorBinaryOpFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1460" class="altColor">
+<tr id="i1482" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/functions/TensorTensorBinaryOpPartitionFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">TensorTensorBinaryOpPartitionFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1461" class="rowColor">
+<tr id="i1483" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriter.html" title="class in org.apache.sysds.runtime.io">TensorWriter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1462" class="altColor">
+<tr id="i1484" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlock.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1463" class="rowColor">
+<tr id="i1485" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlockParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1464" class="altColor">
+<tr id="i1486" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriterBinaryBlockParallel.WriteFileTask.html" title="class in org.apache.sysds.runtime.io">TensorWriterBinaryBlockParallel.WriteFileTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1465" class="rowColor">
+<tr id="i1487" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriterFactory.html" title="class in org.apache.sysds.runtime.io">TensorWriterFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1466" class="altColor">
+<tr id="i1488" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriterTextCell.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1467" class="rowColor">
+<tr id="i1489" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/TensorWriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">TensorWriterTextCellParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1468" class="altColor">
+<tr id="i1490" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Ternary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1469" class="rowColor">
+<tr id="i1491" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/java/Ternary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Ternary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1470" class="altColor">
+<tr id="i1492" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Ternary.html" title="class in org.apache.sysds.lops">Ternary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform Sum of a matrix with another matrix multiplied by Scalar.</div>
 </th>
 </tr>
-<tr id="i1471" class="rowColor">
+<tr id="i1493" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/TernaryAggregate.html" title="class in org.apache.sysds.lops">TernaryAggregate</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1472" class="altColor">
+<tr id="i1494" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/TernaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1473" class="rowColor">
+<tr id="i1495" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/TernaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1474" class="altColor">
+<tr id="i1496" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/TernaryFrameScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">TernaryFrameScalarCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1475" class="rowColor">
+<tr id="i1497" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/TernaryFrameScalarFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TernaryFrameScalarFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1476" class="altColor">
+<tr id="i1498" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/TernaryFrameScalarSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernaryFrameScalarSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1477" class="rowColor">
+<tr id="i1499" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/TernaryOp.html" title="class in org.apache.sysds.hops">TernaryOp</a></td>
 <th class="colLast" scope="row">
 <div class="block">Primary use cases for now, are
@@ -7268,250 +7364,250 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  Keep in mind, that we also have binaries for it w/o weights.</div>
 </th>
 </tr>
-<tr id="i1478" class="altColor">
+<tr id="i1500" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/TernaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">TernaryOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1479" class="rowColor">
+<tr id="i1501" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/TernarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TernarySPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1480" class="altColor">
+<tr id="i1502" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/TernaryValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">TernaryValueFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1481" class="rowColor">
+<tr id="i1503" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/TernaryValueFunction.ValueFunctionWithConstant.html" title="interface in org.apache.sysds.runtime.functionobjects">TernaryValueFunction.ValueFunctionWithConstant</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1482" class="altColor">
+<tr id="i1504" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/TextToBinaryCellConverter.html" title="class in org.apache.sysds.runtime.matrix.data">TextToBinaryCellConverter</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1483" class="rowColor">
+<tr id="i1505" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/meta/TfMetaUtils.html" title="class in org.apache.sysds.runtime.transform.meta">TfMetaUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1484" class="altColor">
+<tr id="i1506" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/meta/TfOffsetMap.html" title="class in org.apache.sysds.runtime.transform.meta">TfOffsetMap</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1485" class="rowColor">
+<tr id="i1507" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/TfUtils.html" title="class in org.apache.sysds.runtime.transform">TfUtils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1486" class="altColor">
+<tr id="i1508" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/TfUtils.TfMethod.html" title="enum in org.apache.sysds.runtime.transform">TfUtils.TfMethod</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1487" class="rowColor">
+<tr id="i1509" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/Timing.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">Timing</a></td>
 <th class="colLast" scope="row">
 <div class="block">Helper class for encapsulated time measurements.</div>
 </th>
 </tr>
-<tr id="i1488" class="altColor">
+<tr id="i1510" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/Tokenizer.html" title="class in org.apache.sysds.runtime.transform.tokenize">Tokenizer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1489" class="rowColor">
+<tr id="i1511" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerFactory.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerFactory</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1490" class="altColor">
+<tr id="i1512" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPost.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPost</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1491" class="rowColor">
+<tr id="i1513" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostCount.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostCount</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1492" class="altColor">
+<tr id="i1514" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostHash.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostHash</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1493" class="rowColor">
+<tr id="i1515" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPostPosition.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPostPosition</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1494" class="altColor">
+<tr id="i1516" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPre.html" title="interface in org.apache.sysds.runtime.transform.tokenize">TokenizerPre</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1495" class="rowColor">
+<tr id="i1517" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreNgram.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreNgram</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1496" class="altColor">
+<tr id="i1518" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/transform/tokenize/TokenizerPreWhitespaceSplit.html" title="class in org.apache.sysds.runtime.transform.tokenize">TokenizerPreWhitespaceSplit</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1497" class="rowColor">
+<tr id="i1519" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Transform.html" title="class in org.apache.sysds.lops">Transform</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1498" class="altColor">
+<tr id="i1520" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/utils/stats/TransformStatistics.html" title="class in org.apache.sysds.utils.stats">TransformStatistics</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1499" class="rowColor">
+<tr id="i1521" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/TriggerBroadcastTask.html" title="class in org.apache.sysds.runtime.instructions.cp">TriggerBroadcastTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1500" class="altColor">
+<tr id="i1522" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/TriggerRemoteOperationsTask.html" title="class in org.apache.sysds.runtime.instructions.cp">TriggerRemoteOperationsTask</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1501" class="rowColor">
+<tr id="i1523" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1502" class="altColor">
+<tr id="i1524" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/TripleIndexes.Comparator.html" title="class in org.apache.sysds.runtime.matrix.data">TripleIndexes.Comparator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1503" class="rowColor">
+<tr id="i1525" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/Tsmm2SPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">Tsmm2SPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1504" class="altColor">
+<tr id="i1526" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/TsmmFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">TsmmFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1505" class="rowColor">
+<tr id="i1527" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/TsmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">TsmmSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1506" class="altColor">
+<tr id="i1528" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.html" title="class in org.apache.sysds.common">Types</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1507" class="rowColor">
+<tr id="i1529" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.AggOp.html" title="enum in org.apache.sysds.common">Types.AggOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1508" class="altColor">
+<tr id="i1530" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.BlockType.html" title="enum in org.apache.sysds.common">Types.BlockType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Serialization block types (empty, dense, sparse, ultra-sparse)</div>
 </th>
 </tr>
-<tr id="i1509" class="rowColor">
+<tr id="i1531" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.CorrectionLocationType.html" title="enum in org.apache.sysds.common">Types.CorrectionLocationType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1510" class="altColor">
+<tr id="i1532" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.DataType.html" title="enum in org.apache.sysds.common">Types.DataType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Data types (tensor, matrix, scalar, frame, object, unknown).</div>
 </th>
 </tr>
-<tr id="i1511" class="rowColor">
+<tr id="i1533" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.Direction.html" title="enum in org.apache.sysds.common">Types.Direction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type of aggregation direction</div>
 </th>
 </tr>
-<tr id="i1512" class="altColor">
+<tr id="i1534" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.ExecMode.html" title="enum in org.apache.sysds.common">Types.ExecMode</a></td>
 <th class="colLast" scope="row">
 <div class="block">Execution mode for entire script.</div>
 </th>
 </tr>
-<tr id="i1513" class="rowColor">
+<tr id="i1535" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.ExecType.html" title="enum in org.apache.sysds.common">Types.ExecType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Execution type of individual operations.</div>
 </th>
 </tr>
-<tr id="i1514" class="altColor">
+<tr id="i1536" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.FileFormat.html" title="enum in org.apache.sysds.common">Types.FileFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1515" class="rowColor">
+<tr id="i1537" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.FunctionBlock.html" title="interface in org.apache.sysds.common">Types.FunctionBlock</a></td>
 <th class="colLast" scope="row">
 <div class="block">Common type for both function statement blocks and function program blocks</div>
 </th>
 </tr>
-<tr id="i1516" class="altColor">
+<tr id="i1538" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1517" class="rowColor">
+<tr id="i1539" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOp2.html" title="enum in org.apache.sysds.common">Types.OpOp2</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1518" class="altColor">
+<tr id="i1540" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOp3.html" title="enum in org.apache.sysds.common">Types.OpOp3</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1519" class="rowColor">
+<tr id="i1541" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOp4.html" title="enum in org.apache.sysds.common">Types.OpOp4</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1520" class="altColor">
+<tr id="i1542" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOpData.html" title="enum in org.apache.sysds.common">Types.OpOpData</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1521" class="rowColor">
+<tr id="i1543" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOpDG.html" title="enum in org.apache.sysds.common">Types.OpOpDG</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1522" class="altColor">
+<tr id="i1544" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOpDnn.html" title="enum in org.apache.sysds.common">Types.OpOpDnn</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1523" class="rowColor">
+<tr id="i1545" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.OpOpN.html" title="enum in org.apache.sysds.common">Types.OpOpN</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1524" class="altColor">
+<tr id="i1546" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.ParamBuiltinOp.html" title="enum in org.apache.sysds.common">Types.ParamBuiltinOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1525" class="rowColor">
+<tr id="i1547" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.ReOrgOp.html" title="enum in org.apache.sysds.common">Types.ReOrgOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1526" class="altColor">
+<tr id="i1548" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.ReturnType.html" title="enum in org.apache.sysds.common">Types.ReturnType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Type of builtin or user-defined function with regard to its
  number of return variables.</div>
 </th>
 </tr>
-<tr id="i1527" class="rowColor">
+<tr id="i1549" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></td>
 <th class="colLast" scope="row">
 <div class="block">Value types (int, double, string, boolean, unknown).</div>
 </th>
 </tr>
-<tr id="i1528" class="altColor">
+<tr id="i1550" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/UAggOuterChain.html" title="class in org.apache.sysds.lops">UAggOuterChain</a></td>
 <th class="colLast" scope="row">
 <div class="block">TODO Currently this lop only support the right hand side in distributed cache.</div>
 </th>
 </tr>
-<tr id="i1529" class="rowColor">
+<tr id="i1551" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/UaggOuterChainCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UaggOuterChainCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1530" class="altColor">
+<tr id="i1552" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/UaggOuterChainSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UaggOuterChainSPInstruction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Two types of broadcast variables used -- 1.</div>
 </th>
 </tr>
-<tr id="i1531" class="rowColor">
+<tr id="i1553" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/cuda/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Unary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1532" class="altColor">
+<tr id="i1554" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/codegen/cplan/java/Unary.html" title="class in org.apache.sysds.hops.codegen.cplan.java">Unary</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1533" class="rowColor">
+<tr id="i1555" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/Unary.html" title="class in org.apache.sysds.lops">Unary</a></td>
 <th class="colLast" scope="row">
 <div class="block">Lop to perform following operations: with one operand -- NOT(A), ABS(A),
@@ -7519,59 +7615,59 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  H=H*5, EXP(A,2), LOG(A,2)</div>
 </th>
 </tr>
-<tr id="i1534" class="altColor">
+<tr id="i1556" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1535" class="rowColor">
+<tr id="i1557" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/UnaryCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1536" class="altColor">
+<tr id="i1558" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/UnaryFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1537" class="rowColor">
+<tr id="i1559" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/UnaryFrameCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryFrameCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1538" class="altColor">
+<tr id="i1560" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/UnaryFrameSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryFrameSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1539" class="rowColor">
+<tr id="i1561" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/UnaryMatrixCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryMatrixCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1540" class="altColor">
+<tr id="i1562" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/UnaryMatrixFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">UnaryMatrixFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1541" class="rowColor">
+<tr id="i1563" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/UnaryMatrixSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnaryMatrixSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1542" class="altColor">
+<tr id="i1564" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/UnaryOp.html" title="class in org.apache.sysds.hops">UnaryOp</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1543" class="rowColor">
+<tr id="i1565" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/operators/UnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">UnaryOperator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1544" class="altColor">
+<tr id="i1566" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/UnaryScalarCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">UnaryScalarCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1545" class="rowColor">
+<tr id="i1567" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/UnarySPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">UnarySPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1546" class="altColor">
+<tr id="i1568" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/gpu/context/UnifiedMemoryAllocator.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">UnifiedMemoryAllocator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1547" class="rowColor">
+<tr id="i1569" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></td>
 <th class="colLast" scope="row">
 <div class="block">Unified Memory Manager - Initial Design
@@ -7582,214 +7678,222 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  program.</div>
 </th>
 </tr>
-<tr id="i1548" class="altColor">
+<tr id="i1570" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/UniformPRNGenerator.html" title="class in org.apache.sysds.runtime.util">UniformPRNGenerator</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1549" class="rowColor">
+<tr id="i1571" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/utils/Util.html" title="interface in org.apache.sysds.runtime.compress.utils">Util</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1550" class="altColor">
+<tr id="i1572" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1551" class="rowColor">
+<tr id="i1573" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/hdf5/Utils.html" title="class in org.apache.sysds.runtime.io.hdf5">Utils</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1552" class="altColor">
+<tr id="i1574" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ValueComparisonFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueComparisonFunction</a></td>
 <th class="colLast" scope="row">
 <div class="block">Abstraction for comparison (relational) operators in order to 
  force a proper implementation by all relevant subclasses.</div>
 </th>
 </tr>
-<tr id="i1553" class="rowColor">
+<tr id="i1575" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/ValueFunction.html" title="class in org.apache.sysds.runtime.functionobjects">ValueFunction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1554" class="altColor">
+<tr id="i1576" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/iogen/ValueTrimFormat.html" title="class in org.apache.sysds.runtime.iogen">ValueTrimFormat</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1555" class="rowColor">
+<tr id="i1577" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1556" class="altColor">
+<tr id="i1578" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1557" class="rowColor">
+<tr id="i1579" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/fed/VariableFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">VariableFEDInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1558" class="altColor">
+<tr id="i1580" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/VariableSet.html" title="class in org.apache.sysds.parser">VariableSet</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1559" class="rowColor">
+<tr id="i1581" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/hops/cost/VarStats.html" title="class in org.apache.sysds.hops.cost">VarStats</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1560" class="altColor">
+<tr id="i1582" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/common/Warnings.html" title="class in org.apache.sysds.common">Warnings</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1561" class="rowColor">
+<tr id="i1583" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/WeightedCell.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1562" class="altColor">
+<tr id="i1584" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedCrossEntropy.html" title="class in org.apache.sysds.lops">WeightedCrossEntropy</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1563" class="rowColor">
+<tr id="i1585" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedCrossEntropy.WCeMMType.html" title="enum in org.apache.sysds.lops">WeightedCrossEntropy.WCeMMType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1564" class="altColor">
+<tr id="i1586" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedCrossEntropyR.html" title="class in org.apache.sysds.lops">WeightedCrossEntropyR</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1565" class="rowColor">
+<tr id="i1587" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedDivMM.html" title="class in org.apache.sysds.lops">WeightedDivMM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1566" class="altColor">
+<tr id="i1588" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedDivMM.WDivMMType.html" title="enum in org.apache.sysds.lops">WeightedDivMM.WDivMMType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1567" class="rowColor">
+<tr id="i1589" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedDivMMR.html" title="class in org.apache.sysds.lops">WeightedDivMMR</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1568" class="altColor">
+<tr id="i1590" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/matrix/data/WeightedPair.html" title="class in org.apache.sysds.runtime.matrix.data">WeightedPair</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1569" class="rowColor">
+<tr id="i1591" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedSigmoid.html" title="class in org.apache.sysds.lops">WeightedSigmoid</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1570" class="altColor">
+<tr id="i1592" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedSigmoid.WSigmoidType.html" title="enum in org.apache.sysds.lops">WeightedSigmoid.WSigmoidType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1571" class="rowColor">
+<tr id="i1593" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedSigmoidR.html" title="class in org.apache.sysds.lops">WeightedSigmoidR</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1572" class="altColor">
+<tr id="i1594" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedSquaredLoss.html" title="class in org.apache.sysds.lops">WeightedSquaredLoss</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1573" class="rowColor">
+<tr id="i1595" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedSquaredLoss.WeightsType.html" title="enum in org.apache.sysds.lops">WeightedSquaredLoss.WeightsType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1574" class="altColor">
+<tr id="i1596" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedSquaredLossR.html" title="class in org.apache.sysds.lops">WeightedSquaredLossR</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1575" class="rowColor">
+<tr id="i1597" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedUnaryMM.html" title="class in org.apache.sysds.lops">WeightedUnaryMM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1576" class="altColor">
+<tr id="i1598" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedUnaryMM.WUMMType.html" title="enum in org.apache.sysds.lops">WeightedUnaryMM.WUMMType</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1577" class="rowColor">
+<tr id="i1599" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/lops/WeightedUnaryMMR.html" title="class in org.apache.sysds.lops">WeightedUnaryMMR</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1578" class="altColor">
+<tr id="i1600" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">WhileProgramBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1579" class="rowColor">
+<tr id="i1601" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/WhileStatement.html" title="class in org.apache.sysds.parser">WhileStatement</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1580" class="altColor">
+<tr id="i1602" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/parser/WhileStatementBlock.html" title="class in org.apache.sysds.parser">WhileStatementBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1581" class="rowColor">
+<tr id="i1603" class="rowColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/WorkerController.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">WorkerController</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1604" class="altColor">
+<td class="colFirst"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/WorkerService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">WorkerService</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i1605" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/WorkloadAnalyzer.html" title="class in org.apache.sysds.runtime.compress.workload">WorkloadAnalyzer</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1582" class="altColor">
+<tr id="i1606" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterBinaryBlock.html" title="class in org.apache.sysds.runtime.io">WriterBinaryBlock</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1583" class="rowColor">
+<tr id="i1607" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">WriterBinaryBlockParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1584" class="altColor">
+<tr id="i1608" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterHDF5.html" title="class in org.apache.sysds.runtime.io">WriterHDF5</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1585" class="rowColor">
+<tr id="i1609" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterHDF5Parallel.html" title="class in org.apache.sysds.runtime.io">WriterHDF5Parallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1586" class="altColor">
+<tr id="i1610" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterMatrixMarket.html" title="class in org.apache.sysds.runtime.io">WriterMatrixMarket</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1587" class="rowColor">
+<tr id="i1611" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterMatrixMarketParallel.html" title="class in org.apache.sysds.runtime.io">WriterMatrixMarketParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1588" class="altColor">
+<tr id="i1612" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterTextCell.html" title="class in org.apache.sysds.runtime.io">WriterTextCell</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1589" class="rowColor">
+<tr id="i1613" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterTextCellParallel.html" title="class in org.apache.sysds.runtime.io">WriterTextCellParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1590" class="altColor">
+<tr id="i1614" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterTextCSV.html" title="class in org.apache.sysds.runtime.io">WriterTextCSV</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1591" class="rowColor">
+<tr id="i1615" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterTextCSVParallel.html" title="class in org.apache.sysds.runtime.io">WriterTextCSVParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1592" class="altColor">
+<tr id="i1616" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterTextLIBSVM.html" title="class in org.apache.sysds.runtime.io">WriterTextLIBSVM</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1593" class="rowColor">
+<tr id="i1617" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/io/WriterTextLIBSVMParallel.html" title="class in org.apache.sysds.runtime.io">WriterTextLIBSVMParallel</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1594" class="altColor">
+<tr id="i1618" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/WriteSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">WriteSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1595" class="rowColor">
+<tr id="i1619" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/WTreeNode.html" title="class in org.apache.sysds.runtime.compress.workload">WTreeNode</a></td>
 <th class="colLast" scope="row">
 <div class="block">A Node in the WTree, this is used for any nodes that are not the root.</div>
 </th>
 </tr>
-<tr id="i1596" class="altColor">
+<tr id="i1620" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/compress/workload/WTreeRoot.html" title="class in org.apache.sysds.runtime.compress.workload">WTreeRoot</a></td>
 <th class="colLast" scope="row">
 <div class="block">The root node of the tree, located at the top of the tree.</div>
 </th>
 </tr>
-<tr id="i1597" class="rowColor">
+<tr id="i1621" class="rowColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/functionobjects/Xor.html" title="class in org.apache.sysds.runtime.functionobjects">Xor</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
-<tr id="i1598" class="altColor">
+<tr id="i1622" class="altColor">
 <td class="colFirst"><a href="org/apache/sysds/runtime/instructions/spark/ZipmmSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">ZipmmSPInstruction</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
diff --git a/docs/api/java/allclasses.html b/docs/api/java/allclasses.html
index 6d98d6683b..cb34d67263 100644
--- a/docs/api/java/allclasses.html
+++ b/docs/api/java/allclasses.html
@@ -85,7 +85,7 @@
 <li><a href="org/apache/sysds/runtime/compress/workload/AWTreeNode.html" title="class in org.apache.sysds.runtime.compress.workload">AWTreeNode</a></li>
 <li><a href="org/apache/sysds/runtime/compress/workload/AWTreeNode.WTNodeType.html" title="enum in org.apache.sysds.runtime.compress.workload">AWTreeNode.WTNodeType</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/BalanceToAvgFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">BalanceToAvgFederatedScheme</a></li>
-<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers"><span class="interfaceName">BaseController</span></a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/BaseEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">BaseEntityModel</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/BasicProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">BasicProgramBlock</a></li>
 <li><a href="org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></li>
 <li><a href="org/apache/sysds/hops/codegen/cplan/cuda/Binary.html" title="class in org.apache.sysds.hops.codegen.cplan.cuda">Binary</a></li>
@@ -175,6 +175,7 @@
 <li><a href="org/apache/sysds/runtime/privacy/CheckedConstraintsLog.html" title="class in org.apache.sysds.runtime.privacy">CheckedConstraintsLog</a></li>
 <li><a href="org/apache/sysds/lops/Checkpoint.html" title="class in org.apache.sysds.lops">Checkpoint</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/CheckpointSPInstruction.html" title="class in org.apache.sysds.runtime.instructions.spark">CheckpointSPInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/cp/CiphertextMatrix.html" title="class in org.apache.sysds.runtime.instructions.cp">CiphertextMatrix</a></li>
 <li><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></li>
 <li><a href="org/apache/sysds/runtime/compress/lib/CLALibBinaryCellOp.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibBinaryCellOp</a></li>
 <li><a href="org/apache/sysds/runtime/compress/lib/CLALibCMOps.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibCMOps</a></li>
@@ -283,6 +284,7 @@
 <li><a href="org/apache/sysds/api/ConfigurableAPI.html" title="interface in org.apache.sysds.api"><span class="interfaceName">ConfigurableAPI</span></a></li>
 <li><a href="org/apache/sysds/conf/ConfigurationManager.html" title="class in org.apache.sysds.conf">ConfigurationManager</a></li>
 <li><a href="org/apache/sysds/api/jmlc/Connection.html" title="class in org.apache.sysds.api.jmlc">Connection</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">Constants</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/encoding/ConstEncoding.html" title="class in org.apache.sysds.runtime.compress.estim.encoding">ConstEncoding</a></li>
 <li><a href="org/apache/sysds/parser/ConstIdentifier.html" title="class in org.apache.sysds.parser">ConstIdentifier</a></li>
 <li><a href="org/apache/sysds/runtime/matrix/data/Converter.html" title="interface in org.apache.sysds.runtime.matrix.data"><span class="interfaceName">Converter</span></a></li>
@@ -290,6 +292,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ConvertMatrixBlockToIJVLines.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ConvertMatrixBlockToIJVLines</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ConvertStringToLongTextPair.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ConvertStringToLongTextPair</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">CoordinatorController</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">CoordinatorService</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyBinaryCellFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyBinaryCellFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyFrameBlockFunction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/CopyFrameBlockPairFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">CopyFrameBlockPairFunction</a></li>
@@ -423,6 +426,7 @@
 <li><a href="org/apache/sysds/runtime/util/DependencyTask.html" title="class in org.apache.sysds.runtime.util">DependencyTask</a></li>
 <li><a href="org/apache/sysds/runtime/util/DependencyThreadPool.html" title="class in org.apache.sysds.runtime.util">DependencyThreadPool</a></li>
 <li><a href="org/apache/sysds/runtime/util/DependencyWrapperTask.html" title="class in org.apache.sysds.runtime.util">DependencyWrapperTask</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/DerbyRepository.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">DerbyRepository</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/DiagIndex.html" title="class in org.apache.sysds.runtime.functionobjects">DiagIndex</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/Dictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">Dictionary</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DictionaryFactory.html" title="interface in org.apache.sysds.runtime.compress.colgroup.dictionary"><span class="interfaceName">DictionaryFactory</span></a></li>
@@ -528,6 +532,8 @@
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></li>
 <li><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/cp/Encrypted.html" title="class in org.apache.sysds.runtime.instructions.cp">Encrypted</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/EntityEnum.html" title="enum in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">EntityEnum</a></li>
 <li><a href="org/apache/sysds/utils/EnvironmentHelper.html" title="class in org.apache.sysds.utils">EnvironmentHelper</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Equals.html" title="class in org.apache.sysds.runtime.functionobjects">Equals</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/EstimationFactors.html" title="class in org.apache.sysds.runtime.compress.estim">EstimationFactors</a></li>
@@ -593,6 +599,8 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedResponse.ResponseType.html" title="enum in org.apache.sysds.runtime.controlprogram.federated">FederatedResponse.ResponseType</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollectFunction.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics.FedStatsCollectFunction</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics.FedStatsCollection</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedUDF.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedUDF</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorker</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorker.FederatedResponseEncoder.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorker.FederatedResponseEncoder</a></li>
@@ -735,6 +743,7 @@
 <li><a href="org/apache/sysds/utils/Hash.HashType.html" title="enum in org.apache.sysds.utils">Hash.HashType</a></li>
 <li><a href="org/apache/sysds/runtime/compress/estim/sample/HassAndStokes.html" title="class in org.apache.sysds.runtime.compress.estim.sample">HassAndStokes</a></li>
 <li><a href="org/apache/sysds/runtime/util/HDFSTool.html" title="class in org.apache.sysds.runtime.util">HDFSTool</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/HEParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">HEParamServer</a></li>
 <li><a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></li>
 <li><a href="org/apache/sysds/hops/rewrite/HopDagValidator.html" title="class in org.apache.sysds.hops.rewrite">HopDagValidator</a></li>
 <li><a href="org/apache/sysds/hops/cost/HopRel.html" title="class in org.apache.sysds.hops.cost">HopRel</a></li>
@@ -742,6 +751,7 @@
 <li><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></li>
 <li><a href="org/apache/sysds/hops/HopsException.html" title="class in org.apache.sysds.hops">HopsException</a></li>
 <li><a href="org/apache/sysds/runtime/compress/cost/HybridCostEstimator.html" title="class in org.apache.sysds.runtime.compress.cost">HybridCostEstimator</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/IController.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers"><span class="interfaceName">IController</span></a></li>
 <li><a href="org/apache/sysds/parser/Identifier.html" title="class in org.apache.sysds.parser">Identifier</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDHandler.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDHandler</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/util/IDSequence.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.util">IDSequence</a></li>
@@ -798,6 +808,7 @@
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRemoveUnusedFunctions.html" title="class in org.apache.sysds.hops.ipa">IPAPassRemoveUnusedFunctions</a></li>
 <li><a href="org/apache/sysds/hops/ipa/IPAPassReplaceEvalFunctionCalls.html" title="class in org.apache.sysds.hops.ipa">IPAPassReplaceEvalFunctionCalls</a></li>
 <li><a href="org/apache/sysds/hops/ipa/IPAPassRewriteFederatedPlan.html" title="class in org.apache.sysds.hops.ipa">IPAPassRewriteFederatedPlan</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/IRepository.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories"><span class="interfaceName">IRepository</span></a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInList.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInList</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsBlockInRange</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/IsFrameBlockInRange.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">IsFrameBlockInRange</a></li>
@@ -919,6 +930,7 @@
 <li><a href="org/apache/sysds/lops/MapMult.CacheType.html" title="enum in org.apache.sysds.lops">MapMult.CacheType</a></li>
 <li><a href="org/apache/sysds/lops/MapMultChain.html" title="class in org.apache.sysds.lops">MapMultChain</a></li>
 <li><a href="org/apache/sysds/lops/MapMultChain.ChainType.html" title="enum in org.apache.sysds.lops">MapMultChain.ChainType</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/MapperService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">MapperService</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToBit.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToBit</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToByte.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToByte</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/mapping/MapToChar.html" title="class in org.apache.sysds.runtime.compress.colgroup.mapping">MapToChar</a></li>
@@ -1035,9 +1047,12 @@
 <li><a href="org/apache/sysds/runtime/matrix/operators/MultiThreadedOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">MultiThreadedOperator</a></li>
 <li><a href="org/apache/sysds/lops/Nary.html" title="class in org.apache.sysds.lops">Nary</a></li>
 <li><a href="org/apache/sysds/hops/NaryOp.html" title="class in org.apache.sysds.hops">NaryOp</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NativeHEHelper</a></li>
 <li><a href="org/apache/sysds/utils/NativeHelper.html" title="class in org.apache.sysds.utils">NativeHelper</a></li>
 <li><a href="org/apache/sysds/utils/NativeHelper.NativeBlasState.html" title="enum in org.apache.sysds.utils">NativeHelper.NativeBlasState</a></li>
 <li><a href="org/apache/sysds/utils/stats/NativeStatistics.html" title="class in org.apache.sysds.utils.stats">NativeStatistics</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/NetworkTrafficCounter.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NetworkTrafficCounter</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/NodeEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">NodeEntityModel</a></li>
 <li><a href="org/apache/sysds/runtime/util/NormalPRNGenerator.html" title="class in org.apache.sysds.runtime.util">NormalPRNGenerator</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/Not.html" title="class in org.apache.sysds.runtime.functionobjects">Not</a></li>
 <li><a href="org/apache/sysds/runtime/functionobjects/NotEquals.html" title="class in org.apache.sysds.runtime.functionobjects">NotEquals</a></li>
@@ -1141,6 +1156,7 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/PerformGroupByAggInReducer.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">PerformGroupByAggInReducer</a></li>
 <li><a href="org/apache/sysds/lops/PickByCount.html" title="class in org.apache.sysds.lops">PickByCount</a></li>
 <li><a href="org/apache/sysds/lops/PickByCount.OperationTypes.html" title="enum in org.apache.sysds.lops">PickByCount.OperationTypes</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/cp/PlaintextMatrix.html" title="class in org.apache.sysds.runtime.instructions.cp">PlaintextMatrix</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanAnalyzer.html" title="class in org.apache.sysds.hops.codegen.opt">PlanAnalyzer</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanPartition.html" title="class in org.apache.sysds.hops.codegen.opt">PlanPartition</a></li>
 <li><a href="org/apache/sysds/hops/codegen/opt/PlanSelection.html" title="class in org.apache.sysds.hops.codegen.opt">PlanSelection</a></li>
@@ -1187,11 +1203,13 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcResponse</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/PSRpcResponse.Type.html" title="enum in org.apache.sysds.runtime.controlprogram.paramserv.rpc">PSRpcResponse.Type</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/PSWorker.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">PSWorker</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/PublicKey.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption">PublicKey</a></li>
 <li><a href="org/apache/sysds/runtime/util/Py4jConverterUtils.html" title="class in org.apache.sysds.runtime.util">Py4jConverterUtils</a></li>
 <li><a href="org/apache/sysds/api/PythonDMLScript.html" title="class in org.apache.sysds.api">PythonDMLScript</a></li>
 <li><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/QDictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">QDictionary</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/QuantilePickCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">QuantilePickCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction</a></li>
+<li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.CreateMatrixFromFrame.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.CreateMatrixFromFrame</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.GetHistogram.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.GetHistogram</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.GetValuesInRange.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.GetValuesInRange</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.GetValuesInRanges.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.GetValuesInRanges</a></li>
@@ -1290,10 +1308,10 @@
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateTensorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateTensorFunction</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/ReplicateToMaxFederatedScheme.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.dp">ReplicateToMaxFederatedScheme</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/functions/ReplicateVectorFunction.html" title="class in org.apache.sysds.runtime.instructions.spark.functions">ReplicateVectorFunction</a></li>
-<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/Request.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring">Request</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/Request.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">Request</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/ReshapeCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">ReshapeCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/fed/ReshapeFEDInstruction.html" title="class in org.apache.sysds.runtime.instructions.fed">ReshapeFEDInstruction</a></li>
-<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/Response.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring">Response</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/Response.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">Response</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMerge.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMerge</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeFrameLocalMemory.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeFrameLocalMemory</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/ResultMergeLocalAutomatic.html" title="class in org.apache.sysds.runtime.controlprogram.parfor">ResultMergeLocalAutomatic</a></li>
@@ -1355,6 +1373,8 @@
 <li><a href="org/apache/sysds/api/mlcontext/ScriptExecutor.html" title="class in org.apache.sysds.api.mlcontext">ScriptExecutor</a></li>
 <li><a href="org/apache/sysds/api/ScriptExecutorUtils.html" title="class in org.apache.sysds.api">ScriptExecutorUtils</a></li>
 <li><a href="org/apache/sysds/api/mlcontext/ScriptFactory.html" title="class in org.apache.sysds.api.mlcontext">ScriptFactory</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALClient.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption">SEALClient</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption">SEALServer</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/SerLongWritable.html" title="class in org.apache.sysds.runtime.instructions.spark.data">SerLongWritable</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/spark/data/SerText.html" title="class in org.apache.sysds.runtime.instructions.spark.data">SerText</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/gpu/context/ShadowBuffer.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">ShadowBuffer</a></li>
@@ -1444,6 +1464,8 @@
 <li><a href="org/apache/sysds/parser/dml/StatementInfo.html" title="class in org.apache.sysds.parser.dml">StatementInfo</a></li>
 <li><a href="org/apache/sysds/runtime/controlprogram/parfor/stat/StatisticMonitor.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.stat">StatisticMonitor</a></li>
 <li><a href="org/apache/sysds/utils/Statistics.html" title="class in org.apache.sysds.utils">Statistics</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/StatsEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">StatsEntityModel</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/StatsService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">StatsService</a></li>
 <li><a href="org/apache/sysds/parser/StringIdentifier.html" title="class in org.apache.sysds.parser">StringIdentifier</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/StringInitCPInstruction.html" title="class in org.apache.sysds.runtime.instructions.cp">StringInitCPInstruction</a></li>
 <li><a href="org/apache/sysds/runtime/instructions/cp/StringObject.html" title="class in org.apache.sysds.runtime.instructions.cp">StringObject</a></li>
@@ -1601,6 +1623,8 @@
 <li><a href="org/apache/sysds/runtime/controlprogram/WhileProgramBlock.html" title="class in org.apache.sysds.runtime.controlprogram">WhileProgramBlock</a></li>
 <li><a href="org/apache/sysds/parser/WhileStatement.html" title="class in org.apache.sysds.parser">WhileStatement</a></li>
 <li><a href="org/apache/sysds/parser/WhileStatementBlock.html" title="class in org.apache.sysds.parser">WhileStatementBlock</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/WorkerController.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">WorkerController</a></li>
+<li><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/WorkerService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">WorkerService</a></li>
 <li><a href="org/apache/sysds/runtime/compress/workload/WorkloadAnalyzer.html" title="class in org.apache.sysds.runtime.compress.workload">WorkloadAnalyzer</a></li>
 <li><a href="org/apache/sysds/runtime/io/WriterBinaryBlock.html" title="class in org.apache.sysds.runtime.io">WriterBinaryBlock</a></li>
 <li><a href="org/apache/sysds/runtime/io/WriterBinaryBlockParallel.html" title="class in org.apache.sysds.runtime.io">WriterBinaryBlockParallel</a></li>
diff --git a/docs/api/java/allpackages-index.html b/docs/api/java/allpackages-index.html
index 31b196b74c..d76bc9fd8b 100644
--- a/docs/api/java/allpackages-index.html
+++ b/docs/api/java/allpackages-index.html
@@ -294,13 +294,29 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a></th>
+<th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.models</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.services</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/paramserv/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/paramserv/dp/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.dp</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <th class="colFirst" scope="row"><a href="org/apache/sysds/runtime/controlprogram/paramserv/rpc/package-summary.html">org.apache.sysds.runtime.controlprogram.paramserv.rpc</a></th>
 <td class="colLast">&nbsp;</td>
diff --git a/docs/api/java/constant-values.html b/docs/api/java/constant-values.html
index d2e61ed908..b5275ccbfe 100644
--- a/docs/api/java/constant-values.html
+++ b/docs/api/java/constant-values.html
@@ -1522,60 +1522,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </li>
 <li class="blockList">
 <table class="constantsSummary">
-<caption><span>org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a id="org.apache.sysds.lops.UnaryCP.CAST_AS_BOOLEAN_OPCODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_BOOLEAN_OPCODE">CAST_AS_BOOLEAN_OPCODE</a></code></th>
-<td class="colLast"><code>"castvtb"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a id="org.apache.sysds.lops.UnaryCP.CAST_AS_DOUBLE_OPCODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_DOUBLE_OPCODE">CAST_AS_DOUBLE_OPCODE</a></code></th>
-<td class="colLast"><code>"castvtd"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a id="org.apache.sysds.lops.UnaryCP.CAST_AS_FRAME_OPCODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_FRAME_OPCODE">CAST_AS_FRAME_OPCODE</a></code></th>
-<td class="colLast"><code>"castdtf"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a id="org.apache.sysds.lops.UnaryCP.CAST_AS_INT_OPCODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_INT_OPCODE">CAST_AS_INT_OPCODE</a></code></th>
-<td class="colLast"><code>"castvti"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a id="org.apache.sysds.lops.UnaryCP.CAST_AS_MATRIX_OPCODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_MATRIX_OPCODE">CAST_AS_MATRIX_OPCODE</a></code></th>
-<td class="colLast"><code>"castdtm"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a id="org.apache.sysds.lops.UnaryCP.CAST_AS_SCALAR_OPCODE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_SCALAR_OPCODE">CAST_AS_SCALAR_OPCODE</a></code></th>
-<td class="colLast"><code>"castdts"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="constantsSummary">
 <caption><span>org.apache.sysds.lops.<a href="org/apache/sysds/lops/WeightedCrossEntropy.html" title="class in org.apache.sysds.lops">WeightedCrossEntropy</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -1958,216 +1904,223 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"addresses"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.FED_LOCAL_OBJECT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#FED_LOCAL_OBJECT">FED_LOCAL_OBJECT</a></code></th>
+<td class="colLast"><code>"local_matrix"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.FED_RANGES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#FED_RANGES">FED_RANGES</a></code></th>
 <td class="colLast"><code>"ranges"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.FED_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#FED_TYPE">FED_TYPE</a></code></th>
 <td class="colLast"><code>"type"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.FINE_GRAINED_PRIVACY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#FINE_GRAINED_PRIVACY">FINE_GRAINED_PRIVACY</a></code></th>
 <td class="colLast"><code>"fine_grained_privacy"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.FORMAT_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#FORMAT_TYPE">FORMAT_TYPE</a></code></th>
 <td class="colLast"><code>"format"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.HDF5_DATASET_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#HDF5_DATASET_NAME">HDF5_DATASET_NAME</a></code></th>
 <td class="colLast"><code>"dataset"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.IO_FILENAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#IO_FILENAME">IO_FILENAME</a></code></th>
 <td class="colLast"><code>"iofilename"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.LIBSVM_INDEX_DELIM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#LIBSVM_INDEX_DELIM">LIBSVM_INDEX_DELIM</a></code></th>
 <td class="colLast"><code>"indSep"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.PRIVACY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#PRIVACY">PRIVACY</a></code></th>
 <td class="colLast"><code>"privacy"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_BY_ROW">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_BY_ROW">RAND_BY_ROW</a></code></th>
 <td class="colLast"><code>"byrow"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_COLS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_COLS">RAND_COLS</a></code></th>
 <td class="colLast"><code>"cols"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_DATA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DATA">RAND_DATA</a></code></th>
 <td class="colLast"><code>"data"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_DIMNAMES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DIMNAMES">RAND_DIMNAMES</a></code></th>
 <td class="colLast"><code>"dimnames"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_DIMS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_DIMS">RAND_DIMS</a></code></th>
 <td class="colLast"><code>"dims"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_LAMBDA">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_LAMBDA">RAND_LAMBDA</a></code></th>
 <td class="colLast"><code>"lambda"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_MAX">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_MAX">RAND_MAX</a></code></th>
 <td class="colLast"><code>"max"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_MIN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_MIN">RAND_MIN</a></code></th>
 <td class="colLast"><code>"min"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_PDF">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_PDF">RAND_PDF</a></code></th>
 <td class="colLast"><code>"pdf"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_PDF_UNIFORM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_PDF_UNIFORM">RAND_PDF_UNIFORM</a></code></th>
 <td class="colLast"><code>"uniform"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_ROWS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_ROWS">RAND_ROWS</a></code></th>
 <td class="colLast"><code>"rows"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_SEED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_SEED">RAND_SEED</a></code></th>
 <td class="colLast"><code>"seed"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.RAND_SPARSITY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#RAND_SPARSITY">RAND_SPARSITY</a></code></th>
 <td class="colLast"><code>"sparsity"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.READCOLPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#READCOLPARAM">READCOLPARAM</a></code></th>
 <td class="colLast"><code>"cols"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.READNNZPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#READNNZPARAM">READNNZPARAM</a></code></th>
 <td class="colLast"><code>"nnz"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.READROWPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#READROWPARAM">READROWPARAM</a></code></th>
 <td class="colLast"><code>"rows"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.ROWBLOCKCOUNTPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#ROWBLOCKCOUNTPARAM">ROWBLOCKCOUNTPARAM</a></code></th>
 <td class="colLast"><code>"rows_in_block"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.SCHEMAPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#SCHEMAPARAM">SCHEMAPARAM</a></code></th>
 <td class="colLast"><code>"schema"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.SQL_CONN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_CONN">SQL_CONN</a></code></th>
 <td class="colLast"><code>"conn"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.SQL_PASS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_PASS">SQL_PASS</a></code></th>
 <td class="colLast"><code>"password"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.SQL_QUERY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_QUERY">SQL_QUERY</a></code></th>
 <td class="colLast"><code>"query"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.SQL_USER">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/DataExpression.html#SQL_USER">SQL_USER</a></code></th>
 <td class="colLast"><code>"user"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.DataExpression.VALUETYPEPARAM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
@@ -2641,146 +2594,153 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast"><code>"gradients"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_HE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_HE">PS_HE</a></code></th>
+<td class="colLast"><code>"he"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_HYPER_PARAMS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_HYPER_PARAMS">PS_HYPER_PARAMS</a></code></th>
 <td class="colLast"><code>"hyperparams"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_LABELS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_LABELS">PS_LABELS</a></code></th>
 <td class="colLast"><code>"labels"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_MODE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_MODE">PS_MODE</a></code></th>
 <td class="colLast"><code>"mode"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_MODEL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_MODEL">PS_MODEL</a></code></th>
 <td class="colLast"><code>"model"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_MODELAVG">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_MODELAVG">PS_MODELAVG</a></code></th>
 <td class="colLast"><code>"modelAvg"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_NBATCHES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_NBATCHES">PS_NBATCHES</a></code></th>
 <td class="colLast"><code>"nbatches"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_PARALLELISM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_PARALLELISM">PS_PARALLELISM</a></code></th>
 <td class="colLast"><code>"k"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_SCHEME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_SCHEME">PS_SCHEME</a></code></th>
 <td class="colLast"><code>"scheme"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_SEED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_SEED">PS_SEED</a></code></th>
 <td class="colLast"><code>"seed"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_UPDATE_FUN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_UPDATE_FUN">PS_UPDATE_FUN</a></code></th>
 <td class="colLast"><code>"upd"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_UPDATE_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_UPDATE_TYPE">PS_UPDATE_TYPE</a></code></th>
 <td class="colLast"><code>"utype"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_VAL_FEATURES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_VAL_FEATURES">PS_VAL_FEATURES</a></code></th>
 <td class="colLast"><code>"val_features"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_VAL_FUN">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_VAL_FUN">PS_VAL_FUN</a></code></th>
 <td class="colLast"><code>"val"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.PS_VAL_LABELS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#PS_VAL_LABELS">PS_VAL_LABELS</a></code></th>
 <td class="colLast"><code>"val_labels"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.SCALAR_DATA_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#SCALAR_DATA_TYPE">SCALAR_DATA_TYPE</a></code></th>
 <td class="colLast"><code>"scalar"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.SEQ_FROM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#SEQ_FROM">SEQ_FROM</a></code></th>
 <td class="colLast"><code>"from"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.SEQ_INCR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#SEQ_INCR">SEQ_INCR</a></code></th>
 <td class="colLast"><code>"incr"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.SEQ_TO">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#SEQ_TO">SEQ_TO</a></code></th>
 <td class="colLast"><code>"to"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.SETWD">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#SETWD">SETWD</a></code></th>
 <td class="colLast"><code>"setwd"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.SOURCE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/Statement.html#SOURCE">SOURCE</a></code></th>
 <td class="colLast"><code>"source"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.Statement.STRING_VALUE_TYPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
@@ -2825,7 +2785,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/parser/dml/DmlLexer.html#_serializedATN">_serializedATN</a></code></th>
-<td class="colLast"><code>"\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\u0002H\u02c7\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u00 [...]
+<td class="colLast"><code>"\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\u0002H\u02ce\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u00 [...]
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a id="org.apache.sysds.parser.dml.DmlLexer.ALPHABET">
@@ -4347,6 +4307,97 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary">
+<caption><span>org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">Constants</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.COORDINATORS_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#COORDINATORS_TABLE_NAME">COORDINATORS_TABLE_NAME</a></code></th>
+<td class="colLast"><code>"coordinators"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_ADDR_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_ADDR_COL">ENTITY_ADDR_COL</a></code></th>
+<td class="colLast"><code>"address"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_CPU_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_CPU_COL">ENTITY_CPU_COL</a></code></th>
+<td class="colLast"><code>"cpuUsage"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_HEAVY_HITTERS_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_HEAVY_HITTERS_COL">ENTITY_HEAVY_HITTERS_COL</a></code></th>
+<td class="colLast"><code>"heavyHitters"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_ID_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_ID_COL">ENTITY_ID_COL</a></code></th>
+<td class="colLast"><code>"id"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_MEM_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_MEM_COL">ENTITY_MEM_COL</a></code></th>
+<td class="colLast"><code>"memoryUsage"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_NAME_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_NAME_COL">ENTITY_NAME_COL</a></code></th>
+<td class="colLast"><code>"name"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_TRAFFIC_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_TRAFFIC_COL">ENTITY_TRAFFIC_COL</a></code></th>
+<td class="colLast"><code>"coordinatorTraffic"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.ENTITY_WORKER_ID_COL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#ENTITY_WORKER_ID_COL">ENTITY_WORKER_ID_COL</a></code></th>
+<td class="colLast"><code>"workerId"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.STATS_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#STATS_TABLE_NAME">STATS_TABLE_NAME</a></code></th>
+<td class="colLast"><code>"statistics"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants.WORKERS_TABLE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#WORKERS_TABLE_NAME">WORKERS_TABLE_NAME</a></code></th>
+<td class="colLast"><code>"workers"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary">
 <caption><span>org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/ParamservUtils.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">ParamservUtils</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -5839,6 +5890,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#LPLACEHOLDER">LPLACEHOLDER</a></code></th>
 <td class="colLast"><code>"IN#"</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a id="org.apache.sysds.runtime.lineage.LineageItemUtils.SERIALIZATION_OPCODE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#SERIALIZATION_OPCODE">SERIALIZATION_OPCODE</a></code></th>
+<td class="colLast"><code>"serialize"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/docs/api/java/element-list b/docs/api/java/element-list
index f35f276f85..348a9f8dd4 100644
--- a/docs/api/java/element-list
+++ b/docs/api/java/element-list
@@ -45,8 +45,12 @@ org.apache.sysds.runtime.controlprogram.context
 org.apache.sysds.runtime.controlprogram.federated
 org.apache.sysds.runtime.controlprogram.federated.monitoring
 org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers
+org.apache.sysds.runtime.controlprogram.federated.monitoring.models
+org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories
+org.apache.sysds.runtime.controlprogram.federated.monitoring.services
 org.apache.sysds.runtime.controlprogram.paramserv
 org.apache.sysds.runtime.controlprogram.paramserv.dp
+org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption
 org.apache.sysds.runtime.controlprogram.paramserv.rpc
 org.apache.sysds.runtime.controlprogram.parfor
 org.apache.sysds.runtime.controlprogram.parfor.opt
diff --git a/docs/api/java/index-all.html b/docs/api/java/index-all.html
index b67b23dde6..f1983b3fd3 100644
--- a/docs/api/java/index-all.html
+++ b/docs/api/java/index-all.html
@@ -129,16 +129,28 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accExecutionTime(long)">accExecutionTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accFedAggregation(long)">accFedAggregation(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accFedCommunicationTime(long)">accFedCommunicationTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accFedDataPartitioningTime(long)">accFedDataPartitioningTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accFedGradientWeightingTime(long)">accFedGradientWeightingTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accFedNetworkTime(long)">accFedNetworkTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accFedWorkerComputing(long)">accFedWorkerComputing(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accGradientComputeTime(long)">accGradientComputeTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accHEAccumulation(long)">accHEAccumulation(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accHEDecryptionTime(long)">accHEDecryptionTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accHEEncryptionTime(long)">accHEEncryptionTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accHEPartialDecryptionTime(long)">accHEPartialDecryptionTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accLocalModelUpdateTime(long)">accLocalModelUpdateTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accModelBroadcastTime(long)">accModelBroadcastTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
@@ -165,6 +177,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accSetupTime(long)">accSetupTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html#accumulateCiphertexts(long,byte%5B%5D%5B%5D)">accumulateCiphertexts(long, byte[][])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NativeHEHelper</a></dt>
+<dd>
+<div class="block">accumulates the given ciphertexts into a sum ciphertext and returns it</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html#accumulateCiphertexts(org.apache.sysds.runtime.instructions.cp.CiphertextMatrix%5B%5D)">accumulateCiphertexts(CiphertextMatrix[])</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption.<a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html" title="class in org.apache.sysds. [...]
+<dd>
+<div class="block">accumulates the given ciphertext blocks into a sum ciphertext and returns it</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html#%3Cinit%3E(org.apache.sysds.parser.dml.DmlParser.StatementContext)">AccumulatorAssignmentStatementContext(DmlParser.StatementContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.AccumulatorAssignmentStatementContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.AccumulatorAssignmentState [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/utils/stats/ParamServStatistics.html#accValidationTime(long)">accValidationTime(long)</a></span> - Static method in class org.apache.sysds.utils.stats.<a href="org/apache/sysds/utils/stats/ParamServStatistics.html" title="class in org.apache.sysds.utils.stats">ParamServStatistics</a></dt>
@@ -577,6 +597,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.html#aggFedPutLineage(java.lang.String)">aggFedPutLineage(String)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.html#aggFedSerializationReuse(long)">aggFedSerializationReuse(long)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,java.util.concurrent.Future%5B%5D,java.util.concurrent.Future%5B%5D,org.apache.sysds.runtime.controlprogram.federated.FederationMap)">aggMatrix(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[], Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysd [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggMatrix(org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator,java.util.concurrent.Future%5B%5D,org.apache.sysds.runtime.controlprogram.federated.FederationMap)">aggMatrix(AggregateUnaryOperator, Future&lt;FederatedResponse&gt;[], FederationMap)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/ [...]
@@ -610,6 +632,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/CTableMap.html#aggregate(long,long,double)">aggregate(long, long, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/CTableMap.html" title="class in org.apache.sysds.runtime.matrix.data">CTableMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html#aggregate(org.apache.sysds.runtime.controlprogram.federated.FederatedStatistics.FedStatsCollection)">aggregate(FederatedStatistics.FedStatsCollection)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html" title="class in org.ap [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/Lop.Type.html#Aggregate">Aggregate</a></span> - org.apache.sysds.lops.<a href="org/apache/sysds/lops/Lop.Type.html" title="enum in org.apache.sysds.lops">Lop.Type</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/privacy/propagation/OperatorType.html#Aggregate">Aggregate</a></span> - org.apache.sysds.runtime.privacy.propagation.<a href="org/apache/sysds/runtime/privacy/propagation/OperatorType.html" title="enum in org.apache.sysds.runtime.privacy.propagation">OperatorType</a></dt>
@@ -707,6 +731,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html#%3Cinit%3E(double,org.apache.sysds.runtime.functionobjects.ValueFunction,org.apache.sysds.common.Types.CorrectionLocationType)">AggregateOperator(double, ValueFunction, Types.CorrectionLocationType)</a></span> - Constructor for class org.apache.sysds.runtime.matrix.operators.<a href="org/apache/sysds/runtime/matrix/operators/AggregateOperator.html" title="class in org.apache.sysds.r [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html#aggregatePartialPublicKeys(long,byte%5B%5D%5B%5D)">aggregatePartialPublicKeys(long, byte[][])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NativeHEHelper</a></dt>
+<dd>
+<div class="block">accumulates the given partial public keys into a public key, stores it in server and returns it</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/HEParamServer.html#aggregatePartialPublicKeys(org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption.PublicKey%5B%5D)">aggregatePartialPublicKeys(PublicKey[])</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/HEParamServer.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv" [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html#aggregatePartialPublicKeys(org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption.PublicKey%5B%5D)">aggregatePartialPublicKeys(PublicKey[])</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption.<a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html" title= [...]
+<dd>
+<div class="block">accumulates the given partial public keys into a public key, stores it in ctx and returns it</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html#aggregatePartialResults(org.apache.sysds.runtime.codegen.SpoofCellwise.AggOp%5B%5D,org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">aggregatePartialResults(SpoofCellwise.AggOp[], MatrixBlock, MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.codegen.<a href="org/apache/sysds/runtime/codegen/SpoofMultiAggregate.html" [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#aggregateResponses(java.util.List)">aggregateResponses(List&lt;Pair&lt;FederatedRange, Future&lt;FederatedResponse&gt;&gt;&gt;)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
@@ -1536,8 +1570,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#apply(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int)">apply(CacheBlock, MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.enco [...]
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderUDF.html#apply(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int)">apply(CacheBlock, MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderUDF.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEn [...]
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#apply(org.apache.sysds.runtime.matrix.data.FrameBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#apply(org.apache.sysds.runtime.matrix.data.FrameBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock)">apply(FrameBlock, MatrixBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
@@ -1554,6 +1586,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#applyColumnOffset()">applyColumnOffset()</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderUDF.html#applyDense(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,org.apache.sysds.runtime.matrix.data.MatrixBlock,int,int,int)">applyDense(CacheBlock, MatrixBlock, int, int, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderUDF.html" title="class in org.apache.sysds.runtime.transform.encode [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/ADictionary.html#applyScalarOp(org.apache.sysds.runtime.matrix.operators.ScalarOperator)">applyScalarOp(ScalarOperator)</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.dictionary.<a href="org/apache/sysds/runtime/compress/colgroup/dictionary/ADictionary.html" title="class in org.apache.sysds.runtime.compress.colgroup.dictionary">ADictionary</a></dt>
 <dd>
 <div class="block">Allocate a new dictionary and applies the scalar operation on each cell of the to then return the new dictionary.</div>
@@ -1728,6 +1762,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">GPUs to use, can specify -1 to use all, comma separated list of GPU numbers, a specific GPU or a range</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html#average(long,byte%5B%5D,byte%5B%5D%5B%5D)">average(long, byte[], byte[][])</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/NativeHEHelper.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NativeHEHelper</a></dt>
+<dd>
+<div class="block">averages the partial decryptions and returns the result</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEALServer.html#average(org.apache.sysds.runtime.instructions.cp.CiphertextMatrix,org.apache.sysds.runtime.instructions.cp.PlaintextMatrix%5B%5D)">average(CiphertextMatrix, PlaintextMatrix[])</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.homomorphicEncryption.<a href="org/apache/sysds/runtime/controlprogram/paramserv/homomorphicEncryption/SEAL [...]
+<dd>
+<div class="block">averages the partial decryptions</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html#AVG">AVG</a></span> - org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/LibMatrixDNN.PoolingType.html" title="enum in org.apache.sysds.runtime.matrix.data">LibMatrixDNN.PoolingType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#AVG_POOL">AVG_POOL</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
@@ -1775,7 +1817,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/io/hdf5/H5Superblock.html#baseAddressByte">baseAddressByte</a></span> - Variable in class org.apache.sysds.runtime.io.hdf5.<a href="org/apache/sysds/runtime/io/hdf5/H5Superblock.html" title="class in org.apache.sysds.runtime.io.hdf5">H5Superblock</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html" title="interface in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers"><span class="typeNameLink">BaseController</span></a> - Interface in <a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers</a></dt>
+<dt><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/BaseEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models"><span class="typeNameLink">BaseEntityModel</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.models</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/BaseEntityModel.html#%3Cinit%3E()">BaseEntityModel()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.monitoring.models.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/models/BaseEntityModel.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.models">BaseEntityModel</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html#BASELINE">BASELINE</a></span> - org.apache.sysds.parser.<a href="org/apache/sysds/parser/Statement.PSRuntimeBalancing.html" title="enum in org.apache.sysds.parser">Statement.PSRuntimeBalancing</a></dt>
 <dd>&nbsp;</dd>
@@ -2521,8 +2565,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock)">build(CacheBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,double%5B%5D)">build(CacheBlock, double[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,double%5B%5D)">build(CacheBlock, double[])</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderBin.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderBin</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,int)">build(CacheBlock, int)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,int,java.util.Map)">build(CacheBlock, int, Map&lt;Integer, double[]&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/MultiColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">MultiColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,java.util.Map)">build(CacheBlock, Map&lt;Integer, double[]&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoder.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html#build(org.apache.sysds.runtime.controlprogram.caching.CacheBlock,java.util.Map)">build(CacheBlock, Map&lt;Integer, double[]&gt;)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/ColumnEncoderComposite.html" title="class in org.apache.sysds.runtime.transform.encode">ColumnEncoderComposite</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html#build(org.apache.sysds.runtime.matrix.data.FrameBlock)">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderMVImpute</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html#build(org.apache.sysds.runtime.matrix.data.FrameBlock)">build(FrameBlock)</a></span> - Method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderOmit.html" title="class in org.apache.sysds.runtime.transform.encode">EncoderOmit</a></dt>
@@ -3046,38 +3100,30 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_BOOLEAN">CAST_AS_BOOLEAN</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_BOOLEAN_OPCODE">CAST_AS_BOOLEAN_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#CAST_AS_DOUBLE">CAST_AS_DOUBLE</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_DOUBLE">CAST_AS_DOUBLE</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_DOUBLE_OPCODE">CAST_AS_DOUBLE_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#CAST_AS_FRAME">CAST_AS_FRAME</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_FRAME">CAST_AS_FRAME</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_FRAME_OPCODE">CAST_AS_FRAME_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#CAST_AS_INT">CAST_AS_INT</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_INT">CAST_AS_INT</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_INT_OPCODE">CAST_AS_INT_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#CAST_AS_LIST">CAST_AS_LIST</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_LIST">CAST_AS_LIST</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#CAST_AS_MATRIX">CAST_AS_MATRIX</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_MATRIX">CAST_AS_MATRIX</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_MATRIX_OPCODE">CAST_AS_MATRIX_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#CAST_AS_SCALAR">CAST_AS_SCALAR</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CAST_AS_SCALAR">CAST_AS_SCALAR</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/lops/UnaryCP.html#CAST_AS_SCALAR_OPCODE">CAST_AS_SCALAR_OPCODE</a></span> - Static variable in class org.apache.sysds.lops.<a href="org/apache/sysds/lops/UnaryCP.html" title="class in org.apache.sysds.lops">UnaryCP</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html#CastAsBooleanVariable">CastAsBooleanVariable</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html#CastAsDoubleVariable">CastAsDoubleVariable</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></dt>
@@ -3086,6 +3132,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html#CastAsIntegerVariable">CastAsIntegerVariable</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html#CastAsListVariable">CastAsListVariable</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html#CastAsMatrixVariable">CastAsMatrixVariable</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html#CastAsScalarVariable">CastAsScalarVariable</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/VariableCPInstruction.VariableOperationCode.html" title="enum in org.apache.sysds.runtime.instructions.cp">VariableCPInstruction.VariableOperationCode</a></dt>
@@ -3215,6 +3263,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#CentralMoment">CentralMoment</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#CentralMoment">CentralMoment</a></span> - org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#CentralMoment">CentralMoment</a></span> - org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/lops/CentralMoment.html#%3Cinit%3E(org.apache.sysds.lops.Lop,org.apache.sysds.lops.Lop,org.apache.sysds.common.Types.DataType,org.apache.sysds.common.Types.ValueType,int,org.apache.sysds.common.Types.ExecType)">CentralMoment(Lop, Lop, Types.DataType, Types.ValueType, int, Types.ExecType)</a></span> - Constructor for class org.apache.sysds.lops.<a href="org/apache/sysds/lops/CentralMoment.html" title="class in org.apache.sysds.lop [...]
@@ -3251,6 +3301,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOpDnn.html#CHANNEL_SUMS">CHANNEL_SUMS</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOpDnn.html" title="enum in org.apache.sysds.common">Types.OpOpDnn</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/NetworkTrafficCounter.html#channelInactive(io.netty.channel.ChannelHandlerContext)">channelInactive(ChannelHandlerContext)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.paramserv.<a href="org/apache/sysds/runtime/controlprogram/paramserv/NetworkTrafficCounter.html" title="class in org.apache.sysds.runtime.controlprogram.paramserv">NetworkTrafficCounter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlLexer.html#channelNames">channelNames</a></span> - Static variable in class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlLexer.html" title="class in org.apache.sysds.parser.dml">DmlLexer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html#channelRead(io.netty.channel.ChannelHandlerContext,java.lang.Object)">channelRead(ChannelHandlerContext, Object)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedWorkerHandler</a></dt>
@@ -3500,6 +3552,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Types.OpOp1.html#CHOLESKY">CHOLESKY</a></span> - org.apache.sysds.common.<a href="org/apache/sysds/common/Types.OpOp1.html" title="enum in org.apache.sysds.common">Types.OpOp1</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/instructions/cp/CiphertextMatrix.html" title="class in org.apache.sysds.runtime.instructions.cp"><span class="typeNameLink">CiphertextMatrix</span></a> - Class in <a href="org/apache/sysds/runtime/instructions/cp/package-summary.html">org.apache.sysds.runtime.instructions.cp</a></dt>
+<dd>
+<div class="block">This class abstracts over an encrypted matrix of ciphertexts.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CiphertextMatrix.html#%3Cinit%3E(int%5B%5D,org.apache.sysds.runtime.meta.DataCharacteristics,byte%5B%5D)">CiphertextMatrix(int[], DataCharacteristics, byte[])</a></span> - Constructor for class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CiphertextMatrix.html" title="class in org.apache.sysds.runtime.instructions.cp">CiphertextMatrix</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib"><span class="typeNameLink">CLALibAppend</span></a> - Class in <a href="org/apache/sysds/runtime/compress/lib/package-summary.html">org.apache.sysds.runtime.compress.lib</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html#%3Cinit%3E()">CLALibAppend()</a></span> - Constructor for class org.apache.sysds.runtime.compress.lib.<a href="org/apache/sysds/runtime/compress/lib/CLALibAppend.html" title="class in org.apache.sysds.runtime.compress.lib">CLALibAppend</a></dt>
@@ -3661,6 +3719,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html#clear()">clear()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/ExecutionContextMap.html" title="class in org.apache.sysds.runtime.controlprogram.federated">ExecutionContextMap</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLookupTable.html#clear()">clear()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedLookupTable.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedLookupTable</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html#clear()">clear()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMapping.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMapping</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html#clear()">clear()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.parfor.opt.<a href="org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreePlanMappingAbstract.html" title="class in org.apache.sysds.runtime.controlprogram.parfor.opt">OptTreePlanMappingAbstract</a></dt>
@@ -4496,6 +4556,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#compact()">compact()</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRow.html#compact(double)">compact(double)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRow.html" title="class in org.apache.sysds.runtime.data">SparseRow</a></dt>
+<dd>
+<div class="block">In-place compaction of values over eps away from zero;
+ and shifts non-zero entries to the left if necessary.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowScalar.html#compact(double)">compact(double)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowScalar.html" title="class in org.apache.sysds.runtime.data">SparseRowScalar</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseRowVector.html#compact(double)">compact(double)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data">SparseRowVector</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/data/SparseBlock.html#compact(int)">compact(int)</a></span> - Method in class org.apache.sysds.runtime.data.<a href="org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a></dt>
 <dd>
 <div class="block">Re-allocate physical row if physical size exceeds
@@ -5216,6 +5285,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html#CONSTANT">CONSTANT</a></span> - org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderMVImpute.MVMethod.html" title="enum in org.apache.sysds.runtime.transform.encode">EncoderMVImpute.MVMethod</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories"><span class="typeNameLink">Constants</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#%3Cinit%3E()">Constants()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">Constants</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html#%3Cinit%3E(org.apache.sysds.parser.dml.DmlParser.ExpressionContext)">ConstDoubleIdExpressionContext(DmlParser.ExpressionContext)</a></span> - Constructor for class org.apache.sysds.parser.dml.<a href="org/apache/sysds/parser/dml/DmlParser.ConstDoubleIdExpressionContext.html" title="class in org.apache.sysds.parser.dml">DmlParser.ConstDoubleIdExpressionContext</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/estim/encoding/ConstEncoding.html" title="class in org.apache.sysds.runtime.compress.estim.encoding"><span class="typeNameLink">ConstEncoding</span></a> - Class in <a href="org/apache/sysds/runtime/compress/estim/encoding/package-summary.html">org.apache.sysds.runtime.compress.estim.encoding</a></dt>
@@ -5377,6 +5450,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/BuiltinConstant.html#contains(java.lang.String)">contains(String)</a></span> - Static method in enum org.apache.sysds.parser.<a href="org/apache/sysds/parser/BuiltinConstant.html" title="enum in org.apache.sysds.parser">BuiltinConstant</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ListObject.html#contains(java.lang.String)">contains(String)</a></span> - Method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ListObject.html" title="class in org.apache.sysds.runtime.instructions.cp">ListObject</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/common/Builtins.html#contains(java.lang.String,boolean,boolean)">contains(String, boolean, boolean)</a></span> - Static method in enum org.apache.sysds.common.<a href="org/apache/sysds/common/Builtins.html" title="enum in org.apache.sysds.common">Builtins</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html#contains(java.util.Collection,java.lang.String)">contains(Collection&lt;ParForStatementBlock.ResultVar&gt;, String)</a></span> - Static method in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/ParForStatementBlock.ResultVar.html" title="class in org.apache.sysds.parser">ParForStatementBlock.ResultVar</a></dt>
@@ -5880,10 +5955,20 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/utils/RDDConverterUtilsExt.html#coordinateMatrixToBinaryBlock(org.apache.spark.SparkContext,org.apache.spark.mllib.linalg.distributed.CoordinateMatrix,org.apache.sysds.runtime.meta.DataCharacteristics,boolean)">coordinateMatrixToBinaryBlock(SparkContext, CoordinateMatrix, DataCharacteristics, boolean)</a></span> - Static method in class org.apache.sysds.runtime.instructions.spark.utils.<a href="org/apac [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/EntityEnum.html#COORDINATOR">COORDINATOR</a></span> - org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/EntityEnum.html" title="enum in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">EntityEnum</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers"><span class="typeNameLink">CoordinatorController</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html#%3Cinit%3E()">CoordinatorController()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers">Coor [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html#COORDINATORS_TABLE_NAME">COORDINATORS_TABLE_NAME</a></span> - Static variable in class org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/Constants.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories">Constants< [...]
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services"><span class="typeNameLink">CoordinatorService</span></a> - Class in <a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/package-summary.html">org.apache.sysds.runtime.controlprogram.federated.monitoring.services</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html#%3Cinit%3E()">CoordinatorService()</a></span> - Constructor for class org.apache.sysds.runtime.controlprogram.federated.monitoring.services.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html" title="class in org.apache.sysds.runtime.controlprogram.federated.monitoring.services">CoordinatorService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html#coordinatorsTrafficBytes">coordinatorsTrafficBytes</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics.FedStatsCollection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html#copy()">copy()</a></span> - Method in class org.apache.sysds.runtime.compress.colgroup.<a href="org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></dt>
 <dd>
 <div class="block">Get a copy of this column group note this is only a shallow copy.</div>
@@ -6448,6 +6533,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html#Covariance">Covariance</a></span> - org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/CPInstruction.CPType.html" title="enum in org.apache.sysds.runtime.instructions.cp">CPInstruction.CPType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html#Covariance">Covariance</a></span> - org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/FEDInstruction.FEDType.html" title="enum in org.apache.sysds.runtime.instructions.fed">FEDInstruction.FEDType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html#Covariance">Covariance</a></span> - org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/SPInstruction.SPType.html" title="enum in org.apache.sysds.runtime.instructions.spark">SPInstruction.SPType</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/lops/CoVariance.html" title="class in org.apache.sysds.lops"><span class="typeNameLink">CoVariance</span></a> - Class in <a href="org/apache/sysds/lops/package-summary.html">org.apache.sysds.lops</a></dt>
@@ -6554,6 +6641,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/Hop.html#CPThreshold">CPThreshold</a></span> - Static variable in class org.apache.sysds.hops.<a href="org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html#cpuUsage">cpuUsage</a></span> - Variable in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.FedStatsCollection.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederatedStatistics.FedStatsCollection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html#create()">create()</a></span> - Method in class org.apache.sysds.runtime.compress.<a href="org/apache/sysds/runtime/compress/CompressionSettingsBuilder.html" title="class in org.apache.sysds.runtime.compress">CompressionSettingsBuilder</a></dt>
 <dd>
 <div class="block">Create the CompressionSettings object to use in the compression.</div>
@@ -6616,9 +6705,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DictionaryFactory.html#create(org.apache.sysds.runtime.compress.utils.DoubleCountHashMap)">create(DoubleCountHashMap)</a></span> - Static method in interface org.apache.sysds.runtime.compress.colgroup.dictionary.<a href="org/apache/sysds/runtime/compress/colgroup/dictionary/DictionaryFactory.html" title="interface in org.apache.sysds.runtime.compress.colgroup.dictionary">DictionaryFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.Request)">create(Request)</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html" title="interface in org.apache.sysds.runtime.controlpr [...]
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.BaseEntityModel)">create(BaseEntityModel)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.services.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/CoordinatorService.html" title="class in org.apache.sysds.run [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/WorkerService.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.BaseEntityModel)">create(BaseEntityModel)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.services.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/services/WorkerService.html" title="class in org.apache.sysds.runtime.contr [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.Request)">create(Request)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apache.sysds.runt [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/IController.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.Request)">create(Request)</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/IController.html" title="interface in org.apache.sysds.runtime.controlp [...]
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.Request)">create(Request)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apache.sysds.runtime.con [...]
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/WorkerController.html#create(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.Request)">create(Request)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/WorkerController.html" title="class in org.apache.sysds.runtime.contro [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/HEParamServer.html#create(org.apache.sysds.runtime.instructions.cp.ListObject,java.lang.String,org.apache.sysds.parser.Statement.PSUpdateType,org.apache.sysds.parser.Statement.PSFrequency,org.apache.sysds.runtime.controlprogram.context.ExecutionContext,int,java.lang.String,int,org.apache.sysds.runtime.controlprogram.caching.MatrixObject,org.apache.sysds.runtime.controlprogram.caching.MatrixObject, [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/paramserv/LocalParamServer.html#create(org.apache.sysds.runtime.instructions.cp.ListObject,java.lang.String,org.apache.sysds.parser.Statement.PSUpdateType,org.apache.sysds.parser.Statement.PSFrequency,org.apache.sysds.runtime.controlprogram.context.ExecutionContext,int,java.lang.String,int,org.apache.sysds.runtime.controlprogram.caching.MatrixObject,org.apache.sysds.runtime.controlprogram.caching.MatrixObje [...]
 <dd>&nbsp;</dd>
@@ -6795,6 +6892,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html#createEncoder(java.lang.String,java.lang.String%5B%5D,org.apache.sysds.common.Types.ValueType%5B%5D,org.apache.sysds.runtime.matrix.data.FrameBlock,int,int)">createEncoder(String, String[], Types.ValueType[], FrameBlock, int, int)</a></span> - Static method in class org.apache.sysds.runtime.transform.encode.<a href="org/apache/sysds/runtime/transform/encode/EncoderFactory.html" title=" [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/DerbyRepository.html#createEntity(org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.EntityEnum,org.apache.sysds.runtime.controlprogram.federated.monitoring.models.BaseEntityModel)">createEntity(EntityEnum, BaseEntityModel)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.<a href="org/apache/sysds/ [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/repositories/IRepository.html#createEntity(org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.EntityEnum,org.apache.sysds.runtime.controlprogram.federated.monitoring.models.BaseEntityModel)">createEntity(EntityEnum, BaseEntityModel)</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.<a href="org/apache/sysds/ [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html#createEstimator(org.apache.sysds.runtime.matrix.data.MatrixBlock,org.apache.sysds.runtime.compress.CompressionSettings,int)">createEstimator(MatrixBlock, CompressionSettings, int)</a></span> - Static method in interface org.apache.sysds.runtime.compress.estim.<a href="org/apache/sysds/runtime/compress/estim/CompressedSizeEstimatorFactory.html" title="interface in org.apac [...]
 <dd>
 <div class="block">Create an estimator for the input data with the given settings and parallelization degree.</div>
@@ -6833,11 +6934,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/compress/estim/encoding/IEncode.html#createFromMatrixBlockDelta(org.apache.sysds.runtime.matrix.data.MatrixBlock,boolean,int%5B%5D,int)">createFromMatrixBlockDelta(MatrixBlock, boolean, int[], int)</a></span> - Static method in interface org.apache.sysds.runtime.compress.estim.encoding.<a href="org/apache/sysds/runtime/compress/estim/encoding/IEncode.html" title="interface in org.apache.sysds.runtime.compress.estim.encodi [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.html#createGlobalEncoderWithEquiHeight(org.apache.sysds.runtime.controlprogram.context.ExecutionContext,org.apache.sysds.runtime.controlprogram.caching.FrameObject,java.lang.String)">createGlobalEncoderWithEquiHeight(ExecutionContext, FrameObject, String)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/i [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html#createGPUObject(org.apache.sysds.runtime.controlprogram.caching.MatrixObject)">createGPUObject(MatrixObject)</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUContext.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUContext</a></dt>
 <dd>
 <div class="block">Instantiates a new <a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context"><code>GPUObject</code></a> initialized with the given <a href="org/apache/sysds/runtime/controlprogram/caching/MatrixObject.html" title="class in org.apache.sysds.runtime.controlprogram.caching"><code>MatrixObject</code></a>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#createHistogram(org.apache.sysds.runtime.controlprogram.caching.MatrixObject,int,double,double,int,int,boolean)">createHistogram(MatrixObject, int, double, double, int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache.sysds.runti [...]
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html#createHistogram(org.apache.sysds.runtime.controlprogram.caching.CacheableData,int,double,double,int,int,boolean)">createHistogram(CacheableData&lt;?&gt;, int, double, double, int, int, boolean)</a></span> - Method in class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.html" title="class in org.apache. [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/ProgramConverter.html#createIfStatementBlockCopy(org.apache.sysds.parser.IfStatementBlock,boolean)">createIfStatementBlockCopy(IfStatementBlock, boolean)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/ProgramConverter.html" title="class in org.apache.sysds.runtime.util">ProgramConverter</a></dt>
 <dd>&nbsp;</dd>
@@ -6877,6 +6980,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html#%3Cinit%3E(int,org.apache.sysds.runtime.matrix.operators.Operator)">CreateMatrixCell(int, Operator)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.spark.<a href="org/apache/sysds/runtime/instructions/spark/ParameterizedBuiltinSPInstruction.CreateMatrixCell.html" title="class in org.apache.sysds.runtime.instructions.spark"> [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.CreateMatrixFromFrame.html#%3Cinit%3E(long,long,int)">CreateMatrixFromFrame(long, long, int)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/QuantilePickFEDInstruction.CreateMatrixFromFrame.html" title="class in org.apache.sysds.runtime.instructions.fed">QuantilePickFEDInstruction.CreateMatrixFromFra [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createMatrixMultiply(org.apache.sysds.hops.Hop,org.apache.sysds.hops.Hop)">createMatrixMultiply(Hop, Hop)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html#createMatrixObject(org.apache.sysds.runtime.matrix.data.MatrixBlock)">createMatrixObject(MatrixBlock)</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.context.<a href="org/apache/sysds/runtime/controlprogram/context/ExecutionContext.html" title="class in org.apache.sysds.runtime.controlprogram.context">ExecutionContext</a></dt>
@@ -6972,6 +7077,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html#createScalarIndexing(org.apache.sysds.hops.Hop,long,long)">createScalarIndexing(Hop, long, long)</a></span> - Static method in class org.apache.sysds.hops.rewrite.<a href="org/apache/sysds/hops/rewrite/HopRewriteUtils.html" title="class in org.apache.sysds.hops.rewrite">HopRewriteUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html#createScalarLineageItem(org.apache.sysds.hops.LiteralOp)">createScalarLineageItem(LiteralOp)</a></span> - Static method in class org.apache.sysds.runtime.lineage.<a href="org/apache/sysds/runtime/lineage/LineageItemUtils.html" title="class in org.apache.sysds.runtime.lineage">LineageItemUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html#createScalarObject(java.lang.String)">createScalarObject(String)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html#createScalarObject(org.apache.sysds.common.Types.ValueType,double)">createScalarObject(Types.ValueType, double)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html#createScalarObject(org.apache.sysds.common.Types.ValueType,java.lang.Object)">createScalarObject(Types.ValueType, Object)</a></span> - Static method in class org.apache.sysds.runtime.instructions.cp.<a href="org/apache/sysds/runtime/instructions/cp/ScalarObjectFactory.html" title="class in org.apache.sysds.runtime.instructions.cp">ScalarObjectFactory</a></dt>
@@ -7994,6 +8103,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/parser/DataExpression.html#DATATYPEPARAM">DATATYPEPARAM</a></span> - Static variable in class org.apache.sysds.parser.<a href="org/apache/sysds/parser/DataExpression.html" title="class in org.apache.sysds.parser">DataExpression</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#dateFormat(long,java.lang.String)">dateFormat(long, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#dateFormat(java.lang.String,java.lang.String)">dateFormat(String, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/util/UtilFunctions.html#dateFormat(java.lang.String,java.lang.String,java.lang.String)">dateFormat(String, String, String)</a></span> - Static method in class org.apache.sysds.runtime.util.<a href="org/apache/sysds/runtime/util/UtilFunctions.html" title="class in org.apache.sysds.runtime.util">UtilFunctions</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/compress/utils/DblArray.html" title="class in org.apache.sysds.runtime.compress.utils"><span class="typeNameLink">DblArray</span></a> - Class in <a href="org/apache/sysds/runtime/compress/utils/package-summary.html">org.apache.sysds.runtime.compress.utils</a></dt>
 <dd>
 <div class="block">Helper class used for bitmap extraction.</div>
@@ -8076,6 +8191,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html#%3Cinit%3E(long,long,org.apache.sysds.runtime.matrix.data.FrameBlock,org.apache.sysds.runtime.transform.decode.Decoder)">DecodeMatrix(long, long, FrameBlock, Decoder)</a></span> - Constructor for class org.apache.sysds.runtime.instructions.fed.<a href="org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.DecodeMatrix.html" title= [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html#decoder()">decoder()</a></span> - Static method in class org.apache.sysds.runtime.controlprogram.federated.<a href="org/apache/sysds/runtime/controlprogram/federated/FederationUtils.html" title="class in org.apache.sysds.runtime.controlprogram.federated">FederationUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/sysds/runtime/transform/decode/Decoder.html" title="class in org.apache.sysds.runtime.transform.decode"><span class="typeNameLink">Decoder</span></a> - Class in <a href="org/apache/sysds/runtime/transform/decode/package-summary.html">org.apache.sysds.runtime.transform.decode</a></dt>
 <dd>
 <div class="block">Base class for all transform decoders providing both a row and block
@@ -8321,9 +8438,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/api/DMLOptions.html#defaultOptions">defaultOptions</a></span> - Static variable in class org.apache.sysds.api.<a href="org/apache/sysds/api/DMLOptions.html" title="class in org.apache.sysds.api">DMLOptions</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html#delete(org.apache.sysds.runtime.controlprogram.federated.monitoring.Request,java.lang.Long)">delete(Request, Long)</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/BaseController.html" title="interface in org.apache.sy [...]
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html#delete(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.Request,java.lang.Long)">delete(Request, Long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in  [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/IController.html#delete(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.Request,java.lang.Long)">delete(Request, Long)</a></span> - Method in interface org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/IController.html" title="interface in org.apache.s [...]
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html#delete(org.apache.sysds.runtime.controlprogram.federated.monitoring.Request,java.lang.Long)">delete(Request, Long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/CoordinatorController.html" title="class in org.apa [...]
+<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/WorkerController.html#delete(org.apache.sysds.runtime.controlprogram.federated.monitoring.models.Request,java.lang.Long)">delete(Request, Long)</a></span> - Method in class org.apache.sysds.runtime.controlprogram.federated.monitoring.controllers.<a href="org/apache/sysds/runtime/controlprogram/federated/monitoring/controllers/WorkerController.html" title="class in org.apache [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html#deleteAll()">deleteAll()</a></span> - Method in class org.apache.sysds.runtime.controlprogram.caching.<a href="org/apache/sysds/runtime/controlprogram/caching/UnifiedMemoryManager.html" title="class in org.apache.sysds.runtime.controlprogram.caching">UnifiedMemoryManager</a></dt>
 <dd>
@@ -8498,8 +8617,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Size if the input is dense</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html#denseSuperQuickSetValue(int,int,double)">denseSuperQuickSetValue(int, int, double)</a></span> - Method in class org.apache.sysds.runtime.matrix.data.<a href="org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html#denseToSparse()">denseToSparse()</a></span> - Method in class org.apache.sysds.runtime.instructions.gpu.context.<a href="org/apache/sysds/runtime/instructions/gpu/context/GPUObject.html" title="class in org.apache.sysds.runtime.instructions.gpu.context">GPUObject</a></dt>
 <dd>
 <div class="block">Converts this GPUObject from dense to sparse format.</div>
... 29990 lines suppressed ...