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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3ef509a  [MINOR] Python built-ins update
3ef509a is described below

commit 3ef509a8cad495a159da26da390ba50fb036cf60
Author: baunsgaard <[email protected]>
AuthorDate: Thu May 20 14:43:31 2021 +0200

    [MINOR] Python built-ins update
    
    Update the python built-ins and remove the is matrix check.
---
 src/main/python/generator/generator.py             | 29 ++++--------------
 .../python/systemds/operator/algorithm/__init__.py |  6 ++--
 .../systemds/operator/algorithm/builtin/abstain.py |  5 +---
 .../systemds/operator/algorithm/builtin/als.py     |  4 +--
 .../systemds/operator/algorithm/builtin/alsCG.py   |  4 +--
 .../systemds/operator/algorithm/builtin/alsDS.py   |  4 +--
 .../operator/algorithm/builtin/alsPredict.py       |  7 +----
 .../operator/algorithm/builtin/alsTopkPredict.py   |  7 +----
 .../systemds/operator/algorithm/builtin/arima.py   |  4 +--
 .../systemds/operator/algorithm/builtin/bandit.py  |  5 +---
 .../systemds/operator/algorithm/builtin/bivar.py   |  8 +----
 .../operator/algorithm/builtin/components.py       |  4 +--
 .../operator/algorithm/builtin/confusionMatrix.py  |  5 +---
 .../systemds/operator/algorithm/builtin/cor.py     |  4 +--
 .../systemds/operator/algorithm/builtin/cox.py     |  7 +----
 .../systemds/operator/algorithm/builtin/cspline.py |  5 +---
 .../operator/algorithm/builtin/csplineDS.py        |  5 +---
 .../systemds/operator/algorithm/builtin/cvlm.py    |  5 +---
 .../systemds/operator/algorithm/builtin/dbscan.py  |  4 +--
 .../operator/algorithm/builtin/decisionTree.py     |  6 +---
 .../operator/algorithm/builtin/discoverFD.py       |  5 +---
 .../systemds/operator/algorithm/builtin/dist.py    |  4 +--
 .../algorithm/builtin/gaussianClassifier.py        |  5 +---
 .../operator/algorithm/builtin/getAccuracy.py      |  5 +---
 .../systemds/operator/algorithm/builtin/glm.py     |  5 +---
 .../systemds/operator/algorithm/builtin/gmm.py     |  4 +--
 .../operator/algorithm/builtin/gmmPredict.py       |  7 +----
 .../systemds/operator/algorithm/builtin/gnmf.py    |  4 +--
 .../operator/algorithm/builtin/gridSearch.py       |  5 +---
 .../operator/algorithm/builtin/hyperband.py        |  8 +----
 .../operator/algorithm/builtin/img_brightness.py   |  4 +--
 .../operator/algorithm/builtin/img_crop.py         |  4 +--
 .../operator/algorithm/builtin/img_mirror.py       |  4 +--
 .../operator/algorithm/builtin/imputeByFD.py       |  4 +--
 .../operator/algorithm/builtin/imputeByMean.py     |  5 +---
 .../operator/algorithm/builtin/imputeByMedian.py   |  5 +---
 .../operator/algorithm/builtin/imputeByMode.py     |  4 +--
 .../operator/algorithm/builtin/intersect.py        |  5 +---
 .../systemds/operator/algorithm/builtin/km.py      |  7 +----
 .../systemds/operator/algorithm/builtin/kmeans.py  |  4 +--
 .../operator/algorithm/builtin/kmeansPredict.py    |  5 +---
 .../systemds/operator/algorithm/builtin/knnbf.py   |  5 +---
 .../systemds/operator/algorithm/builtin/l2svm.py   |  5 +---
 .../operator/algorithm/builtin/l2svmPredict.py     |  5 +---
 .../systemds/operator/algorithm/builtin/lasso.py   |  5 +---
 .../systemds/operator/algorithm/builtin/lm.py      |  5 +---
 .../systemds/operator/algorithm/builtin/lmCG.py    |  5 +---
 .../systemds/operator/algorithm/builtin/lmDS.py    |  5 +---
 .../operator/algorithm/builtin/lmPredict.py        |  6 +---
 .../operator/algorithm/builtin/logSumExp.py        |  4 +--
 .../systemds/operator/algorithm/builtin/msvm.py    |  5 +---
 .../operator/algorithm/builtin/msvmPredict.py      |  5 +---
 .../operator/algorithm/builtin/multiLogReg.py      |  5 +---
 .../algorithm/builtin/multiLogRegPredict.py        |  6 +---
 .../systemds/operator/algorithm/builtin/na_locf.py |  4 +--
 .../builtin/{naivebayes.py => naiveBayes.py}       |  9 ++----
 .../builtin/{cor.py => naiveBayesPredict.py}       | 10 +++----
 .../operator/algorithm/builtin/normalize.py        |  4 +--
 .../systemds/operator/algorithm/builtin/outlier.py |  4 +--
 .../operator/algorithm/builtin/outlierByArima.py   |  4 +--
 .../operator/algorithm/builtin/outlierByIQR.py     |  4 +--
 .../operator/algorithm/builtin/outlierBySd.py      |  4 +--
 .../systemds/operator/algorithm/builtin/pca.py     |  4 +--
 .../systemds/operator/algorithm/builtin/pnmf.py    |  4 +--
 .../systemds/operator/algorithm/builtin/ppca.py    |  4 +--
 .../operator/algorithm/builtin/randomForest.py     |  6 +---
 .../systemds/operator/algorithm/builtin/scale.py   |  4 +--
 .../operator/algorithm/builtin/scaleApply.py       |  6 +---
 .../operator/algorithm/builtin/sherlock.py         |  5 +---
 .../operator/algorithm/builtin/sherlockPredict.py  | 34 +---------------------
 .../systemds/operator/algorithm/builtin/sigmoid.py |  4 +--
 .../operator/algorithm/builtin/slicefinder.py      |  5 +---
 .../systemds/operator/algorithm/builtin/smote.py   |  5 +---
 .../systemds/operator/algorithm/builtin/split.py   |  5 +---
 .../operator/algorithm/builtin/splitBalanced.py    |  5 +---
 .../builtin/{als.py => stableMarriage.py}          | 27 +++++++----------
 .../systemds/operator/algorithm/builtin/statsNA.py |  4 +--
 .../systemds/operator/algorithm/builtin/steplm.py  |  5 +---
 .../operator/algorithm/builtin/toOneHot.py         |  4 +--
 .../operator/algorithm/builtin/tomeklink.py        |  5 +---
 .../systemds/operator/algorithm/builtin/univar.py  |  5 +---
 .../operator/algorithm/builtin/vectorToCsv.py      |  4 +--
 .../operator/algorithm/builtin/winsorize.py        |  4 +--
 .../systemds/operator/algorithm/builtin/xdummy1.py |  4 +--
 .../systemds/operator/algorithm/builtin/xdummy2.py |  4 +--
 85 files changed, 108 insertions(+), 389 deletions(-)

diff --git a/src/main/python/generator/generator.py 
b/src/main/python/generator/generator.py
index 835bae9..bca008a 100644
--- a/src/main/python/generator/generator.py
+++ b/src/main/python/generator/generator.py
@@ -94,9 +94,8 @@ class PythonAPIFileGenerator(object):
 
 class PythonAPIFunctionGenerator(object):
 
