public ITransform Generate(IDataSet dataset) { var data_matrix = dataset.GetFeatureDataAsMatrix(); var matrixCovariance = ToolsMathLinear.CovarianceMatrix(data_matrix); var means = ToolsMathLinear.Means0(data_matrix); var matrixForward = matrixCovariance.Inverse().Cholesky().Factor; var matrixBackward = matrixForward.Inverse(); return(new TransformWhiteningCholesky(dataset.DataContext, means, matrixForward, matrixBackward)); }