Class MatrixMultiplicationPropagator
- java.lang.Object
- 
- org.apache.sysds.runtime.privacy.propagation.MatrixMultiplicationPropagator
 
- 
- All Implemented Interfaces:
- Propagator
 - Direct Known Subclasses:
- MatrixMultiplicationPropagatorNaive,- MatrixMultiplicationPropagatorPrivateFirst,- MatrixMultiplicationPropagatorPrivateFirstOptimized
 
 public abstract class MatrixMultiplicationPropagator extends Object implements Propagator Used for propagating constraints in a matrix multiplication.
- 
- 
Constructor SummaryConstructors Constructor Description MatrixMultiplicationPropagator()Constructor for empty instance.MatrixMultiplicationPropagator(MatrixBlock input1, PrivacyConstraint privacyConstraint1, MatrixBlock input2, PrivacyConstraint privacyConstraint2)Constructs the propagator and initializes the fields used for propagation.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description OperatorType[]getOperatorTypesCol()Gets the operator types of all columns of the right-hand input in the matrix multiplication.OperatorType[]getOperatorTypesRow()Gets the operator types of all rows of the left-hand input in the matrix multiplication.PrivacyConstraintpropagate()Activates the propagation and returns the output privacy constraint.voidsetFields(MatrixBlock input1, PrivacyConstraint privacyConstraint1, MatrixBlock input2, PrivacyConstraint privacyConstraint2)Sets all fields of propagator.
 
- 
- 
- 
Constructor Detail- 
MatrixMultiplicationPropagatorpublic MatrixMultiplicationPropagator() Constructor for empty instance. The fields can later be set with the setFields method.
 - 
MatrixMultiplicationPropagatorpublic MatrixMultiplicationPropagator(MatrixBlock input1, PrivacyConstraint privacyConstraint1, MatrixBlock input2, PrivacyConstraint privacyConstraint2) Constructs the propagator and initializes the fields used for propagation.- Parameters:
- input1- left-hand input in matrix multiplication.
- privacyConstraint1- privacy constraint of left-hand input in matrix multiplication
- input2- right-hand input in matrix multiplication
- privacyConstraint2- privacy constraint of right-hand input in matrix multiplication
 
 
- 
 - 
Method Detail- 
setFieldspublic void setFields(MatrixBlock input1, PrivacyConstraint privacyConstraint1, MatrixBlock input2, PrivacyConstraint privacyConstraint2) Sets all fields of propagator.- Parameters:
- input1- left-hand input in matrix multiplication.
- privacyConstraint1- privacy constraint of left-hand input in matrix multiplication
- input2- right-hand input in matrix multiplication
- privacyConstraint2- privacy constraint of right-hand input in matrix multiplication
 
 - 
propagatepublic PrivacyConstraint propagate() Description copied from interface:PropagatorActivates the propagation and returns the output privacy constraint.- Specified by:
- propagatein interface- Propagator
- Returns:
- output privacy constraint.
 
 - 
getOperatorTypesRowpublic OperatorType[] getOperatorTypesRow() Gets the operator types of all rows of the left-hand input in the matrix multiplication. An operator type defines if the row will result in an aggregation or not.- Returns:
- array of operator types representing the rows of the left-hand input in the matrix multiplication
 
 - 
getOperatorTypesColpublic OperatorType[] getOperatorTypesCol() Gets the operator types of all columns of the right-hand input in the matrix multiplication. An operator type defines if the column will result in an aggregation or not.- Returns:
- array of operator types representing the columns of the right-hand input in the matrix multiplication.
 
 
- 
 
-