-    api_template = u"""def {function_name}({parameters}) -> Matrix:
+    api_template = u"""def {function_name}({parameters}):
     {header}
-    {value_checks}
     {params_dict}
     return {api_call}\n\n
     """
@@ -113,8 +112,8 @@ class PythonAPIFunctionGenerator(object):
     path = os.path.dirname(__file__)
     type_mapping_path = os.path.join(path, type_mapping_file)
 
-    with open(type_mapping_path, 'r') as mapping:
-        type_mapping = json.load(mapping)
+    with open(type_mapping_path, 'r') as megamap:
+        type_mapping = json.load(megamap)
 
     def __init__(self):
         super(PythonAPIFunctionGenerator, self).__init__()
@@ -134,7 +133,6 @@ class PythonAPIFunctionGenerator(object):
         parameters = self.format_param_string(data['parameters'])
         function_name = data['function_name']
         header = data['function_header'] if data['function_header'] else ""
-        value_checks = self.format_value_checks(data['parameters'])
         params_dict = self.format_params_dict_string(data['parameters'])
         api_call = self.format_api_call(
             data['parameters'],
@@ -145,7 +143,6 @@ class PythonAPIFunctionGenerator(object):
             function_name=function_name,
             parameters=parameters,
             header=header,
-            value_checks=value_checks,
             params_dict=params_dict,
             api_call=api_call
         )
@@ -239,11 +236,11 @@ class PythonAPIFunctionGenerator(object):
                 output_type_list=output_type_list
             )
             result = "{param}.sds_context, \'{function_name}\', 
named_input_nodes=params_dict, " \
-                 "output_type=OutputType.{output_type}".format(
+                "output_type=OutputType.{output_type}".format(
                      param=param[0],
                      function_name=function_name,
                      output_type=output_type
-                 )
+                )
             result = "OperationNode({params})".format(params=result)
             return result
         else:
@@ -256,23 +253,9 @@ class PythonAPIFunctionGenerator(object):
             result = "{param}.sds_context, \'{function_name}\', 
named_input_nodes=params_dict".format(
                      param=param[0],
                      function_name=function_name,
-                 )
+            )
             result = "Matrix({params})".format(params=result)
             return result
-       
-
-    def format_value_checks(self, parameters: List[Tuple[str]]) -> str:
-        result = ""
-        for param in parameters:
-            if "matrix" not in param[1].lower():
-                continue
-            matrix_check = self.__class__.matrix_check_template.format(
-                param=param[0])
-            result = "{result}{matrix_check}".format(
-                result=result,
-                matrix_check=matrix_check,
-            )
-        return result
 
 
 class PythonAPIDocumentationGenerator(object):
diff --git a/src/main/python/systemds/operator/algorithm/__init__.py 
b/src/main/python/systemds/operator/algorithm/__init__.py
index f5f386b..448f51b 100644
--- a/src/main/python/systemds/operator/algorithm/__init__.py
+++ b/src/main/python/systemds/operator/algorithm/__init__.py
@@ -74,7 +74,8 @@ from .builtin.msvmPredict import msvmPredict
 from .builtin.multiLogReg import multiLogReg 
 from .builtin.multiLogRegPredict import multiLogRegPredict 
 from .builtin.na_locf import na_locf 
-from .builtin.naivebayes import naivebayes 
+from .builtin.naiveBayes import naiveBayes 
+from .builtin.naiveBayesPredict import naiveBayesPredict 
 from .builtin.normalize import normalize 
 from .builtin.outlier import outlier 
 from .builtin.outlierByArima import outlierByArima 
@@ -93,6 +94,7 @@ from .builtin.slicefinder import slicefinder
 from .builtin.smote import smote 
 from .builtin.split import split 
 from .builtin.splitBalanced import splitBalanced 
+from .builtin.stableMarriage import stableMarriage 
 from .builtin.statsNA import statsNA 
 from .builtin.steplm import steplm 
 from .builtin.toOneHot import toOneHot 
@@ -103,4 +105,4 @@ from .builtin.winsorize import winsorize
 from .builtin.xdummy1 import xdummy1 
 from .builtin.xdummy2 import xdummy2 
 
-__all__ = [abstain, als, alsCG, alsDS, alsPredict, alsTopkPredict, arima, 
bandit, bivar, components, confusionMatrix, cor, cox, cspline, csplineDS, cvlm, 
dbscan, decisionTree, discoverFD, dist, gaussianClassifier, getAccuracy, glm, 
gmm, gmmPredict, gnmf, gridSearch, hyperband, img_brightness, img_crop, 
img_mirror, imputeByFD, imputeByMean, imputeByMedian, imputeByMode, intersect, 
km, kmeans, kmeansPredict, knnbf, l2svm, l2svmPredict, lasso, lm, lmCG, lmDS, 
lmPredict, logSumExp, msvm, msv [...]
+__all__ = [abstain, als, alsCG, alsDS, alsPredict, alsTopkPredict, arima, 
bandit, bivar, components, confusionMatrix, cor, cox, cspline, csplineDS, cvlm, 
dbscan, decisionTree, discoverFD, dist, gaussianClassifier, getAccuracy, glm, 
gmm, gmmPredict, gnmf, gridSearch, hyperband, img_brightness, img_crop, 
img_mirror, imputeByFD, imputeByMean, imputeByMedian, imputeByMode, intersect, 
km, kmeans, kmeansPredict, knnbf, l2svm, l2svmPredict, lasso, lm, lmCG, lmDS, 
lmPredict, logSumExp, msvm, msv [...]
diff --git a/src/main/python/systemds/operator/algorithm/builtin/abstain.py 
b/src/main/python/systemds/operator/algorithm/builtin/abstain.py
index 61c824d..bcc1267 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/abstain.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/abstain.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def abstain(X: OperationNode, Y: OperationNode, threshold: float, **kwargs: 
Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def abstain(X: OperationNode, Y: OperationNode, threshold: float, **kwargs: 
Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y, 'threshold':threshold}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'abstain', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/als.py 
b/src/main/python/systemds/operator/algorithm/builtin/als.py
index 42cac6a..b7147ad 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/als.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/als.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def als(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def als(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Location to read the input matrix X to be factorized
     :param rank: Rank of the factorization
@@ -41,8 +41,6 @@ def als(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param if: FALSE thr is ignored
     :return: 'OperationNode' containing x n matrix v 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'als', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=2, 
output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsCG.py 
b/src/main/python/systemds/operator/algorithm/builtin/alsCG.py
index c975083..40589b9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsCG.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsCG.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def alsCG(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def alsCG(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Location to read the input matrix X to be factorized
     :param rank: Rank of the factorization
@@ -41,8 +41,6 @@ def alsCG(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param if: FALSE thr is ignored
     :return: 'OperationNode' containing x n matrix v 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'alsCG', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsDS.py 
b/src/main/python/systemds/operator/algorithm/builtin/alsDS.py
index 459eb72..f4ca722 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsDS.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsDS.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def alsDS(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def alsDS(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param V: Location to read the input matrix V to be factorized
     :param L: Location to write the factor matrix L
@@ -42,8 +42,6 @@ def alsDS(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param if: FALSE thr is ignored
     :return: 'OperationNode' containing x n matrix r 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'alsDS', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py
index d2b9162..d22dbc6 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsPredict.py
@@ -28,13 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def alsPredict(userIDs: OperationNode, I: OperationNode, L: OperationNode, R: 
OperationNode) -> Matrix:
+def alsPredict(userIDs: OperationNode, I: OperationNode, L: OperationNode, R: 
OperationNode):
     
-    
-    userIDs._check_matrix_op()
-    I._check_matrix_op()
-    L._check_matrix_op()
-    R._check_matrix_op()
     params_dict = {'userIDs':userIDs, 'I':I, 'L':L, 'R':R}
     return Matrix(userIDs.sds_context, 'alsPredict', 
named_input_nodes=params_dict)
 
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py
index df3907a..afd560b 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/alsTopkPredict.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def alsTopkPredict(userIDs: OperationNode, I: OperationNode, L: OperationNode, 
R: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def alsTopkPredict(userIDs: OperationNode, I: OperationNode, L: OperationNode, 
R: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param userIDs: Column vector of user-ids (n x 1)
     :param I: Indicator matrix user-id x user-id to exclude from scoring
@@ -37,11 +37,6 @@ def alsTopkPredict(userIDs: OperationNode, I: OperationNode, 
L: OperationNode, R
     :param K: The number of top-K items
     :return: 'OperationNode' containing users (rows) & a matrix containing the 
top-k predicted ratings for the specified users (rows) 
     """
