Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
253 changes: 179 additions & 74 deletions src/BaselineOfPolyMath/BaselineOfPolyMath.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Class {
#category : #BaselineOfPolyMath
}

{ #category : #baseline }
{ #category : #baselines }
BaselineOfPolyMath >> baseline: spec [

<baseline>
Expand All @@ -24,80 +24,14 @@ BaselineOfPolyMath >> baseline: spec [
sMark: spec;
xmlWriter: spec;
vectorMatrix: spec;
randomNumbers: spec.
randomNumbers: spec;
datasets: spec;
roassal: spec;
dataFrameInspector: spec.

spec
package: 'ExtendedNumberParser';
package: 'Math-Accuracy-Core';
package: 'Math-Accuracy-ODE' with: [ spec requires: #( 'Math-ODE' 'XMLWriter' ) ];
package: 'Math-ArbitraryPrecisionFloat' with: [ spec requires: #( 'ExtendedNumberParser' ) ];
package: 'Math-AutomaticDifferenciation' with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' ) ];
package: 'Math-Benchmarks-KDTree' with: [ spec requires: #( 'Math-KDTree' 'SMark' ) ];
package: 'Math-Benchmarks-ODE' with: [ spec requires: #( 'Math-ODE' 'SMark' 'XMLWriter' ) ];
package: 'Math-Chromosome' with: [ spec requires: #( 'MathVectorMatrix' ) ];
package: 'Math-Clustering' with: [ spec requires: #( 'Math-Numerical' 'Math-Core-Process' 'MathVectorMatrix' ) ];
package: 'Math-Complex' with: [ spec requires: #( 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Helpers';
package: 'Math-Distributions' with: [ spec requires: #( 'MathVectorMatrix' 'Math-Quantile' 'Math-Core-Process' ) ];
package: 'Math-Core-Process';
package: 'Math-Numerical'
with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' 'Math-Distributions' 'Math-StatisticalMoments'
'Math-Series' ) ];
package: 'Math-Polynomials'
with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' 'Math-Distributions' 'Math-StatisticalMoments'
'Math-Series' ) ];
package: 'Math-FastFourierTransform' with: [ spec requires: #( 'Math-Complex' ) ];
package: 'Math-FunctionFit'
with: [ spec requires: #( 'Math-Numerical' 'Math-Chromosome' 'Math-Accuracy-Core' 'MathVectorMatrix' 'Math-Helpers' 'Math-Polynomials' ) ];
package: 'Math-KDTree';
package: 'Math-Number-Extensions';
package: 'Math-ODE' with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' 'Math-Polynomials' ) ];
package: 'Math-Permutation' with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' ) ];
package: 'Math-Physics-Constants';
package: 'Math-PrincipalComponentAnalysis' with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' 'Math-Polynomials' ) ];
package: 'Math-Quantile';
package: 'Math-Quaternion' with: [ spec requires: #( 'Math-Complex' 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Series';
package: 'Math-StatisticalMoments' with: [ spec requires: #( 'Math-Helpers' 'Math-Distributions' ) ];
package: 'Math-TSNE';
package: 'Math-Tests-Accuracy' with: [ spec requires: #( 'Math-Accuracy-Core' ) ];
package: 'Math-Tests-ArbitraryPrecisionFloat' with: [ spec requires: #( 'Math-ArbitraryPrecisionFloat' ) ];
package: 'Math-Tests-AutomaticDifferenciation' with: [ spec requires: #( 'Math-AutomaticDifferenciation' 'MathVectorMatrix' ) ];
package: 'Math-Tests-Clustering' with: [ spec requires: #( 'Math-Clustering' 'Math-Distributions' 'Math-UtilsDataServer' ) ];
package: 'Math-Tests-Complex' with: [ spec requires: #( 'Math-Complex' ) ];
package: 'Math-Tests-Distributions' with: [ spec requires: #( 'Math-Distributions' ) ];
package: 'Math-Tests-Core-Process' with: [ spec requires: #( 'Math-Core-Process' ) ];
package: 'Math-Tests-Numerical' with: [ spec requires: #( 'Math-Numerical' 'Math-UtilsDataServer' ) ];
package: 'Math-Tests-FastFourierTransform' with: [ spec requires: #( 'Math-FastFourierTransform' 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Tests-FunctionFit';
package: 'Math-Tests-KDTree' with: [ spec requires: #( 'Math-KDTree' ) ];
package: 'Math-Tests-Number-Extensions' with: [ spec requires: #( 'Math-Number-Extensions' ) ];
package: 'Math-Tests-ODE' with: [ spec requires: #( 'Math-ODE' ) ];
package: 'Math-Tests-Permutation' with: [ spec requires: #( 'Math-Permutation' ) ];
package: 'Math-Tests-PrincipalComponentAnalysis' with: [ spec requires: #( 'Math-PrincipalComponentAnalysis' ) ];
package: 'Math-Tests-Quantile' with: [ spec requires: #( 'Math-Quantile' ) ];
package: 'Math-Tests-Polynomials' with: [ spec requires: #( 'Math-Polynomials' ) ];
package: 'Math-Tests-Quaternion' with: [ spec requires: #( 'Math-Quaternion' ) ];
package: 'Math-Tests-TSNE' with: [ spec requires: #( 'Math-TSNE' ) ];
package: 'Math-UtilsDataServer'.
spec
group: 'Accuracy' with: #( 'Math-Accuracy-ODE' 'Math-Accuracy-Core' );
group: 'Benchmarks' with: #( 'Math-Benchmarks-ODE' 'Math-Benchmarks-KDTree' );
group: 'Core'
with:
#( 'Math-Complex' 'Math-Quaternion' 'Math-Numerical' 'MathRandomNumbers' 'Math-KDTree' 'Math-ODE' 'Math-ArbitraryPrecisionFloat'
'Math-FastFourierTransform' 'ExtendedNumberParser' 'Math-Quantile' 'Math-Physics-Constants' 'Math-Polynomials' 'Math-TSNE' 'Math-Core-Process'
'Math-Helpers' 'MathVectorMatrix' 'Math-Distributions' );
group: 'Extensions'
with: #( 'Math-Clustering' 'Math-Number-Extensions' 'Math-Chromosome' 'Math-PrincipalComponentAnalysis' 'Math-FunctionFit' 'Math-AutomaticDifferenciation'
'Math-Permutation' );
group: 'Tests'
with:
#( 'Math-Tests-Clustering' 'Math-Tests-Numerical' 'Math-Tests-Complex' 'Math-Tests-Quaternion' 'Math-Tests-ODE' 'Math-Tests-KDTree' 'Math-Tests-FunctionFit'
'Math-Tests-AutomaticDifferenciation' 'Math-Tests-FastFourierTransform' 'Math-Tests-Accuracy' 'Math-Tests-ArbitraryPrecisionFloat'
'Math-Tests-Quantile' 'Math-Tests-Polynomials' 'Math-Tests-PrincipalComponentAnalysis' 'Math-Tests-Number-Extensions' 'Math-Tests-Permutation'
'Math-Tests-TSNE' 'Math-Tests-Core-Process' 'Math-Tests-Distributions' );
group: 'default' with: #( 'Core' 'Extensions' 'Tests' 'Benchmarks' 'Accuracy' ) ].
self
packages: spec;
groups: spec ].

spec for: #( #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' ) do: [
spec
Expand All @@ -107,6 +41,169 @@ BaselineOfPolyMath >> baseline: spec [
package: 'Math-CompatibilityUpToPharo11' ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> dataFrameInspector: spec [

spec
baseline: 'AIDataFrameInspector'
with: [ spec repository: 'github://pharo-ai/data-inspector/src' ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> datasets: spec [

spec
baseline: 'AIDatasets'
with: [ spec repository: 'github://pharo-ai/datasets' ].
]

{ #category : #baselines }
BaselineOfPolyMath >> groups: spec [

spec
group: 'Accuracy'
with: #( 'Math-Accuracy-ODE' 'Math-Accuracy-Core' );
group: 'Benchmarks'
with: #( 'Math-Benchmarks-ODE' 'Math-Benchmarks-KDTree' );
group: 'Core'
with:
#( 'Math-Complex' 'Math-Quaternion' 'Math-Numerical'
'MathRandomNumbers' 'Math-KDTree' 'Math-ODE' 'Math-ArbitraryPrecisionFloat'
'Math-FastFourierTransform' 'ExtendedNumberParser'
'Math-Quantile' 'Math-Physics-Constants'
'Math-Polynomials' 'Math-TSNE' 'Math-Core-Process'
'Math-Helpers' 'MathVectorMatrix' 'Math-Distributions' );
group: 'Extensions'
with:
#( 'Math-Clustering' 'Math-Number-Extensions'
'Math-Chromosome' 'Math-PrincipalComponentAnalysis'
'Math-FunctionFit' 'Math-AutomaticDifferenciation'
'Math-Permutation' );
group: 'Tests'
with: #( 'Math-Tests-Clustering' 'Math-Tests-Numerical'
'Math-Tests-Complex' 'Math-Tests-Quaternion'
'Math-Tests-ODE' 'Math-Tests-KDTree' 'Math-Tests-FunctionFit'
'Math-Tests-AutomaticDifferenciation'
'Math-Tests-FastFourierTransform'
'Math-Tests-Accuracy' 'Math-Tests-ArbitraryPrecisionFloat'
'Math-Tests-Quantile' 'Math-Tests-Polynomials'
'Math-Tests-PrincipalComponentAnalysis'
'Math-Tests-Number-Extensions' 'Math-Tests-Permutation'
'Math-Tests-TSNE' 'Math-Tests-Core-Process'
'Math-Tests-Distributions' );
group: 'visualizations'
with:
#( 'Core' 'Extensions' 'Tests' 'Benchmarks' 'Accuracy' 'Math-Visualizations' );
group: 'default'
with: #( 'Core' 'Extensions' 'Tests' 'Benchmarks' 'Accuracy' )
]

{ #category : #baselines }
BaselineOfPolyMath >> packages: spec [

spec
package: 'ExtendedNumberParser';
package: 'Math-Accuracy-Core';
package: 'Math-Accuracy-ODE'
with: [ spec requires: #( 'Math-ODE' 'XMLWriter' ) ];
package: 'Math-ArbitraryPrecisionFloat'
with: [ spec requires: #( 'ExtendedNumberParser' ) ];
package: 'Math-AutomaticDifferenciation'
with: [ spec requires: #( 'Math-Numerical' 'MathVectorMatrix' ) ];
package: 'Math-Benchmarks-KDTree'
with: [ spec requires: #( 'Math-KDTree' 'SMark' ) ];
package: 'Math-Benchmarks-ODE'
with: [ spec requires: #( 'Math-ODE' 'SMark' 'XMLWriter' ) ];
package: 'Math-Chromosome'
with: [ spec requires: #( 'MathVectorMatrix' ) ];
package: 'Math-Clustering' with: [
spec requires:
#( 'Math-Numerical' 'Math-Core-Process' 'MathVectorMatrix' ) ];
package: 'Math-Complex'
with: [ spec requires: #( 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Helpers';
package: 'Math-Distributions' with: [
spec requires:
#( 'MathVectorMatrix' 'Math-Quantile' 'Math-Core-Process' ) ];
package: 'Math-Core-Process';
package: 'Math-Numerical' with: [
spec requires:
#( 'MathVectorMatrix' 'Math-Core-Process' 'Math-Distributions'
'Math-StatisticalMoments' 'Math-Series' ) ];
package: 'Math-Polynomials' with: [
spec requires:
#( 'MathVectorMatrix' 'Math-Core-Process' 'Math-Distributions'
'Math-StatisticalMoments' 'Math-Series' ) ];
package: 'Math-FastFourierTransform'
with: [ spec requires: #( 'Math-Complex' ) ];
package: 'Math-FunctionFit' with: [
spec requires:
#( 'Math-Numerical' 'Math-Chromosome' 'Math-Accuracy-Core'
'MathVectorMatrix' 'Math-Helpers' 'Math-Polynomials' ) ];
package: 'Math-KDTree';
package: 'Math-Number-Extensions';
package: 'Math-ODE' with: [
spec requires:
#( 'Math-Numerical' 'MathVectorMatrix' 'Math-Polynomials' ) ];
package: 'Math-Permutation'
with: [ spec requires: #( 'MathVectorMatrix' 'Math-Core-Process' ) ];
package: 'Math-Physics-Constants';
package: 'Math-PrincipalComponentAnalysis' with: [
spec requires:
#( 'Math-Numerical' 'MathVectorMatrix' 'Math-Polynomials' ) ];
package: 'Math-Quantile';
package: 'Math-Quaternion' with: [
spec requires:
#( 'Math-Complex' 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Series';
package: 'Math-StatisticalMoments'
with: [ spec requires: #( 'Math-Helpers' 'Math-Distributions' ) ];
package: 'Math-TSNE';
package: 'Math-Tests-Accuracy'
with: [ spec requires: #( 'Math-Accuracy-Core' ) ];
package: 'Math-Tests-ArbitraryPrecisionFloat'
with: [ spec requires: #( 'Math-ArbitraryPrecisionFloat' ) ];
package: 'Math-Tests-AutomaticDifferenciation' with: [
spec requires:
#( 'Math-AutomaticDifferenciation'
'MathVectorMatrix' ) ];
package: 'Math-Tests-Clustering' with: [
spec requires:
#( 'Math-Clustering' 'Math-Distributions' 'Math-UtilsDataServer' ) ];
package: 'Math-Tests-Complex'
with: [ spec requires: #( 'Math-Complex' ) ];
package: 'Math-Tests-Distributions'
with: [ spec requires: #( 'Math-Distributions' ) ];
package: 'Math-Tests-Core-Process'
with: [ spec requires: #( 'Math-Core-Process' ) ];
package: 'Math-Tests-Numerical'
with: [ spec requires: #( 'Math-Numerical' 'Math-UtilsDataServer' ) ];
package: 'Math-Tests-FastFourierTransform' with: [
spec requires:
#( 'Math-FastFourierTransform' 'Math-Numerical' 'Math-Polynomials' ) ];
package: 'Math-Tests-FunctionFit';
package: 'Math-Tests-KDTree'
with: [ spec requires: #( 'Math-KDTree' ) ];
package: 'Math-Tests-Number-Extensions'
with: [ spec requires: #( 'Math-Number-Extensions' ) ];
package: 'Math-Tests-ODE' with: [ spec requires: #( 'Math-ODE' ) ];
package: 'Math-Tests-Permutation'
with: [ spec requires: #( 'Math-Permutation' ) ];
package: 'Math-Tests-PrincipalComponentAnalysis'
with: [ spec requires: #( 'Math-PrincipalComponentAnalysis' ) ];
package: 'Math-Tests-Quantile'
with: [ spec requires: #( 'Math-Quantile' ) ];
package: 'Math-Tests-Polynomials'
with: [ spec requires: #( 'Math-Polynomials' ) ];
package: 'Math-Tests-Quaternion'
with: [ spec requires: #( 'Math-Quaternion' ) ];
package: 'Math-Tests-TSNE'
with: [ spec requires: #( 'Math-TSNE' ) ];
package: 'Math-UtilsDataServer';
package: 'Math-Visualizations'
with: [ spec requires: #( 'AIDatasets' 'AIDataFrameInspector') ]
]

{ #category : #accessing }
BaselineOfPolyMath >> projectClass [
^ [ self class environment at: #MetacelloCypressBaselineProject ]
Expand All @@ -120,6 +217,14 @@ BaselineOfPolyMath >> randomNumbers: spec [
spec baseline: 'MathRandomNumbers' with: [ spec repository: 'github://PolyMathOrg/random-numbers:v1.x.x/src' ]
]

{ #category : #dependencies }
BaselineOfPolyMath >> roassal: spec [

spec
baseline: 'Roassal'
with: [ spec repository: 'github://pharo-graphics/Roassal' ].
]

{ #category : #dependencies }
BaselineOfPolyMath >> sMark: spec [

Expand Down
13 changes: 7 additions & 6 deletions src/Math-PrincipalComponentAnalysis/PMDataTransformer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,23 @@ PMDataTransformer is the abstract root class of transformers. All data transform

"
Class {
#name : #PMDataTransformer,
#superclass : #Object,
#category : #'Math-PrincipalComponentAnalysis'
#name : 'PMDataTransformer',
#superclass : 'Object',
#category : 'Math-PrincipalComponentAnalysis',
#package : 'Math-PrincipalComponentAnalysis'
}

{ #category : #accessing }
{ #category : 'accessing' }
PMDataTransformer >> fit: aPMMatrix [
^ self subclassResponsibility
]

{ #category : #accessing }
{ #category : 'accessing' }
PMDataTransformer >> fitAndTransform: aPMMatrix [
^ (self fit: aPMMatrix) transform: aPMMatrix
]

{ #category : #transforming }
{ #category : 'transforming' }
PMDataTransformer >> transform: aPMMatrix [
^ self subclassResponsibility
]
Original file line number Diff line number Diff line change
@@ -1,33 +1,34 @@
Class {
#name : #PMPrincipalComponentAnalyser,
#superclass : #Object,
#name : 'PMPrincipalComponentAnalyser',
#superclass : 'Object',
#instVars : [
'componentsNumber'
],
#category : #'Math-PrincipalComponentAnalysis'
#category : 'Math-PrincipalComponentAnalysis',
#package : 'Math-PrincipalComponentAnalysis'
}

{ #category : #accessing }
{ #category : 'accessing' }
PMPrincipalComponentAnalyser >> componentsNumber [
^ componentsNumber
]

{ #category : #accessing }
{ #category : 'accessing' }
PMPrincipalComponentAnalyser >> componentsNumber: anInteger [
componentsNumber := anInteger
]

{ #category : #accessing }
{ #category : 'accessing' }
PMPrincipalComponentAnalyser >> fit: aPMMatrix [
^ self subclassResponsibility
]

{ #category : #accessing }
{ #category : 'accessing' }
PMPrincipalComponentAnalyser >> fitAndTransform: aPMMatrix [
^ (self fit: aPMMatrix) transform: aPMMatrix
]

{ #category : #accessing }
{ #category : 'accessing' }
PMPrincipalComponentAnalyser >> transform: aPMMatrix [
^ self subclassResponsibility
]
Loading