-    
-    userIDs._check_matrix_op()
-    I._check_matrix_op()
-    L._check_matrix_op()
-    R._check_matrix_op()
     params_dict = {'userIDs':userIDs, 'I':I, 'L':L, 'R':R}
     params_dict.update(kwargs)
     return OperationNode(userIDs.sds_context, 'alsTopkPredict', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/arima.py 
b/src/main/python/systemds/operator/algorithm/builtin/arima.py
index c77fe8d..892cc5a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/arima.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/arima.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def arima(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def arima(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: The input Matrix to apply Arima on.
     :param max_func_invoc: ?
@@ -43,8 +43,6 @@ def arima(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param solver: solver, is either "cg" or "jacobi"
     :return: 'OperationNode' containing the calculated coefficients 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'arima', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/bandit.py 
b/src/main/python/systemds/operator/algorithm/builtin/bandit.py
index 7733ab1..02a2107 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/bandit.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/bandit.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def bandit(X_train: OperationNode, Y_train: OperationNode, metaList: Iterable, 
targetList: Iterable, lp: OperationNode, primitives: OperationNode, param: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def bandit(X_train: OperationNode, Y_train: OperationNode, metaList: Iterable, 
targetList: Iterable, lp: OperationNode, primitives: OperationNode, param: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X_train._check_matrix_op()
-    Y_train._check_matrix_op()
     params_dict = {'X_train':X_train, 'Y_train':Y_train, 'metaList':metaList, 
'targetList':targetList, 'lp':lp, 'primitives':primitives, 'param':param}
     params_dict.update(kwargs)
     return OperationNode(X_train.sds_context, 'bandit', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=4, output_types=[OutputType.FRAME, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.FRAME])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/bivar.py 
b/src/main/python/systemds/operator/algorithm/builtin/bivar.py
index 55de571..6f2bcec 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/bivar.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/bivar.py
@@ -28,17 +28,11 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def bivar(X: OperationNode, S1: OperationNode, S2: OperationNode, T1: 
OperationNode, T2: OperationNode, verbose: bool) -> Matrix:
+def bivar(X: OperationNode, S1: OperationNode, S2: OperationNode, T1: 
OperationNode, T2: OperationNode, verbose: bool):
     """
     :param verbose: Print bivar stats
     :return: 'OperationNode' containing  
     """
-    
-    X._check_matrix_op()
-    S1._check_matrix_op()
-    S2._check_matrix_op()
-    T1._check_matrix_op()
-    T2._check_matrix_op()
     params_dict = {'X':X, 'S1':S1, 'S2':S2, 'T1':T1, 'T2':T2, 
'verbose':verbose}
     return OperationNode(X.sds_context, 'bivar', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=4, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/components.py 
b/src/main/python/systemds/operator/algorithm/builtin/components.py
index 558612c..111da45 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/components.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/components.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def components(G: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> 
Matrix:
+def components(G: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    G._check_matrix_op()
     params_dict = {'G':G}
     params_dict.update(kwargs)
     return Matrix(G.sds_context, 'components', named_input_nodes=params_dict)
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py 
b/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py
index 96942d1..5e57fde 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/confusionMatrix.py
@@ -28,15 +28,12 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def confusionMatrix(P: OperationNode, Y: OperationNode) -> Matrix:
+def confusionMatrix(P: OperationNode, Y: OperationNode):
     """
     :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 
classifications & the confusion matrix averages of each true class 
     """
-    
-    P._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'P':P, 'Y':Y}
     return OperationNode(P.sds_context, 'confusionMatrix', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cor.py 
b/src/main/python/systemds/operator/algorithm/builtin/cor.py
index 6ff5ab7..33e6ddd 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cor.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cor.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def cor(X: OperationNode) -> Matrix:
+def cor(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return Matrix(X.sds_context, 'cor', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cox.py 
b/src/main/python/systemds/operator/algorithm/builtin/cox.py
index 731fe88..1bfe85c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cox.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cox.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def cox(X: OperationNode, TE: OperationNode, F: OperationNode, R: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def cox(X: OperationNode, TE: OperationNode, F: OperationNode, R: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Location to read the input matrix X containing the survival data 
     :param containing: information
@@ -46,11 +46,6 @@ def cox(X: OperationNode, TE: OperationNode, F: 
OperationNode, R: OperationNode,
     :param mii: Max. number of inner (conjugate gradient) iterations, 0 = no 
max
     :return: 'OperationNode' containing a summary of some statistics of the 
fitted model: & matrix rt that contains the order-preserving recoded timestamps 
from x & which is matrix x with sorted timestamps & matrix mf that contains the 
column indices of x with the baseline factors removed (if available) 
     """
-    
-    X._check_matrix_op()
-    TE._check_matrix_op()
-    F._check_matrix_op()
-    R._check_matrix_op()
     params_dict = {'X':X, 'TE':TE, 'F':F, 'R':R}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'cox', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=6, 
output_types=[OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cspline.py 
b/src/main/python/systemds/operator/algorithm/builtin/cspline.py
index 86a2bb6..d60bf4f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cspline.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cspline.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def cspline(X: OperationNode, Y: OperationNode, inp_x: float, **kwargs: 
Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def cspline(X: OperationNode, Y: OperationNode, inp_x: float, **kwargs: 
Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y, 'inp_x':inp_x}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'cspline', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py 
b/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py
index 50260b1..34d0d13 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/csplineDS.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def csplineDS(X: OperationNode, Y: OperationNode, inp_x: float) -> Matrix:
+def csplineDS(X: OperationNode, Y: OperationNode, inp_x: float):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y, 'inp_x':inp_x}
     return OperationNode(X.sds_context, 'csplineDS', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cvlm.py 
b/src/main/python/systemds/operator/algorithm/builtin/cvlm.py
index 5dd2cc2..72d5159 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cvlm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/cvlm.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def cvlm(X: OperationNode, y: OperationNode, k: int, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def cvlm(X: OperationNode, y: OperationNode, k: int, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y, 'k':k}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'cvlm', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=2, 
output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dbscan.py 
b/src/main/python/systemds/operator/algorithm/builtin/dbscan.py
index 408c49f..a2bb947 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dbscan.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dbscan.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def dbscan(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def dbscan(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'dbscan', named_input_nodes=params_dict)
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py 
b/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py
index 6023e82..dbd7523 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/decisionTree.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def decisionTree(X: OperationNode, Y: OperationNode, R: OperationNode, 
verbose: bool, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def decisionTree(X: OperationNode, Y: OperationNode, R: OperationNode, 
verbose: bool, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param a: vector, other positive Integers indicate the number of categories
     :param If: not provided by default all variables are assumed to be scale
@@ -37,10 +37,6 @@ def decisionTree(X: OperationNode, Y: OperationNode, R: 
OperationNode, verbose:
     :param verbose: boolean specifying if the algorithm should print 
information while executing
     :return: 'OperationNode' containing looks at if j is an internal node, 
otherwise 0 & 6,7,... if j is categorical & a leaf node: number of 
misclassified samples reaching at node j & feature chosen for j is categorical 
rows 6,7,... depict the value subset chosen for j & a leaf node 1 if j is 
impure and the number of samples at j > threshold, otherwise 0 
     """
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
-    R._check_matrix_op()
     params_dict = {'X':X, 'Y':Y, 'R':R, 'verbose':verbose}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'decisionTree', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py 
b/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py
index 25db3c8..b34e2bb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/discoverFD.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def discoverFD(X: OperationNode, Mask: OperationNode, threshold: float) -> 
Matrix:
+def discoverFD(X: OperationNode, Mask: OperationNode, threshold: float):
     
-    
-    X._check_matrix_op()
-    Mask._check_matrix_op()
     params_dict = {'X':X, 'Mask':Mask, 'threshold':threshold}
     return Matrix(X.sds_context, 'discoverFD', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dist.py 
b/src/main/python/systemds/operator/algorithm/builtin/dist.py
index 967c740..47a0f22 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dist.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dist.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def dist(X: OperationNode) -> Matrix:
+def dist(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return Matrix(X.sds_context, 'dist', named_input_nodes=params_dict)
 
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py 
b/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py
index c69ea94..8ce91e1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gaussianClassifier.py
@@ -28,15 +28,12 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def gaussianClassifier(D: OperationNode, C: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def gaussianClassifier(D: OperationNode, C: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
     :param varSmoothing: Smoothing factor for variances
     :param verbose: Print accuracy of the training set
     :return: 'OperationNode' containing  
     """
-    
-    D._check_matrix_op()
-    C._check_matrix_op()
     params_dict = {'D':D, 'C':C}
     params_dict.update(kwargs)
     return OperationNode(D.sds_context, 'gaussianClassifier', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=4, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.LIST, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py 
b/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py
index 2377ee3..57ea544 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/getAccuracy.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def getAccuracy(y: OperationNode, yhat: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def getAccuracy(y: OperationNode, yhat: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    y._check_matrix_op()
-    yhat._check_matrix_op()
     params_dict = {'y':y, 'yhat':yhat}
     params_dict.update(kwargs)
     return Matrix(y.sds_context, 'getAccuracy', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/glm.py 
b/src/main/python/systemds/operator/algorithm/builtin/glm.py
index 3a038f0..31c215c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/glm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/glm.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def glm(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def glm(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'glm', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gmm.py 
b/src/main/python/systemds/operator/algorithm/builtin/gmm.py
index b6cf51a..87f293c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gmm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gmm.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def gmm(X: OperationNode, verbose: bool, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def gmm(X: OperationNode, verbose: bool, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'verbose':verbose}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'gmm', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=7, 
output_types=[OutputType.MATRIX, OutputType.MATRIX, OutputType.INTEGER, 
OutputType.DOUBLE, OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py
index 8607780..773a803 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gmmPredict.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def gmmPredict(X: OperationNode, weight: OperationNode, mu: OperationNode, 
precisions_cholesky: OperationNode, model: str) -> Matrix:
+def gmmPredict(X: OperationNode, weight: OperationNode, mu: OperationNode, 
precisions_cholesky: OperationNode, model: str):
     """
     :param X: Matrix X (instances to be clustered)
     :param weight: Weight of learned model
@@ -37,11 +37,6 @@ def gmmPredict(X: OperationNode, weight: OperationNode, mu: 
OperationNode, preci
     :param model: fitted model
     :return: 'OperationNode' containing predicted cluster labels & 
probabilities of belongingness & for new instances given the variance and mean 
of fitted data 
     """
-    
-    X._check_matrix_op()
-    weight._check_matrix_op()
-    mu._check_matrix_op()
-    precisions_cholesky._check_matrix_op()
     params_dict = {'X':X, 'weight':weight, 'mu':mu, 
'precisions_cholesky':precisions_cholesky, 'model':model}
     return OperationNode(X.sds_context, 'gmmPredict', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gnmf.py 
b/src/main/python/systemds/operator/algorithm/builtin/gnmf.py
index e2c89cc..2c548ff 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gnmf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gnmf.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def gnmf(X: OperationNode, rnk: int, **kwargs: Dict[str, VALID_INPUT_TYPES]) 
-> Matrix:
+def gnmf(X: OperationNode, rnk: int, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'rnk':rnk}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'gnmf', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=2, 
output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py 
b/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py
index 65f9a3a..0ddae9c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/gridSearch.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def gridSearch(X: OperationNode, y: OperationNode, train: str, predict: str, 
params: Iterable, paramValues: Iterable, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def gridSearch(X: OperationNode, y: OperationNode, train: str, predict: str, 
params: Iterable, paramValues: Iterable, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y, 'train':train, 'predict':predict, 
'params':params, 'paramValues':paramValues}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'gridSearch', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.FRAME])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/hyperband.py 
b/src/main/python/systemds/operator/algorithm/builtin/hyperband.py
index 64b5ce4..6f67006 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/hyperband.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/hyperband.py
@@ -28,14 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def hyperband(X_train: OperationNode, y_train: OperationNode, X_val: 
OperationNode, y_val: OperationNode, params: Iterable, paramRanges: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def hyperband(X_train: OperationNode, y_train: OperationNode, X_val: 
OperationNode, y_val: OperationNode, params: Iterable, paramRanges: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X_train._check_matrix_op()
-    y_train._check_matrix_op()
-    X_val._check_matrix_op()
-    y_val._check_matrix_op()
-    paramRanges._check_matrix_op()
     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)
     return OperationNode(X_train.sds_context, 'hyperband', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.FRAME])
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 18fcdff..d164682 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def img_brightness(img_in: OperationNode, value: float, channel_max: int) -> 
Matrix:
+def img_brightness(img_in: OperationNode, value: float, channel_max: int):
     
-    
-    img_in._check_matrix_op()
     params_dict = {'img_in':img_in, 'value':value, 'channel_max':channel_max}
     return Matrix(img_in.sds_context, 'img_brightness', 
named_input_nodes=params_dict)
 
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 2dfbc47..9800004 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def img_crop(img_in: OperationNode, w: int, h: int, x_offset: int, y_offset: 
int) -> Matrix:
+def img_crop(img_in: OperationNode, w: int, h: int, x_offset: int, y_offset: 
int):
     
-    
-    img_in._check_matrix_op()
     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', 
named_input_nodes=params_dict)
 
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 828699f..dff4c6c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def img_mirror(img_in: OperationNode, horizontal_axis: bool) -> Matrix:
+def img_mirror(img_in: OperationNode, horizontal_axis: bool):
     
-    
-    img_in._check_matrix_op()
     params_dict = {'img_in':img_in, 'horizontal_axis':horizontal_axis}
     return Matrix(img_in.sds_context, 'img_mirror', 
named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py 
b/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py
index f5bda80..38d4897 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByFD.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def imputeByFD(X: OperationNode, sourceAttribute: int, targetAttribute: int, 
threshold: float, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def imputeByFD(X: OperationNode, sourceAttribute: int, targetAttribute: int, 
threshold: float, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'sourceAttribute':sourceAttribute, 
'targetAttribute':targetAttribute, 'threshold':threshold}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'imputeByFD', named_input_nodes=params_dict)
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py 
b/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py
index 76df5c0..d29cb5f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMean.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def imputeByMean(X: OperationNode, mask: OperationNode) -> Matrix:
+def imputeByMean(X: OperationNode, mask: OperationNode):
     
-    
-    X._check_matrix_op()
-    mask._check_matrix_op()
     params_dict = {'X':X, 'mask':mask}
     return Matrix(X.sds_context, 'imputeByMean', named_input_nodes=params_dict)
 
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py 
b/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py
index 413c2a8..7afc3c9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMedian.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def imputeByMedian(X: OperationNode, mask: OperationNode) -> Matrix:
+def imputeByMedian(X: OperationNode, mask: OperationNode):
     
-    
-    X._check_matrix_op()
-    mask._check_matrix_op()
     params_dict = {'X':X, 'mask':mask}
     return Matrix(X.sds_context, 'imputeByMedian', 
named_input_nodes=params_dict)
 
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py 
b/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py
index f22174f..1bfc787 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/imputeByMode.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def imputeByMode(X: OperationNode) -> Matrix:
+def imputeByMode(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return Matrix(X.sds_context, 'imputeByMode', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/intersect.py 
b/src/main/python/systemds/operator/algorithm/builtin/intersect.py
index 4c5ecb5..4320885 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/intersect.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/intersect.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def intersect(X: OperationNode, Y: OperationNode) -> Matrix:
+def intersect(X: OperationNode, Y: OperationNode):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y}
     return Matrix(X.sds_context, 'intersect', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/km.py 
b/src/main/python/systemds/operator/algorithm/builtin/km.py
index 0f7566a..4009d5b 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/km.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/km.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def km(X: OperationNode, TE: OperationNode, GI: OperationNode, SI: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def km(X: OperationNode, TE: OperationNode, GI: OperationNode, SI: 
OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Input matrix X containing the survival data: 
     :param number: (categorical features) for grouping and/or stratifying 
@@ -45,11 +45,6 @@ def km(X: OperationNode, TE: OperationNode, GI: 
OperationNode, SI: OperationNode
     :param perform: survival data across multiple groups: "none" (the default)
     :return: 'OperationNode' containing 7 consecutive columns in km 
corresponds to a unique combination of groups and strata in the data  & schema 
& whose dimension depends on the number of groups (g) and strata (s) in the 
data (k denotes the number  & for grouping  ,i.e., ncol(gi) and l denotes the 
number of factors used for stratifying, i.e., ncol(si)) & of groups and strata 
is equal to 1, m will have 4 columns with  & data from multiple groups 
available and ttype=log-rank or wilcoxon, [...]
     """
-    
-    X._check_matrix_op()
-    TE._check_matrix_op()
-    GI._check_matrix_op()
-    SI._check_matrix_op()
     params_dict = {'X':X, 'TE':TE, 'GI':GI, 'SI':SI}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'km', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=4, 
output_types=[OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/kmeans.py 
b/src/main/python/systemds/operator/algorithm/builtin/kmeans.py
index b8606cc..b929979 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/kmeans.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/kmeans.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def kmeans(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def kmeans(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: The input Matrix to do KMeans on.
     :param k: Number of centroids
@@ -40,8 +40,6 @@ def kmeans(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param seed: The seed used for initial sampling. If set to -1 random seeds 
are selected.
     :return: 'OperationNode' containing the mapping of records to centroids & 
the output matrix with the centroids 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'kmeans', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py
index 1e43629..31056ee 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/kmeansPredict.py
@@ -28,15 +28,12 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def kmeansPredict(X: OperationNode, C: OperationNode) -> Matrix:
+def kmeansPredict(X: OperationNode, C: OperationNode):
     """
     :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 
     """
-    
-    X._check_matrix_op()
-    C._check_matrix_op()
     params_dict = {'X':X, 'C':C}
     return Matrix(X.sds_context, 'kmeansPredict', 
named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/knnbf.py 
b/src/main/python/systemds/operator/algorithm/builtin/knnbf.py
index e895ab9..185e8ea 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/knnbf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/knnbf.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def knnbf(X: OperationNode, T: OperationNode, k_value: int) -> Matrix:
+def knnbf(X: OperationNode, T: OperationNode, k_value: int):
     
-    
-    X._check_matrix_op()
-    T._check_matrix_op()
     params_dict = {'X':X, 'T':T, 'k_value':k_value}
     return Matrix(X.sds_context, 'knnbf', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/l2svm.py 
b/src/main/python/systemds/operator/algorithm/builtin/l2svm.py
index cd7db9e..ca0d2a0 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/l2svm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/l2svm.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def l2svm(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def l2svm(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
     :param X: matrix X of feature vectors
     :param Y: matrix Y of class labels have to be a single column
@@ -41,9 +41,6 @@ def l2svm(X: OperationNode, Y: OperationNode, **kwargs: 
Dict[str, VALID_INPUT_TY
     :param columnId: The column Id used if one wants to add a ID to the print 
statement, Specificly usefull when L2SVM is used in MSVM.
     :return: 'OperationNode' containing model matrix 
     """
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'l2svm', named_input_nodes=params_dict)
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py
index da40c3c..58bbaa9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/l2svmPredict.py
@@ -28,16 +28,13 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def l2svmPredict(X: OperationNode, W: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def l2svmPredict(X: OperationNode, W: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
     :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 maxed to ones 
and zeros. 
     """
-    
-    X._check_matrix_op()
-    W._check_matrix_op()
     params_dict = {'X':X, 'W':W}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'l2svmPredict', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lasso.py 
b/src/main/python/systemds/operator/algorithm/builtin/lasso.py
index f940ef6..ba8c805 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lasso.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lasso.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def lasso(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def lasso(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
     :param X: input feature matrix
     :param y: matrix Y columns of the design matrix
@@ -38,9 +38,6 @@ def lasso(X: OperationNode, y: OperationNode, **kwargs: 
Dict[str, VALID_INPUT_TY
     :param maxi: maximum number of iterations until convergence
     :return: 'OperationNode' containing  
     """
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'lasso', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lm.py 
b/src/main/python/systemds/operator/algorithm/builtin/lm.py
index 2b4005d..c341efc 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lm.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def lm(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def lm(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
     :param X: Matrix of feature vectors.
     :param y: 1-column matrix of response values.
@@ -39,9 +39,6 @@ def lm(X: OperationNode, y: OperationNode, **kwargs: 
Dict[str, VALID_INPUT_TYPES
     :param verbose: If TRUE print messages are activated
     :return: 'OperationNode' containing the model fit 
     """
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'lm', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lmCG.py 
b/src/main/python/systemds/operator/algorithm/builtin/lmCG.py
index 56860a3..0de47fa 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lmCG.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lmCG.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def lmCG(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def lmCG(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'lmCG', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lmDS.py 
b/src/main/python/systemds/operator/algorithm/builtin/lmDS.py
index f86a790..1cd29a2 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lmDS.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lmDS.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def lmDS(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def lmDS(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'lmDS', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py
index 0326473..f931467 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lmPredict.py
@@ -28,12 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def lmPredict(X: OperationNode, B: OperationNode, ytest: OperationNode, 
**kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def lmPredict(X: OperationNode, B: OperationNode, ytest: OperationNode, 
**kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    B._check_matrix_op()
-    ytest._check_matrix_op()
     params_dict = {'X':X, 'B':B, 'ytest':ytest}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'lmPredict', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py 
b/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py
index c107281..2db1b6c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/logSumExp.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def logSumExp(M: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> 
Matrix:
+def logSumExp(M: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    M._check_matrix_op()
     params_dict = {'M':M}
     params_dict.update(kwargs)
     return Matrix(M.sds_context, 'logSumExp', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/msvm.py 
b/src/main/python/systemds/operator/algorithm/builtin/msvm.py
index 3d150f4..018182f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/msvm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/msvm.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def msvm(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def msvm(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'msvm', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py
index 29084ee..77a2e53 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/msvmPredict.py
@@ -28,15 +28,12 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def msvmPredict(X: OperationNode, W: OperationNode) -> Matrix:
+def msvmPredict(X: OperationNode, W: OperationNode):
     """
     :param X: matrix X of feature vectors to classify
     :param W: matrix of the trained variables
     :return: 'OperationNode' containing classification labels maxed to ones 
and zeros. 
     """
-    
-    X._check_matrix_op()
-    W._check_matrix_op()
     params_dict = {'X':X, 'W':W}
     return OperationNode(X.sds_context, 'msvmPredict', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py 
b/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py
index d56889c..893763b 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/multiLogReg.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def multiLogReg(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def multiLogReg(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
     :param X: Location to read the matrix of feature vectors
     :param Y: Location to read the matrix with category labels
@@ -40,9 +40,6 @@ def multiLogReg(X: OperationNode, Y: OperationNode, **kwargs: 
Dict[str, VALID_IN
     :param verbose: flag specifying if logging information should be printed
     :return: 'OperationNode' containing betas as output for prediction 
     """
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'multiLogReg', named_input_nodes=params_dict)
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py
index e138162..9370563 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/multiLogRegPredict.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def multiLogRegPredict(X: OperationNode, B: OperationNode, Y: OperationNode, 
**kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def multiLogRegPredict(X: OperationNode, B: OperationNode, Y: OperationNode, 
**kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Data Matrix X
     :param B: Regression parameters betas
@@ -36,10 +36,6 @@ def multiLogRegPredict(X: OperationNode, B: OperationNode, 
Y: OperationNode, **k
     :param verbose: /
     :return: 'OperationNode' containing matrix m of predicted 
means/probabilities & predicted response vector & scalar value of accuracy 
     """
-    
-    X._check_matrix_op()
-    B._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'B':B, 'Y':Y}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'multiLogRegPredict', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=3, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.DOUBLE])
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 8271c8d..baed229 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/na_locf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/na_locf.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def na_locf(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> 
Matrix:
+def na_locf(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'na_locf', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/naivebayes.py 
b/src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py
similarity index 83%
rename from src/main/python/systemds/operator/algorithm/builtin/naivebayes.py
rename to src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py
index a59de46..9d2abc4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/naivebayes.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/naiveBayes.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/naivebayes.dml
+# Autogenerated From : scripts/builtin/naiveBayes.dml
 
 from typing import Dict, Iterable
 
@@ -28,14 +28,11 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def naivebayes(D: OperationNode, C: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def naiveBayes(D: OperationNode, C: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    D._check_matrix_op()
-    C._check_matrix_op()
     params_dict = {'D':D, 'C':C}
     params_dict.update(kwargs)
-    return OperationNode(D.sds_context, 'naivebayes', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
+    return OperationNode(D.sds_context, 'naiveBayes', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 
 
     
\ No newline at end of file
diff --git a/src/main/python/systemds/operator/algorithm/builtin/cor.py 
b/src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py
similarity index 75%
copy from src/main/python/systemds/operator/algorithm/builtin/cor.py
copy to src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py
index 6ff5ab7..4763377 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/cor.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/naiveBayesPredict.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/cor.dml
+# Autogenerated From : scripts/builtin/naiveBayesPredict.dml
 
 from typing import Dict, Iterable
 
@@ -28,12 +28,10 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def cor(X: OperationNode) -> Matrix:
+def naiveBayesPredict(X: OperationNode, P: OperationNode, C: OperationNode):
     
-    
-    X._check_matrix_op()
-    params_dict = {'X':X}
-    return Matrix(X.sds_context, 'cor', named_input_nodes=params_dict)
+    params_dict = {'X':X, 'P':P, 'C':C}
+    return OperationNode(X.sds_context, 'naiveBayesPredict', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 
 
     
\ No newline at end of file
diff --git a/src/main/python/systemds/operator/algorithm/builtin/normalize.py 
b/src/main/python/systemds/operator/algorithm/builtin/normalize.py
index ebfbb48..335dacb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/normalize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/normalize.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def normalize(X: OperationNode) -> Matrix:
+def normalize(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return Matrix(X.sds_context, 'normalize', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlier.py 
b/src/main/python/systemds/operator/algorithm/builtin/outlier.py
index 2b0341f..54432de 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlier.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlier.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def outlier(X: OperationNode, opposite: bool) -> Matrix:
+def outlier(X: OperationNode, opposite: bool):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'opposite':opposite}
     return Matrix(X.sds_context, 'outlier', named_input_nodes=params_dict)
 
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py 
b/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py
index d16f8f6..851cd66 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierByArima.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def outlierByArima(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) 
-> Matrix:
+def outlierByArima(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'outlierByArima', 
named_input_nodes=params_dict)
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py 
b/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py
index c0640ad..54f5fe2 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierByIQR.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def outlierByIQR(X: OperationNode, k: float, max_iterations: int, **kwargs: 
Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def outlierByIQR(X: OperationNode, k: float, max_iterations: int, **kwargs: 
Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'k':k, 'max_iterations':max_iterations}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'outlierByIQR', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py 
b/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py
index f7c12ae..3032bc5 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/outlierBySd.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def outlierBySd(X: OperationNode, max_iterations: int, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def outlierBySd(X: OperationNode, max_iterations: int, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'max_iterations':max_iterations}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'outlierBySd', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/pca.py 
b/src/main/python/systemds/operator/algorithm/builtin/pca.py
index bed5c98..9ac19f8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/pca.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/pca.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def pca(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def pca(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Input feature matrix
     :param K: Number of reduced dimensions (i.e., columns)
@@ -36,8 +36,6 @@ def pca(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param Scale: Indicates whether or not to scale the feature matrix
     :return: 'OperationNode' containing output dominant eigen vectors (can be 
used for projections) & the column means of the input, subtracted to construct 
the pca & the scaling of the values, to make each dimension same size. 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'pca', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=4, 
output_types=[OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/pnmf.py 
b/src/main/python/systemds/operator/algorithm/builtin/pnmf.py
index 5c4902d..2dce1d3 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/pnmf.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/pnmf.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def pnmf(X: OperationNode, rnk: int, **kwargs: Dict[str, VALID_INPUT_TYPES]) 
-> Matrix:
+def pnmf(X: OperationNode, rnk: int, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'rnk':rnk}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'pnmf', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=2, 
output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/ppca.py 
b/src/main/python/systemds/operator/algorithm/builtin/ppca.py
index 8e2f6d3..01387bb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/ppca.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/ppca.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def ppca(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def ppca(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: n x m input feature matrix
     :param k: indicates dimension of the new vector space constructed from 
eigen vectors
@@ -38,8 +38,6 @@ def ppca(X: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
     :param verbose: verbose debug output
     :return: 'OperationNode' containing output feature matrix with k columns & 
output dominant eigen vectors (can be used for projections) 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'ppca', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=2, 
output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/randomForest.py 
b/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
index bf8de9b..dee1839 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
@@ -28,7 +28,7 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def randomForest(X: OperationNode, Y: OperationNode, R: OperationNode, 
**kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def randomForest(X: OperationNode, Y: OperationNode, R: OperationNode, 
**kwargs: Dict[str, VALID_INPUT_TYPES]):
     """
     :param X: Feature matrix X; note that X needs to be both recoded and dummy 
coded
     :param Y: Label matrix Y; note that Y needs to be both recoded and dummy 
coded
@@ -47,10 +47,6 @@ def randomForest(X: OperationNode, Y: OperationNode, R: 
OperationNode, **kwargs:
     :param impurity: Impurity measure: entropy or Gini (the default)
     :return: 'OperationNode' containing tree and each row contains the 
following information: & that leaf node j is supposed to predict & 7,8,... if j 
is categorical & chosen for j is categorical rows 7,8,... depict the value 
subset chosen for j & c containing the number of times samples are chosen in 
each tree of the random forest & from scale feature ids to global feature ids & 
from categorical feature ids to global feature ids 
     """
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
-    R._check_matrix_op()
     params_dict = {'X':X, 'Y':Y, 'R':R}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'randomForest', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=4, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/scale.py 
b/src/main/python/systemds/operator/algorithm/builtin/scale.py
index ff622ba..ff84e9a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/scale.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/scale.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def scale(X: OperationNode, center: bool, scale: bool) -> Matrix:
+def scale(X: OperationNode, center: bool, scale: bool):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'center':center, 'scale':scale}
     return OperationNode(X.sds_context, 'scale', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=3, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py 
b/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py
index f3887f2..2ca4657 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/scaleApply.py
@@ -28,12 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def scaleApply(X: OperationNode, Centering: OperationNode, ScaleFactor: 
OperationNode) -> Matrix:
+def scaleApply(X: OperationNode, Centering: OperationNode, ScaleFactor: 
OperationNode):
     
-    
-    X._check_matrix_op()
-    Centering._check_matrix_op()
-    ScaleFactor._check_matrix_op()
     params_dict = {'X':X, 'Centering':Centering, 'ScaleFactor':ScaleFactor}
     return Matrix(X.sds_context, 'scaleApply', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/sherlock.py 
b/src/main/python/systemds/operator/algorithm/builtin/sherlock.py
index 30e1856..9558f7a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/sherlock.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/sherlock.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def sherlock(X_train: OperationNode, y_train: OperationNode) -> Matrix:
+def sherlock(X_train: OperationNode, y_train: OperationNode):
     
-    
-    X_train._check_matrix_op()
-    y_train._check_matrix_op()
     params_dict = {'X_train':X_train, 'y_train':y_train}
     return OperationNode(X_train.sds_context, 'sherlock', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=30, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX, OutputType.MATRIX, OutputType.MATR [...]
 
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py 
b/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py
index ce5911d..12e35ef 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/sherlockPredict.py
@@ -28,40 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def sherlockPredict(X: OperationNode, cW1: OperationNode, cb1: OperationNode, 
cW2: OperationNode, cb2: OperationNode, cW3: OperationNode, cb3: OperationNode, 
wW1: OperationNode, wb1: OperationNode, wW2: OperationNode, wb2: OperationNode, 
wW3: OperationNode, wb3: OperationNode, pW1: OperationNode, pb1: OperationNode, 
pW2: OperationNode, pb2: OperationNode, pW3: OperationNode, pb3: OperationNode, 
sW1: OperationNode, sb1: OperationNode, sW2: OperationNode, sb2: OperationNode, 
sW3: Operation [...]
+def sherlockPredict(X: OperationNode, cW1: OperationNode, cb1: OperationNode, 
cW2: OperationNode, cb2: OperationNode, cW3: OperationNode, cb3: OperationNode, 
wW1: OperationNode, wb1: OperationNode, wW2: OperationNode, wb2: OperationNode, 
wW3: OperationNode, wb3: OperationNode, pW1: OperationNode, pb1: OperationNode, 
pW2: OperationNode, pb2: OperationNode, pW3: OperationNode, pb3: OperationNode, 
sW1: OperationNode, sb1: OperationNode, sW2: OperationNode, sb2: OperationNode, 
sW3: Operation [...]
     
-    
-    X._check_matrix_op()
-    cW1._check_matrix_op()
-    cb1._check_matrix_op()
-    cW2._check_matrix_op()
-    cb2._check_matrix_op()
-    cW3._check_matrix_op()
-    cb3._check_matrix_op()
-    wW1._check_matrix_op()
-    wb1._check_matrix_op()
-    wW2._check_matrix_op()
-    wb2._check_matrix_op()
-    wW3._check_matrix_op()
-    wb3._check_matrix_op()
-    pW1._check_matrix_op()
-    pb1._check_matrix_op()
-    pW2._check_matrix_op()
-    pb2._check_matrix_op()
-    pW3._check_matrix_op()
-    pb3._check_matrix_op()
-    sW1._check_matrix_op()
-    sb1._check_matrix_op()
-    sW2._check_matrix_op()
-    sb2._check_matrix_op()
-    sW3._check_matrix_op()
-    sb3._check_matrix_op()
-    fW1._check_matrix_op()
-    fb1._check_matrix_op()
-    fW2._check_matrix_op()
-    fb2._check_matrix_op()
-    fW3._check_matrix_op()
-    fb3._check_matrix_op()
     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', 
named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py 
b/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py
index a61b8f5..a11a33e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/sigmoid.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def sigmoid(X: OperationNode) -> Matrix:
+def sigmoid(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return Matrix(X.sds_context, 'sigmoid', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py 
b/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py
index d16e6c3..c046769 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/slicefinder.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def slicefinder(X: OperationNode, e: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def slicefinder(X: OperationNode, e: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    e._check_matrix_op()
     params_dict = {'X':X, 'e':e}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'slicefinder', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=3, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/smote.py 
b/src/main/python/systemds/operator/algorithm/builtin/smote.py
index c5e9529..d1b64b8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/smote.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/smote.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def smote(X: OperationNode, mask: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def smote(X: OperationNode, mask: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    mask._check_matrix_op()
     params_dict = {'X':X, 'mask':mask}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'smote', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/split.py 
b/src/main/python/systemds/operator/algorithm/builtin/split.py
index 74f8981..e4c5ea7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/split.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/split.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def split(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def split(X: OperationNode, Y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'split', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=4, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX])
diff --git 
a/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py 
b/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py
index ea1e743..b1bf9a8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/splitBalanced.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def splitBalanced(X: OperationNode, Y: OperationNode, splitRatio: float, 
verbose: bool) -> Matrix:
+def splitBalanced(X: OperationNode, Y: OperationNode, splitRatio: float, 
verbose: bool):
     
-    
-    X._check_matrix_op()
-    Y._check_matrix_op()
     params_dict = {'X':X, 'Y':Y, 'splitRatio':splitRatio, 'verbose':verbose}
     return OperationNode(X.sds_context, 'splitBalanced', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=4, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX, OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/als.py 
b/src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py
similarity index 56%
copy from src/main/python/systemds/operator/algorithm/builtin/als.py
copy to src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py
index 42cac6a..26c8cb4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/als.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/stableMarriage.py
@@ -20,7 +20,7 @@
 # -------------------------------------------------------------
 
 # Autogenerated By   : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/als.dml
+# Autogenerated From : scripts/builtin/stableMarriage.dml
 
 from typing import Dict, Iterable
 
@@ -28,24 +28,19 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def als(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> Matrix:
+def stableMarriage(P: OperationNode, A: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     """
-    :param X: Location to read the input matrix X to be factorized
-    :param rank: Rank of the factorization
-    :param reg: Regularization: 
-    :param lambda: Regularization parameter, no regularization if 0.0
-    :param maxi: Maximum number of iterations
-    :param check: Check for convergence after every iteration, i.e., updating 
U and V once
-    :param thr: Assuming check is set to TRUE, the algorithm stops and 
convergence is declared 
-    :param if: in loss in any two consecutive iterations falls below this 
threshold; 
-    :param if: FALSE thr is ignored
-    :return: 'OperationNode' containing x n matrix v 
+    :param P: proposer matrix P.
+    :param It: a square matrix with no zeros.
+    :param A: acceptor matrix A.
+    :param It: a square matrix with no zeros.
+    :param ordered: If true, P and A are assumed to be ordered,
+    :param index: vice-versa (higher is better).
+    :return: 'OperationNode' containing result matrix & 1 (2.0 preference 
value) and acceptor 2 (1.0 preference value). & 3 (2.0 preference value) and 
proposer 2 (1.0 preference value). & matched with proposer 3 (since [1,3] is 
non-zero) at a preference level of 3.0. & matched with proposer 2 (since [2,2] 
is non-zero) at a preference level of 3.0. & matched with proposer 1 (since 
[3,1] is non-zero) at a preference level of 1.0. 
     """
-    
-    X._check_matrix_op()
-    params_dict = {'X':X}
+    params_dict = {'P':P, 'A':A}
     params_dict.update(kwargs)
-    return OperationNode(X.sds_context, 'als', named_input_nodes=params_dict, 
output_type=OutputType.LIST, number_of_outputs=2, 
output_types=[OutputType.MATRIX, OutputType.MATRIX])
+    return Matrix(P.sds_context, 'stableMarriage', 
named_input_nodes=params_dict)
 
 
     
\ No newline at end of file
diff --git a/src/main/python/systemds/operator/algorithm/builtin/statsNA.py 
b/src/main/python/systemds/operator/algorithm/builtin/statsNA.py
index 88380e0..be8d1a7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/statsNA.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/statsNA.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def statsNA(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]) -> 
Matrix:
+def statsNA(X: OperationNode, **kwargs: Dict[str, VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     params_dict.update(kwargs)
     return Matrix(X.sds_context, 'statsNA', named_input_nodes=params_dict)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/steplm.py 
b/src/main/python/systemds/operator/algorithm/builtin/steplm.py
index 2c829a9..152d10d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/steplm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/steplm.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def steplm(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]) -> Matrix:
+def steplm(X: OperationNode, y: OperationNode, **kwargs: Dict[str, 
VALID_INPUT_TYPES]):
     
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y}
     params_dict.update(kwargs)
     return OperationNode(X.sds_context, 'steplm', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
diff --git a/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py 
b/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
index 25dffe3..ca11663 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
@@ -28,14 +28,12 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def toOneHot(X: OperationNode, numClasses: int) -> Matrix:
+def toOneHot(X: OperationNode, numClasses: int):
     """
     :param X: vector with N integer entries between 1 and numClasses
     :param numclasses: number of columns, must be >= largest value in X
     :return: 'OperationNode' containing matrix with shape (n, numclasses) 
     """
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'numClasses':numClasses}
     return Matrix(X.sds_context, 'toOneHot', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py 
b/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
index e92b7b4..499586e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/tomeklink.py
@@ -28,15 +28,12 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def tomeklink(X: OperationNode, y: OperationNode) -> Matrix:
+def tomeklink(X: OperationNode, y: OperationNode):
     """
     :param X: Data Matrix (nxm)
     :param y: Label Matrix (nx1)
     :return: 'OperationNode' containing  
     """
-    
-    X._check_matrix_op()
-    y._check_matrix_op()
     params_dict = {'X':X, 'y':y}
     return OperationNode(X.sds_context, 'tomeklink', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=3, output_types=[OutputType.MATRIX, OutputType.MATRIX, 
OutputType.MATRIX])
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/univar.py 
b/src/main/python/systemds/operator/algorithm/builtin/univar.py
index 3a9f8f2..534d41e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/univar.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/univar.py
@@ -28,11 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def univar(X: OperationNode, types: OperationNode) -> Matrix:
+def univar(X: OperationNode, types: OperationNode):
     
-    
-    X._check_matrix_op()
-    types._check_matrix_op()
     params_dict = {'X':X, 'types':types}
     return Matrix(X.sds_context, 'univar', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py 
b/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py
index 425d760..b011a77 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/vectorToCsv.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def vectorToCsv(mask: OperationNode) -> Matrix:
+def vectorToCsv(mask: OperationNode):
     
-    
-    mask._check_matrix_op()
     params_dict = {'mask':mask}
     return Matrix(mask.sds_context, 'vectorToCsv', 
named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py 
b/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
index f40c6d8..eacaa28 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/winsorize.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def winsorize(X: OperationNode, verbose: bool) -> Matrix:
+def winsorize(X: OperationNode, verbose: bool):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X, 'verbose':verbose}
     return Matrix(X.sds_context, 'winsorize', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py 
b/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py
index 6a0e17c..d677320 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xdummy1.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def xdummy1(X: OperationNode) -> Matrix:
+def xdummy1(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return Matrix(X.sds_context, 'xdummy1', named_input_nodes=params_dict)
 
diff --git a/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py 
b/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py
index 8bde8f3..a5d75f4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/xdummy2.py
@@ -28,10 +28,8 @@ from systemds.operator import OperationNode, Matrix
 from systemds.script_building.dag import OutputType
 from systemds.utils.consts import VALID_INPUT_TYPES
 
-def xdummy2(X: OperationNode) -> Matrix:
+def xdummy2(X: OperationNode):
     
-    
-    X._check_matrix_op()
     params_dict = {'X':X}
     return OperationNode(X.sds_context, 'xdummy2', 
named_input_nodes=params_dict, output_type=OutputType.LIST, 
number_of_outputs=2, output_types=[OutputType.MATRIX, OutputType.MATRIX])
 

Reply via email to