text:
# MarSystemComposite
# Type = Series
# Name = featureNetwork

# MarControls = 23
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/hasData = 0
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_bool/hasData
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/nChannels = 1
# Links = 2
# /Series/featureNetwork/SoundFileSource/src/mrs_natural/nChannels
# /Series/featureNetwork/AudioSink/dest/mrs_natural/nChannels
# mrs_natural/onObservations = 2
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_natural/pos = 661500
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_natural/pos
# mrs_real/israte = 22050
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_real/israte
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input1 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input2 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input3 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input4 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input5 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input6 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/filename = /home/gtzan/data/sound/music_speech/speech/voices.au
# Links = 1
# /Series/featureNetwork/SoundFileSource/src/mrs_string/filename
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# nComponents = 8

# MarSystem
# Type = SoundFileSource
# Name = src

# MarControls = 27
# mrs_bool/active = 1
# Links = 0
# mrs_bool/advance = 0
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/hasData = 0
# Links = 1
# /Series/featureNetwork/mrs_bool/hasData
# mrs_bool/noteon = 0
# Links = 0
# mrs_bool/shuffle = 0
# Links = 0
# mrs_natural/cindex = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/loopPos = 0
# Links = 0
# mrs_natural/nChannels = 1
# Links = 1
# /Series/featureNetwork/mrs_natural/nChannels
# mrs_natural/numFiles = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_natural/pos = 661500
# Links = 1
# /Series/featureNetwork/mrs_natural/pos
# mrs_natural/size = 661500
# Links = 0
# mrs_real/duration = -1
# Links = 0
# mrs_real/frequency = 0
# Links = 0
# mrs_real/israte = 22050
# Links = 1
# /Series/featureNetwork/mrs_real/israte
# mrs_real/osrate = 22050
# Links = 0
# mrs_real/repetitions = 1
# Links = 0
# mrs_string/allfilenames = ,
# Links = 0
# mrs_string/currentlyPlaying = daufile
# Links = 0
# mrs_string/filename = /home/gtzan/data/sound/music_speech/speech/voices.au
# Links = 1
# /Series/featureNetwork/mrs_string/filename
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = audio,
# Links = 0

# MarSystem
# Type = AudioSink
# Name = dest

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/bufferSize = 512
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/nChannels = 1
# Links = 1
# /Series/featureNetwork/mrs_natural/nChannels
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 22050
# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = audio,
# Links = 0

# MarSystemComposite
# Type = Series
# Name = STFTMFCCextractor

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0

# nComponents = 2

# MarSystemComposite
# Type = PowerSpectrumNet
# Name = powerSpect

# MarControls = 17
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/WindowSize = 512
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/ShiftInput/si/mrs_natural/WindowSize
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 256
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/cutoff = 1
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/Spectrum/spk/mrs_real/cutoff
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input1 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/input2 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0

# nComponents = 4

# MarSystem
# Type = ShiftInput
# Name = si

# MarControls = 14
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/reset = 0
# Links = 0
# mrs_natural/Decimation = 512
# Links = 0
# mrs_natural/WindowSize = 512
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/mrs_natural/WindowSize
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 22050
# Links = 0
# mrs_string/inObsNames = audio,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# MarSystem
# Type = Hamming
# Name = hamming

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 512
# Links = 0
# mrs_real/israte = 22050
# Links = 0
# mrs_real/osrate = 22050
# Links = 0
# mrs_string/inObsNames = ,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# MarSystem
# Type = Spectrum
# Name = spk

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 1
# Links = 0
# mrs_natural/inSamples = 512
# Links = 0
# mrs_natural/onObservations = 512
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/cutoff = 1
# Links = 1
# /Series/featureNetwork/Series/STFTMFCCextractor/PowerSpectrumNet/powerSpect/mrs_real/cutoff
# mrs_real/israte = 22050
# Links = 0
# mrs_real/lowcutoff = 0
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = ,
# Links = 0
# mrs_string/onObsNames = rbin_0,ibin_0,rbin_1,ibin_1,rbin_2,ibin_2,rbin_3,ibin_3,rbin_4,ibin_4,rbin_5,ibin_5,rbin_6,ibin_6,rbin_7,ibin_7,rbin_8,ibin_8,rbin_9,ibin_9,rbin_10,ibin_10,rbin_11,ibin_11,rbin_12,ibin_12,rbin_13,ibin_13,rbin_14,ibin_14,rbin_15,ibin_15,rbin_16,ibin_16,rbin_17,ibin_17,rbin_18,ibin_18,rbin_19,ibin_19,rbin_20,ibin_20,rbin_21,ibin_21,rbin_22,ibin_22,rbin_23,ibin_23,rbin_24,ibin_24,rbin_25,ibin_25,rbin_26,ibin_26,rbin_27,ibin_27,rbin_28,ibin_28,rbin_29,ibin_29,rbin_30,ibin_30,rbin_31,ibin_31,rbin_32,ibin_32,rbin_33,ibin_33,rbin_34,ibin_34,rbin_35,ibin_35,rbin_36,ibin_36,rbin_37,ibin_37,rbin_38,ibin_38,rbin_39,ibin_39,rbin_40,ibin_40,rbin_41,ibin_41,rbin_42,ibin_42,rbin_43,ibin_43,rbin_44,ibin_44,rbin_45,ibin_45,rbin_46,ibin_46,rbin_47,ibin_47,rbin_48,ibin_48,rbin_49,ibin_49,rbin_50,ibin_50,rbin_51,ibin_51,rbin_52,ibin_52,rbin_53,ibin_53,rbin_54,ibin_54,rbin_55,ibin_55,rbin_56,ibin_56,rbin_57,ibin_57,rbin_58,ibin_58,rbin_59,ibin_59,rbin_60,ibin_60,rbin_61,ibin_61,rbin_62,ibin_62,rbin_63,ibin_63,rbin_64,ibin_64,rbin_65,ibin_65,rbin_66,ibin_66,rbin_67,ibin_67,rbin_68,ibin_68,rbin_69,ibin_69,rbin_70,ibin_70,rbin_71,ibin_71,rbin_72,ibin_72,rbin_73,ibin_73,rbin_74,ibin_74,rbin_75,ibin_75,rbin_76,ibin_76,rbin_77,ibin_77,rbin_78,ibin_78,rbin_79,ibin_79,rbin_80,ibin_80,rbin_81,ibin_81,rbin_82,ibin_82,rbin_83,ibin_83,rbin_84,ibin_84,rbin_85,ibin_85,rbin_86,ibin_86,rbin_87,ibin_87,rbin_88,ibin_88,rbin_89,ibin_89,rbin_90,ibin_90,rbin_91,ibin_91,rbin_92,ibin_92,rbin_93,ibin_93,rbin_94,ibin_94,rbin_95,ibin_95,rbin_96,ibin_96,rbin_97,ibin_97,rbin_98,ibin_98,rbin_99,ibin_99,rbin_100,ibin_100,rbin_101,ibin_101,rbin_102,ibin_102,rbin_103,ibin_103,rbin_104,ibin_104,rbin_105,ibin_105,rbin_106,ibin_106,rbin_107,ibin_107,rbin_108,ibin_108,rbin_109,ibin_109,rbin_110,ibin_110,rbin_111,ibin_111,rbin_112,ibin_112,rbin_113,ibin_113,rbin_114,ibin_114,rbin_115,ibin_115,rbin_116,ibin_116,rbin_117,ibin_117,rbin_118,ibin_118,rbin_119,ibin_119,rbin_120,ibin_120,rbin_121,ibin_121,rbin_122,ibin_122,rbin_123,ibin_123,rbin_124,ibin_124,rbin_125,ibin_125,rbin_126,ibin_126,rbin_127,ibin_127,rbin_128,ibin_128,rbin_129,ibin_129,rbin_130,ibin_130,rbin_131,ibin_131,rbin_132,ibin_132,rbin_133,ibin_133,rbin_134,ibin_134,rbin_135,ibin_135,rbin_136,ibin_136,rbin_137,ibin_137,rbin_138,ibin_138,rbin_139,ibin_139,rbin_140,ibin_140,rbin_141,ibin_141,rbin_142,ibin_142,rbin_143,ibin_143,rbin_144,ibin_144,rbin_145,ibin_145,rbin_146,ibin_146,rbin_147,ibin_147,rbin_148,ibin_148,rbin_149,ibin_149,rbin_150,ibin_150,rbin_151,ibin_151,rbin_152,ibin_152,rbin_153,ibin_153,rbin_154,ibin_154,rbin_155,ibin_155,rbin_156,ibin_156,rbin_157,ibin_157,rbin_158,ibin_158,rbin_159,ibin_159,rbin_160,ibin_160,rbin_161,ibin_161,rbin_162,ibin_162,rbin_163,ibin_163,rbin_164,ibin_164,rbin_165,ibin_165,rbin_166,ibin_166,rbin_167,ibin_167,rbin_168,ibin_168,rbin_169,ibin_169,rbin_170,ibin_170,rbin_171,ibin_171,rbin_172,ibin_172,rbin_173,ibin_173,rbin_174,ibin_174,rbin_175,ibin_175,rbin_176,ibin_176,rbin_177,ibin_177,rbin_178,ibin_178,rbin_179,ibin_179,rbin_180,ibin_180,rbin_181,ibin_181,rbin_182,ibin_182,rbin_183,ibin_183,rbin_184,ibin_184,rbin_185,ibin_185,rbin_186,ibin_186,rbin_187,ibin_187,rbin_188,ibin_188,rbin_189,ibin_189,rbin_190,ibin_190,rbin_191,ibin_191,rbin_192,ibin_192,rbin_193,ibin_193,rbin_194,ibin_194,rbin_195,ibin_195,rbin_196,ibin_196,rbin_197,ibin_197,rbin_198,ibin_198,rbin_199,ibin_199,rbin_200,ibin_200,rbin_201,ibin_201,rbin_202,ibin_202,rbin_203,ibin_203,rbin_204,ibin_204,rbin_205,ibin_205,rbin_206,ibin_206,rbin_207,ibin_207,rbin_208,ibin_208,rbin_209,ibin_209,rbin_210,ibin_210,rbin_211,ibin_211,rbin_212,ibin_212,rbin_213,ibin_213,rbin_214,ibin_214,rbin_215,ibin_215,rbin_216,ibin_216,rbin_217,ibin_217,rbin_218,ibin_218,rbin_219,ibin_219,rbin_220,ibin_220,rbin_221,ibin_221,rbin_222,ibin_222,rbin_223,ibin_223,rbin_224,ibin_224,rbin_225,ibin_225,rbin_226,ibin_226,rbin_227,ibin_227,rbin_228,ibin_228,rbin_229,ibin_229,rbin_230,ibin_230,rbin_231,ibin_231,rbin_232,ibin_232,rbin_233,ibin_233,rbin_234,ibin_234,rbin_235,ibin_235,rbin_236,ibin_236,rbin_237,ibin_237,rbin_238,ibin_238,rbin_239,ibin_239,rbin_240,ibin_240,rbin_241,ibin_241,rbin_242,ibin_242,rbin_243,ibin_243,rbin_244,ibin_244,rbin_245,ibin_245,rbin_246,ibin_246,rbin_247,ibin_247,rbin_248,ibin_248,rbin_249,ibin_249,rbin_250,ibin_250,rbin_251,ibin_251,rbin_252,ibin_252,rbin_253,ibin_253,rbin_254,ibin_254,rbin_255,ibin_255,
# Links = 0

# MarSystem
# Type = PowerSpectrum
# Name = pspk

# MarControls = 12
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 512
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 256
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = rbin_0,ibin_0,rbin_1,ibin_1,rbin_2,ibin_2,rbin_3,ibin_3,rbin_4,ibin_4,rbin_5,ibin_5,rbin_6,ibin_6,rbin_7,ibin_7,rbin_8,ibin_8,rbin_9,ibin_9,rbin_10,ibin_10,rbin_11,ibin_11,rbin_12,ibin_12,rbin_13,ibin_13,rbin_14,ibin_14,rbin_15,ibin_15,rbin_16,ibin_16,rbin_17,ibin_17,rbin_18,ibin_18,rbin_19,ibin_19,rbin_20,ibin_20,rbin_21,ibin_21,rbin_22,ibin_22,rbin_23,ibin_23,rbin_24,ibin_24,rbin_25,ibin_25,rbin_26,ibin_26,rbin_27,ibin_27,rbin_28,ibin_28,rbin_29,ibin_29,rbin_30,ibin_30,rbin_31,ibin_31,rbin_32,ibin_32,rbin_33,ibin_33,rbin_34,ibin_34,rbin_35,ibin_35,rbin_36,ibin_36,rbin_37,ibin_37,rbin_38,ibin_38,rbin_39,ibin_39,rbin_40,ibin_40,rbin_41,ibin_41,rbin_42,ibin_42,rbin_43,ibin_43,rbin_44,ibin_44,rbin_45,ibin_45,rbin_46,ibin_46,rbin_47,ibin_47,rbin_48,ibin_48,rbin_49,ibin_49,rbin_50,ibin_50,rbin_51,ibin_51,rbin_52,ibin_52,rbin_53,ibin_53,rbin_54,ibin_54,rbin_55,ibin_55,rbin_56,ibin_56,rbin_57,ibin_57,rbin_58,ibin_58,rbin_59,ibin_59,rbin_60,ibin_60,rbin_61,ibin_61,rbin_62,ibin_62,rbin_63,ibin_63,rbin_64,ibin_64,rbin_65,ibin_65,rbin_66,ibin_66,rbin_67,ibin_67,rbin_68,ibin_68,rbin_69,ibin_69,rbin_70,ibin_70,rbin_71,ibin_71,rbin_72,ibin_72,rbin_73,ibin_73,rbin_74,ibin_74,rbin_75,ibin_75,rbin_76,ibin_76,rbin_77,ibin_77,rbin_78,ibin_78,rbin_79,ibin_79,rbin_80,ibin_80,rbin_81,ibin_81,rbin_82,ibin_82,rbin_83,ibin_83,rbin_84,ibin_84,rbin_85,ibin_85,rbin_86,ibin_86,rbin_87,ibin_87,rbin_88,ibin_88,rbin_89,ibin_89,rbin_90,ibin_90,rbin_91,ibin_91,rbin_92,ibin_92,rbin_93,ibin_93,rbin_94,ibin_94,rbin_95,ibin_95,rbin_96,ibin_96,rbin_97,ibin_97,rbin_98,ibin_98,rbin_99,ibin_99,rbin_100,ibin_100,rbin_101,ibin_101,rbin_102,ibin_102,rbin_103,ibin_103,rbin_104,ibin_104,rbin_105,ibin_105,rbin_106,ibin_106,rbin_107,ibin_107,rbin_108,ibin_108,rbin_109,ibin_109,rbin_110,ibin_110,rbin_111,ibin_111,rbin_112,ibin_112,rbin_113,ibin_113,rbin_114,ibin_114,rbin_115,ibin_115,rbin_116,ibin_116,rbin_117,ibin_117,rbin_118,ibin_118,rbin_119,ibin_119,rbin_120,ibin_120,rbin_121,ibin_121,rbin_122,ibin_122,rbin_123,ibin_123,rbin_124,ibin_124,rbin_125,ibin_125,rbin_126,ibin_126,rbin_127,ibin_127,rbin_128,ibin_128,rbin_129,ibin_129,rbin_130,ibin_130,rbin_131,ibin_131,rbin_132,ibin_132,rbin_133,ibin_133,rbin_134,ibin_134,rbin_135,ibin_135,rbin_136,ibin_136,rbin_137,ibin_137,rbin_138,ibin_138,rbin_139,ibin_139,rbin_140,ibin_140,rbin_141,ibin_141,rbin_142,ibin_142,rbin_143,ibin_143,rbin_144,ibin_144,rbin_145,ibin_145,rbin_146,ibin_146,rbin_147,ibin_147,rbin_148,ibin_148,rbin_149,ibin_149,rbin_150,ibin_150,rbin_151,ibin_151,rbin_152,ibin_152,rbin_153,ibin_153,rbin_154,ibin_154,rbin_155,ibin_155,rbin_156,ibin_156,rbin_157,ibin_157,rbin_158,ibin_158,rbin_159,ibin_159,rbin_160,ibin_160,rbin_161,ibin_161,rbin_162,ibin_162,rbin_163,ibin_163,rbin_164,ibin_164,rbin_165,ibin_165,rbin_166,ibin_166,rbin_167,ibin_167,rbin_168,ibin_168,rbin_169,ibin_169,rbin_170,ibin_170,rbin_171,ibin_171,rbin_172,ibin_172,rbin_173,ibin_173,rbin_174,ibin_174,rbin_175,ibin_175,rbin_176,ibin_176,rbin_177,ibin_177,rbin_178,ibin_178,rbin_179,ibin_179,rbin_180,ibin_180,rbin_181,ibin_181,rbin_182,ibin_182,rbin_183,ibin_183,rbin_184,ibin_184,rbin_185,ibin_185,rbin_186,ibin_186,rbin_187,ibin_187,rbin_188,ibin_188,rbin_189,ibin_189,rbin_190,ibin_190,rbin_191,ibin_191,rbin_192,ibin_192,rbin_193,ibin_193,rbin_194,ibin_194,rbin_195,ibin_195,rbin_196,ibin_196,rbin_197,ibin_197,rbin_198,ibin_198,rbin_199,ibin_199,rbin_200,ibin_200,rbin_201,ibin_201,rbin_202,ibin_202,rbin_203,ibin_203,rbin_204,ibin_204,rbin_205,ibin_205,rbin_206,ibin_206,rbin_207,ibin_207,rbin_208,ibin_208,rbin_209,ibin_209,rbin_210,ibin_210,rbin_211,ibin_211,rbin_212,ibin_212,rbin_213,ibin_213,rbin_214,ibin_214,rbin_215,ibin_215,rbin_216,ibin_216,rbin_217,ibin_217,rbin_218,ibin_218,rbin_219,ibin_219,rbin_220,ibin_220,rbin_221,ibin_221,rbin_222,ibin_222,rbin_223,ibin_223,rbin_224,ibin_224,rbin_225,ibin_225,rbin_226,ibin_226,rbin_227,ibin_227,rbin_228,ibin_228,rbin_229,ibin_229,rbin_230,ibin_230,rbin_231,ibin_231,rbin_232,ibin_232,rbin_233,ibin_233,rbin_234,ibin_234,rbin_235,ibin_235,rbin_236,ibin_236,rbin_237,ibin_237,rbin_238,ibin_238,rbin_239,ibin_239,rbin_240,ibin_240,rbin_241,ibin_241,rbin_242,ibin_242,rbin_243,ibin_243,rbin_244,ibin_244,rbin_245,ibin_245,rbin_246,ibin_246,rbin_247,ibin_247,rbin_248,ibin_248,rbin_249,ibin_249,rbin_250,ibin_250,rbin_251,ibin_251,rbin_252,ibin_252,rbin_253,ibin_253,rbin_254,ibin_254,rbin_255,ibin_255,
# Links = 0
# mrs_string/onObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/spectrumType = power
# Links = 0

# MarSystemComposite
# Type = Fanout
# Name = spectrumFeatures

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/disable = -1
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0

# nComponents = 5

# MarSystem
# Type = Centroid
# Name = cntrd

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Centroid,
# Links = 0

# MarSystem
# Type = Kurtosis
# Name = krt

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Kurtosis,
# Links = 0

# MarSystem
# Type = Rolloff
# Name = rlf

# MarControls = 12
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_real/percentage = 0.9
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Rolloff,
# Links = 0

# MarSystem
# Type = Flux
# Name = flux

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 1
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = Flux,
# Links = 0

# MarSystem
# Type = MFCC
# Name = mfcc

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 256
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/onObservations = 13
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = mbin_0,mbin_1,mbin_2,mbin_3,mbin_4,mbin_5,mbin_6,mbin_7,mbin_8,mbin_9,mbin_10,mbin_11,mbin_12,mbin_13,mbin_14,mbin_15,mbin_16,mbin_17,mbin_18,mbin_19,mbin_20,mbin_21,mbin_22,mbin_23,mbin_24,mbin_25,mbin_26,mbin_27,mbin_28,mbin_29,mbin_30,mbin_31,mbin_32,mbin_33,mbin_34,mbin_35,mbin_36,mbin_37,mbin_38,mbin_39,mbin_40,mbin_41,mbin_42,mbin_43,mbin_44,mbin_45,mbin_46,mbin_47,mbin_48,mbin_49,mbin_50,mbin_51,mbin_52,mbin_53,mbin_54,mbin_55,mbin_56,mbin_57,mbin_58,mbin_59,mbin_60,mbin_61,mbin_62,mbin_63,mbin_64,mbin_65,mbin_66,mbin_67,mbin_68,mbin_69,mbin_70,mbin_71,mbin_72,mbin_73,mbin_74,mbin_75,mbin_76,mbin_77,mbin_78,mbin_79,mbin_80,mbin_81,mbin_82,mbin_83,mbin_84,mbin_85,mbin_86,mbin_87,mbin_88,mbin_89,mbin_90,mbin_91,mbin_92,mbin_93,mbin_94,mbin_95,mbin_96,mbin_97,mbin_98,mbin_99,mbin_100,mbin_101,mbin_102,mbin_103,mbin_104,mbin_105,mbin_106,mbin_107,mbin_108,mbin_109,mbin_110,mbin_111,mbin_112,mbin_113,mbin_114,mbin_115,mbin_116,mbin_117,mbin_118,mbin_119,mbin_120,mbin_121,mbin_122,mbin_123,mbin_124,mbin_125,mbin_126,mbin_127,mbin_128,mbin_129,mbin_130,mbin_131,mbin_132,mbin_133,mbin_134,mbin_135,mbin_136,mbin_137,mbin_138,mbin_139,mbin_140,mbin_141,mbin_142,mbin_143,mbin_144,mbin_145,mbin_146,mbin_147,mbin_148,mbin_149,mbin_150,mbin_151,mbin_152,mbin_153,mbin_154,mbin_155,mbin_156,mbin_157,mbin_158,mbin_159,mbin_160,mbin_161,mbin_162,mbin_163,mbin_164,mbin_165,mbin_166,mbin_167,mbin_168,mbin_169,mbin_170,mbin_171,mbin_172,mbin_173,mbin_174,mbin_175,mbin_176,mbin_177,mbin_178,mbin_179,mbin_180,mbin_181,mbin_182,mbin_183,mbin_184,mbin_185,mbin_186,mbin_187,mbin_188,mbin_189,mbin_190,mbin_191,mbin_192,mbin_193,mbin_194,mbin_195,mbin_196,mbin_197,mbin_198,mbin_199,mbin_200,mbin_201,mbin_202,mbin_203,mbin_204,mbin_205,mbin_206,mbin_207,mbin_208,mbin_209,mbin_210,mbin_211,mbin_212,mbin_213,mbin_214,mbin_215,mbin_216,mbin_217,mbin_218,mbin_219,mbin_220,mbin_221,mbin_222,mbin_223,mbin_224,mbin_225,mbin_226,mbin_227,mbin_228,mbin_229,mbin_230,mbin_231,mbin_232,mbin_233,mbin_234,mbin_235,mbin_236,mbin_237,mbin_238,mbin_239,mbin_240,mbin_241,mbin_242,mbin_243,mbin_244,mbin_245,mbin_246,mbin_247,mbin_248,mbin_249,mbin_250,mbin_251,mbin_252,mbin_253,mbin_254,mbin_255,
# Links = 0
# mrs_string/onObsNames = MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0

# MarSystemComposite
# Type = TextureStats
# Name = tStats

# MarControls = 15
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_bool/reset = 0
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/Memory/mempr/mrs_bool/reset
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/memSize = 40
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/Memory/mempr/mrs_natural/memSize
# mrs_natural/onObservations = 34
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/input0 = # MARSYAS mrs_realvec
# Size = 0

# type: matrix
# rows: 0
# columns: 0

# Size = 0
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# nComponents = 2

# MarSystem
# Type = Memory
# Name = mempr

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/reset = 0
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/mrs_bool/reset
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/memSize = 40
# Links = 1
# /Series/featureNetwork/TextureStats/tStats/mrs_natural/memSize
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 40
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Centroid,Kurtosis,Rolloff,Flux,MFCC_0,MFCC_1,MFCC_2,MFCC_3,MFCC_4,MFCC_5,MFCC_6,MFCC_7,MFCC_8,MFCC_9,MFCC_10,MFCC_11,MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0

# MarSystemComposite
# Type = Fanout
# Name = meanstdpr

# MarControls = 13
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/probe = 0
# Links = 0
# mrs_natural/disable = -1
# Links = 0
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 40
# Links = 0
# mrs_natural/onObservations = 34
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# nComponents = 2

# MarSystem
# Type = Mean
# Name = meanpr

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 40
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = StandardDeviation
# Name = stdpr

# MarControls = 11
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 17
# Links = 0
# mrs_natural/inSamples = 40
# Links = 0
# mrs_natural/onObservations = 17
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mem40_Centroid,Mem40_Kurtosis,Mem40_Rolloff,Mem40_Flux,Mem40_MFCC_0,Mem40_MFCC_1,Mem40_MFCC_2,Mem40_MFCC_3,Mem40_MFCC_4,Mem40_MFCC_5,Mem40_MFCC_6,Mem40_MFCC_7,Mem40_MFCC_8,Mem40_MFCC_9,Mem40_MFCC_10,Mem40_MFCC_11,Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = Annotator
# Name = annotator

# MarControls = 12
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 34
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/label = 1
# Links = 0
# mrs_natural/onObservations = 35
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = WekaSink
# Name = wsink

# MarControls = 16
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/mute = 1
# Links = 0
# mrs_natural/downsample = 40
# Links = 0
# mrs_natural/inObservations = 35
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/nLabels = 2
# Links = 0
# mrs_natural/onObservations = 35
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_natural/precision = 6
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/filename = ms.arff
# Links = 0
# mrs_string/inObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0
# mrs_string/labelNames = music,speech,
# Links = 0
# mrs_string/onObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0

# MarSystem
# Type = GaussianClassifier
# Name = gaussian

# MarControls = 16
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/done = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_natural/inObservations = 35
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/nLabels = 2
# Links = 0
# mrs_natural/onObservations = 2
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_realvec/covars = # MARSYAS mrs_realvec
# Size = 70

# type: matrix
# rows: 2
# columns: 35
672.379 1.47497e-08 89.5768 8517.5 0.0233969 0.23238 0.513391 0.931705 1.87384 3.14514 3.59291 3.2907 4.21805 4.22248 4.68597 4 5.20302 2632.23 1.3601e-07 105.06 1108.59 0.188578 4.92252 11.9482 18.9613 34.6472 50.5192 57.9484 50.1774 43.1415 41.9485 37.4851 38.1676 35.1479 0
547.166 1.50454e-08 56.7602 6419.93 0.0283574 0.465259 0.6635 1.21599 3.11309 3.43575 3.91207 5.90317 7.67139 8.40763 11.452 7.94557 15.9763 471.969 1.28097e-07 79.3564 1137.1 0.116155 1.4079 5.23462 5.28944 9.50641 23.1513 22.2943 29.6261 45.2732 50.2671 57.3334 61.4233 59.8031 0

# Size = 70
# MARSYAS mrs_realvec

# Links = 0
# mrs_realvec/means = # MARSYAS mrs_realvec
# Size = 70

# type: matrix
# rows: 2
# columns: 35
0.0637271 27148.7 0.152104 0.0806132 -70.6699 5.63442 0.0308151 1.93386 0.358042 0.658067 0.312909 0.395901 0.313466 0.338927 0.306107 0.31695 0.314723 0.0256222 10397.5 0.0936324 0.0310235 3.16361 0.986486 0.75197 0.63195 0.554695 0.514538 0.498398 0.499868 0.500676 0.498132 0.495666 0.481479 0.48175 0
0.0865026 30467.5 0.278593 0.089635 -76.5046 4.75224 0.152343 2.26231 0.601581 0.437158 0.507565 0.36562 0.475342 0.454828 0.380355 0.400384 0.447518 0.0724108 13876.9 0.240568 0.0350258 6.64523 2.13963 1.2967 1.33244 0.996553 0.770918 0.775152 0.711787 0.620098 0.587889 0.547875 0.519989 0.493572 0

# Size = 70
# MARSYAS mrs_realvec

# Links = 0
# mrs_string/inObsNames = Mean_Mem40_Centroid,Mean_Mem40_Kurtosis,Mean_Mem40_Rolloff,Mean_Mem40_Flux,Mean_Mem40_MFCC_0,Mean_Mem40_MFCC_1,Mean_Mem40_MFCC_2,Mean_Mem40_MFCC_3,Mean_Mem40_MFCC_4,Mean_Mem40_MFCC_5,Mean_Mem40_MFCC_6,Mean_Mem40_MFCC_7,Mean_Mem40_MFCC_8,Mean_Mem40_MFCC_9,Mean_Mem40_MFCC_10,Mean_Mem40_MFCC_11,Mean_Mem40_MFCC_12,Std_Mem40_Centroid,Std_Mem40_Kurtosis,Std_Mem40_Rolloff,Std_Mem40_Flux,Std_Mem40_MFCC_0,Std_Mem40_MFCC_1,Std_Mem40_MFCC_2,Std_Mem40_MFCC_3,Std_Mem40_MFCC_4,Std_Mem40_MFCC_5,Std_Mem40_MFCC_6,Std_Mem40_MFCC_7,Std_Mem40_MFCC_8,Std_Mem40_MFCC_9,Std_Mem40_MFCC_10,Std_Mem40_MFCC_11,Std_Mem40_MFCC_12,
# Links = 0
# mrs_string/mode = predict
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

# MarSystem
# Type = Confidence
# Name = confidence

# MarControls = 16
# mrs_bool/active = 1
# Links = 0
# mrs_bool/debug = 0
# Links = 0
# mrs_bool/forcePrint = 0
# Links = 0
# mrs_bool/mute = 0
# Links = 0
# mrs_bool/print = 1
# Links = 0
# mrs_natural/inObservations = 2
# Links = 0
# mrs_natural/inSamples = 1
# Links = 0
# mrs_natural/memSize = 40
# Links = 0
# mrs_natural/nLabels = 2
# Links = 0
# mrs_natural/onObservations = 2
# Links = 0
# mrs_natural/onSamples = 1
# Links = 0
# mrs_real/israte = 43.0664
# Links = 0
# mrs_real/osrate = 43.0664
# Links = 0
# mrs_string/inObsNames = ,
# Links = 0
# mrs_string/labelNames = music,speech,
# Links = 0
# mrs_string/onObsNames = ,
# Links = 0

max_stars_repo_name: jaouahbi/VampPlugins

max_issues_repo_name: jaouahbi/VampPlugins

max_forks_repo_name: jaouahbi/VampPlugins


text:
(*
    不变量化简的算法如下：
    +	对于每个不变量，
        + 尝试使用其它不变量来进行表示，为了防止循环替代，以及出于化简的目的，只允许表示之后项数变少的替换。
        + 先尝试按照乘法规则进行化简，因式分解之后，删去能够成为不变量的因子。
        + 再尝试按照加法规则进行化简，展开之后，删去能够成为不变量的项。
    +	将无法化简的不变量整体替换回其表达式形式。
    +	消除不变量的系数。
    +	调整不变量的阶数为正整数。
    +	对于能够调整次数的不变量，调整其次数，例如把a[1]^3变成a[1]，把a[1]^4变成a[1]^2。

    重复执行上述算法，直到不能再化简为止。
*)

$ifndef _INVSIMPLIFY_
$define _INVSIMPLIFY_

$include "InvOrder.mpl"

# 化简不变量,不改变不变量的顺序。
simplifyInvariants:=proc(iinvs)
    local x,nx;
    x:=iinvs;
    while true do
        nx:=simplifyInvs(x);
        if (x=nx) then
            break;
        end if;
        x:=nx;
    end do;
    return x;
end proc:

# 内部化简函数
simplifyInvs:=proc(iinvs)
    local invs,tmp,ttmp,i,j,n,vars,vset,vv,v1,v2;
    invs:=iinvs;
    n:=numelems(invs);
    vars:=[seq(_Delta[i],i=1..n)];
    vset:={vars[]};
    # 尝试将不变量进行整体代换并进行化简
    for i from 1 to n do
        # 尝试把每个不变量用其它不变量进行表示
        tmp:=invs[i];
        for j from 1 to n do
            if (i<>j) then
                # 替换时用简单替换复杂的，不用复杂的替换简单的。
                try
                    ttmp:=myAlgsubs(invs[j]=vars[j],tmp);
                    if ( nops(expand(ttmp)) <= nops(expand(tmp)) ) then
                        tmp:=ttmp;
                    end if;
                catch:
                end try;
            end if;
        end do;
        invs[i]:=spAdd(spMul(tmp));
        if type(invs[i],numeric) then
            invs[i]:=0;
        end if:
    end do;
    vv:=[seq(vars[i]=invs[i],i=1..n)];
    # 将不能化简掉的整体代回原表达式
    while true do
        (v1,v2):=selectremove(e->(indets(rhs(e),name) intersect vset <> {}),vv);
        if (v1=[]) then
            break;
        end if;
        v1:=subs(v2[],v1);
        vv:=[v1[],v2[]];
    end do;
    vv:={vv[]};# 为了按照Delta排序
    vv:=rhs~([vv[]]);# 返回list才能保持顺序不变
    vv:=simpleSimplify~(vv);# 消去整体的倍数
    vv:=invOrd~(vv);# 调整阶数为正整数
    vv:=rmOrd~(vv);# 降次
    vv:=simplify(vv);# 默认化简
    return vv;
end proc:

# 自定义algsubs，解决algsubs对于分式替换的不足
myAlgsubs:=proc(_s::seq(equation),v)
    local s;
    s:=dealsubs~(_s);
    return algsubs(s,numer(v))/algsubs(s,denom(v));
end proc:

# 处理替换等式
dealsubs:=proc(e)
    local l,r;
    l:=lhs(e);
    r:=rhs(e);
    if type(numer(l),numeric) then
        return denom(l)=numer(l)/r;
    elif not type(denom(l),numeric) then
        return numer(l)=denom(l)*r;
    else
        return e;
    end if;
end proc:

# 调整不变量的阶数为正整数
invOrd:=proc(v)
    local ord;
    if type(v,numeric) then
        return v;
    end if;
    ord:=findInvariantsOrder(v);
    if type(ord,fraction) then
        return v^denom(ord);
    elif (ord<0) then
        return v^(-1);
    else
        return v;
    end if;
end proc:

# 不变量降次
rmOrd:=proc(_v)
    local v,ks,k;
    v:=expand(_v);
    if type(v,`*`) then
        v:=remove(type,v,numeric);
        ks:=map(getOrd,[op(v)]);
        k:=myGcd(ks);
        # 保证偶次不能变奇次
        if type(k,even) then
            k:=k/2;
        end if;
        v:=map(setOrd,v,k);
        return v;
    elif type(v,`^`) then
        if type(op(2,v),even) then
            return op(1,v)^2;
        else
            return op(1,v);
        end if;
    else
        return v;
    end if;
end proc:

# 获取次数
getOrd:=proc(e)
    if type(e,`^`) then
        return op(2,e);
    else
        return 1;
    end if;
end proc:

# 设置次数
setOrd:=proc(e,k)
    if type(e,`^`) then
        return subsop(2=op(2,e)/k,e);
    else
        return e^(1/k);
    end if;
end proc:

(*
    * 若不变量
    *     D[i]=f(D[j1],D[j2],...,D[jn])+g(a[1],...,a[m]), j1,j2,...,jn!=i
    * 则化简为
    *     D[i]=g(a[1],...,a[m])
*)
spAdd:=proc(ee)
    local e,r;
    e:=expand(ee);
    if type(e,`+`) then
        r:=remove(isInv,e);
        if (r=NULL) then
            r:=0;
        end if;
        return r;
    else
        return e;
    end if;
end proc:

(*
    * 若不变量
    *     D[i]=f(D[j1],D[j2],...,D[jn])*g(a[1],...,a[m]), j1,j2,...,jn!=i
    * 则化简为
    *     D[i]=g(a[1],...,a[m])
*)
spMul:=proc(ee)
    local e,r;
    e:=factor(ee);
    if type(e,`*`) then
        r:=remove(isInv,e);
        if (r=NULL) then
            r:=0;
        end if;
        return r;
    elif type(e,`^`) then
        r:=remove(isInv,op(1,e));
        if (r=NULL) then
            r:=0;
        end if;
        return r^op(2,e);
    else
        return e;
    end if;
end proc:

(*
    * 不变量的简单化简
    * 消去分子分母中的倍数
*)
simpleSimplify:=proc(ee)
    local n,d;
    n:=rmK(numer(ee));
    d:=rmK(denom(ee));
    return simplify(expand(n/d));
end proc:

# 删除多项式的倍数
rmK:=proc(_e)
    local e,r;
    if (_e=0) then
        return 0;
    end if:
    e:=expand(_e);
    if type(e,`+`) then
        # 消除多项式中各项系数的倍数
        r:=e/myGcd(map(x->select(type,x,numeric),[op(e)]));
    elif type(e,`*`) then
        # 消除单项多项式的系数
        r:=remove(type,e,numeric);
    else
        # 不处理无系数单项多项式
        r:=e;
    end if;
    if (r=NULL) or type(r,numeric) then
        r:=1;
    end if;
    return r;
end proc:

# 多个数的gcd
myGcd:=proc(ks)
    local k,i,n;
    if (ks=[]) then
        return 1;
    end if;
    k:=ks[1];
    n:=numelems(ks);
    for i from 2 to n do
        k:=gcd(k,ks[i]);
    end do;
    return k;
end proc:

# 是否是不变量
isInv:=proc(e)
    return andmap(type,indets(e,name),specindex(_Delta));
end proc:

$endif

ext: mpl


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: lda_vxc *)

tih_par := [
  -1.0953, -0.0334789, 0.414661, -0.152399, -0.354691,
  0.0390837, -0.0748531, -0.136598, -1.41063, 0.00496577,
  0.48315, 4.02905, -0.420166, 0.0104352, -1.47409,
  -0.442455, 0.625039, 1.30351, 1.37026, -1.29598,
  -1.04305, -0.909651, -0.991782, -0.915745, 1.95026
]:

tih_zj := (j, n) -> tanh(tih_par[2*j-1] + tih_par[2*j]*n):

tih_vxc := n ->
  tih_par[17] + add(tih_par[i]*tih_zj(i-17, n), i=18..25):

f  := (rs, z) ->
  tih_vxc(n_total(rs)):


text:
######################################################################
#
# General circle operad framework.

`check_semi_circ_args` := proc(i,m,n,U,V,is_el_CC)
 global reason;

 if not (type(i,posint) and
         type(m,nonnegint) and
	 type(n,nonnegint) and
	 i <= m) then
  reason := [convert(procname,string),
   "numbers (i,m,n) do not satisfy 0 < i <= m; 0 <= n",i,m,n];
  return false;
 fi;

 if not is_el_CC(m)(U) then
  reason := [convert(procname,string),"U is not in C(m)",eval(U),m];
  return false;
 fi;

 if not is_el_CC(n)(U) then
  reason := [convert(procname,string),"V is not in C(n)",eval(V),n];
  return false;
 fi;

 return true;
end;

######################################################################

`check_semi_circ_axiom_nested` :=
 proc(i,j,l,m,n,U,V,W,is_el_CC,is_equal_CC,circ_CC)
 local UV,VW,UVW0,UVW1;
 global reason;

 if not (type(i,posint) and
         type(j,posint) and
	 type(l,nonnegint) and
	 type(m,nonnegint) and
	 type(n,nonnegint) and
	 i <= l and
	 j <= m) then
  reason := [convert(procname,string),
   "numbers (i,j,l,m,n) do not satisfy 0 < i <= l; 0 < j <= m; 0 <= n",
   i,j,l,m,n];
  return false;
 fi;

 if not is_el_CC(l)(U) then
  reason := [convert(procname,string),"U is not in O(l)",l,eval(U)];
  return false;
 fi;

 if not is_el_CC(m)(V) then
  reason := [convert(procname,string),"V is not in O(m)",m,eval(V)];
  return false;
 fi;

 if not is_el_CC(n)(W) then
  reason := [convert(procname,string),"W is not in O(n)",n,eval(W)];
  return false;
 fi;

 UV := circ_CC(i,l,m)(U,V);

 if not is_el_CC(l+m-1)(UV) then
  reason := [convert(procname,string),"U o_i V is not in O(l+m-1)",i,l,m,eval(U),eval(V),eval(UV)];
  return false;
 fi;

 VW := circ_CC(j,m,n)(V,W);

 if not is_el_CC(m+n-1)(VW) then
  reason := [convert(procname,string),"V o_j W is not in O(m+n-1)",j,m,n,eval(VW)];
  return false;
 fi;

 UVW0 := circ_CC(i,l,m+n-1)(U,VW);

 if not is_el_CC(l+m+n-2)(UVW0) then
  reason := [convert(procname,string),"U o_i (V o_j W) is not in O(l+m+n-2)",i,j,l,m,n,eval(UVW0)];
  return false;
 fi;

 UVW1 := circ_CC(i+j-1,l+m-1,n)(UV,W);

 if not is_el_CC(l+m+n-2)(UVW1) then
  reason := [convert(procname,string),"(U o_i V) o_(i+j-1) W is not in O(l+m+n-2)",i,j,l,m,n,eval(UVW1)];
  return false;
 fi;

 if not is_equal_CC(l+m+n-2)(UVW0,UVW1) then
  reason := [convert(procname,string),"UVW0 != UVW1",eval(UVW0),eval(UVW1)];
  return false;
 fi;

 return true;
end;

`check_semi_circ_axiom_disjoint` :=
 proc(i,k,l,m,n,U,V,W,is_el_CC,is_equal_CC,circ_CC)
 local UV,UW,UVW,UWV;
 global reason;

 if not (type(i,posint) and
         type(k,posint) and
	 type(l,nonnegint) and
	 type(m,nonnegint) and
	 type(n,nonnegint) and
	 i < k and
	 k <= l) then
  reason := [convert(procname,string),
   "numbers (i,k,l,m,n) do not satisfy 0 < i < k <= l; 0 < j <= m; 0 <= n",
   i,k,l,m,n];
  return false;
 fi;

 if not is_el_CC(l)(U) then
  reason := [convert(procname,string),"U is not in O(l)",l,eval(U)];
  return false;
 fi;

 if not is_el_CC(m)(V) then
  reason := [convert(procname,string),"V is not in O(m)",m,eval(V)];
  return false;
 fi;

 if not is_el_CC(n)(W) then
  reason := [convert(procname,string),"W is not in O(n)",n,eval(W)];
  return false;
 fi;

 UV := circ_CC(i,l,m)(U,V);

 if not is_el_CC(l+m-1)(UV) then
  reason := [convert(procname,string),"U o_i V is not in O(l+m-1)",i,l,m,eval(U),eval(V),eval(UV)];
  return false;
 fi;

 UW := circ_CC(k,l,n)(U,W);

 if not is_el_CC(l+n-1)(UW) then
  reason := [convert(procname,string),"U o_k W is not in O(l+n-1)",k,l,n,eval(UW)];
  return false;
 fi;

 UVW := circ_CC(k+m-1,l+m-1,n)(UV,W);

 if not is_el_CC(l+m+n-2)(UVW) then
  reason := [convert(procname,string),"(U o_i V) o_(k+m-1) W is not in O(l+m+n-2)",i,k,l,m,n,eval(UVW)];
  return false;
 fi;

 UWV := circ_CC(i,l+n-1,m)(UW,V);

 if not is_el_CC(l+m+n-2)(UWV) then
  reason := [convert(procname,string),"(U o_k W) o_i V is not in O(l+m+n-2)",i,k,l,m,n,eval(UWV)];
  return false;
 fi;

 if not is_equal_CC(l+m+n-2)(UVW,UWV) then
  reason := [convert(procname,string),"UVW != UWV",eval(UVW),eval(UWV)];
  return false;
 fi;

 return true;
end;


text:
######################################################################
# Intervals in the set of positive integers

`is_element/posint_intervals` := proc(J)
 global reason;

 if not(type(J,set(posint)) or type(J,list(posint))) then
  reason := [convert(procname,string),"J is not a list or set of positive integers",J];
  return false;
 fi;

 if nops(J) = 0 or nops(J) <> max(op(J)) - min(op(J)) + 1 then
  reason := [convert(procname,string),"J is not an interval",J];
  return false;
 fi;

 return true;
end;

`is_equal/posint_intervals` := (J,K) -> evalb({op(J)} = {op(K)});

`is_leq/posint_intervals` := (J,K) -> evalb({op(J)} minus {op(K)} = {});

`random_element/posint_intervals` := proc()
 local a,b,i;
 a := rand(1..10)();
 b := rand(0..9)();
 [seq(i,i=a..a+b)];
end:

`list_elements/posint_intervals` := NULL;
`count_elements/posint_intervals` := NULL;


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* Equation (7) from the paper *)

p     := x -> X2S^2*x^2:
z     := (x, t) -> x^2/(8*t):

alpha := (x, t) -> (t - x^2/8)/K_FACTOR_C:
qb    := (x, t) -> \
      9/20 * (alpha(x, t) - 1)/sqrt(1 + params_a_b*alpha(x, t)*(alpha(x, t) - 1)) \
      + 2*p(x)/3:

(* Equation (10) in all its glory *)
fxnum := (x, t) -> \
      + (MU_GE + params_a_c*z(x, t)^ff(z(x, t))/(1 + z(x, t)^2)^2)*p(x) \
      + 146/2025 * qb(x, t)^2 \
      - 73/405 * qb(x, t) * sqrt(1/2*(9/25*z(x, t)^2 + p(x)^2)) \
      + MU_GE^2/mkappa(x, t) * p(x)^2 \
      + 2*sqrt(params_a_e)*MU_GE*9/25*z(x, t)^2 \
      + params_a_e*params_a_mu*p(x)^3:

fxden := x -> \
      (1 + sqrt(params_a_e)*p(x))^2:

fx    := (x, t) -> fxnum(x, t)/fxden(x):

max_stars_repo_name: rdietric/lsms

max_issues_repo_name: rdietric/lsms

max_forks_repo_name: rdietric/lsms


text:
# This file contains code related to the following situation.
# We have P0 in ICP_N(A) restricting to Q0 in ICP_N(B),
# where B = A \ {a}.  We also have Q1 in ICP_N(B) refining Q0.
# We let U denote the poset of elements M in ICP_N(A) such that
# the restriction of M to B is Q1, and M refines P0.
# The claim is that |U| is contractible.

`random_element/PQ` := (N::posint) -> (A::set,a) -> proc()
 local B,P,Q0,Q;
 B := A minus {a};
 P := `random_element/ICP`(N)(A)():
 Q0 := `res/ICP`(N)(A,B)(P):
 Q := NULL:
 while Q = NULL or not(`is_leq/ICP`(N)(B)(Q0,Q)) do
  Q := `random_element/ICP`(N)(B)():
 od:
 return [P,Q];
end:

######################################################################

`analyse/PQ` := (N::posint) -> (A::set,a) -> proc(PQ)
 local B,P,Q,T,Pt,Qt,Pr,Qr,Ps,Qs,F,U,m,sigma,Y,Z,zeta,B0,F0,FR0,U0,UR0,
  i,j,k,n,b,e;
 B := A minus {a};
 P,Q := op(PQ);
 T := table():
 T["N"] := N;
 T["A"] := A;
 T["B"] := B;
 T["a"] := a;
 T["P"] := P;
 T["Q"] := Q;
 Pt := `totalise/ICP/ord`(N)(A)(P);
 Qt := `totalise/ICP/ord`(N)(B)(Q);
 T["P_tot"] := Pt;
 T["Q_tot"] := Qt;
 Pr := table():
 Qr := table():
 Ps := table():
 Qs := table():
 for i from 1 to N do
  Pr[i]  := `rank_table/preord`(A)(P[i]);
  Qr[i]  := `rank_table/preord`(B)(Q[i]);
  Ps[i] := `strictify/preord`(A)(P[i]);
  Qs[i] := `strictify/preord`(B)(Q[i]);
 od:
 T["P_rank_table"] := eval(Pr);
 T["Q_rank_table"] := eval(Qr);
 T["P_strict"] := Ps;
 T["Q_strict"] := Qs;
 F := table():
 U := table():
 m := table():
 sigma := table():
 Y := table():
 Z := table():
 zeta := table():
 for b in B do
  F[b] :=
   {seq(seq(`f_alt/fibre_sphere/ICP`(N)(A)(a,b,Q)([i,e]),e in {-1,1}),i=1..N)};
  U[b] := select(M -> `is_leq/ICP`(N)(A)(P,M),F[b]):
  k := 1;
  while member([a,b],P[k]) and member([b,a],P[k]) do
   k := k+1;
  od:
  m[b] := k;
  if member([a,b],P[k]) then
   sigma[b] := -1;
   Y[b] := select(z -> member([a,z],Ps[k]) and member([z,b],Qs[k]),B);
   Z[b] := {seq(op(select(z -> member([a,z],Ps[k]) and
                               member([z,b],Qs[n]),B)),n = k .. N)};
   if Z[b] = {} then
    zeta[b] := b;
   else
    i := 1;
    while i < nops(Qt) and not(member(Qt[i],Z[b])) do i := i+1; od;
    zeta[b] := Qt[i];
   fi;
  else
   sigma[b] := +1;
   Y[b] := select(z -> member([z,a],Ps[k]) and member([b,z],Qs[k]),B);
   Z[b] := {seq(op(select(z -> member([z,a],Ps[k]) and
                               member([b,z],Qs[n]),B)),n = k .. N)};
   if Z[b] = {} then
    zeta[b] := b;
   else
    i := nops(Qt);
    while i > 1 and not(member(Qt[i],Z[b])) do i := i-1; od;
    zeta[b] := Qt[i];
   fi;
  fi;
 od:
 B0 := select(b -> Z[b] = {},B);
 T["B0"] := B0;
 T["F"] := eval(F);
 T["U"] := eval(U);
 T["m"] := eval(m);
 T["sigma"] := eval(sigma);
 T["Y"] := eval(Y);
 T["Z"] := eval(Z);
 T["zeta"] := eval(zeta);
 T["FF"] := {seq(op(F[b]),b in B)};
 T["UU"] := select(M -> `is_leq/ICP`(N)(A)(P,M),T["FF"]);
 T["nF"] := nops(T["FF"]);
 T["nU"] := nops(T["FF"]);
 F0,FR0 := op(`skeleton/partord/from_comparator`(T["FF"])(`is_leq/ICP`(N)(A)));
 U0,UR0 := op(`skeleton/partord/from_comparator`(T["UU"])(`is_leq/ICP`(N)(A)));
 T["FF_skel"] := [F0,FR0];
 T["UU_skel"] := [U0,UR0];
 T["FF_hasse"] := `hasse_diagram/partord`(F0)(FR0);
 T["UU_hasse"] := `hasse_diagram/partord`(U0)(UR0);

 return eval(T):
end:

######################################################################

`describe/PQ` := proc(T)
 cat(`describe/ICP`(T["N"])(T["A"])(T["P"]),"\n",
     `describe/ICP`(T["N"])(T["B"])(T["Q"]));
end:

######################################################################

`check/prop_part_is_sphere/PQ` := proc(T)
 global reason;
 local N,A,B,B0,P,Q,U,m,Y,Z,zeta,sigma,b,c,V,i,e;

 N := T["N"];
 A := T["A"];
 B := T["B"];
 B0 := T["B0"];
 P := T["P"];
 Q := T["Q"];
 U := T["U"];
 m := T["m"];
 Y := T["Y"];
 Z := T["Z"];
 zeta  := T["zeta"];
 sigma := T["sigma"];

 for b in B do
  V :=
   {seq(seq(`f_alt/fibre_sphere/ICP`(N)(A)(a,b,Q)([i,e]),e in {-1,1}),i=1..m[b]-1)};
  if Y[b] = {} then
   V := {op(V),`f_alt/fibre_sphere/ICP`(N)(A)(a,b,Q)([m[b],sigma[b]])};
  fi;
  if U[b] <> V then
   reason := ["UV",b,U[b],V];
   return false;
  fi;
  if Z[b] <> {} then
   c := zeta[b];
   if Z[b] intersect B0 <> {c} then
    reason := ["ZB",b,c,Z[b],B0];
    return false;
   fi;
   if not(m[c] = m[b] and sigma[c] = sigma[b]) then
    reason := ["m",b,c,m[b],m[c],sigma[b],sigma[c]];
    return false;
   fi;
   if U[b] minus U[c] <> {} then
    reason := ["UU",b,c,U[b],U[c]];
    return false;
   fi;
  fi;
 od;
 return true;
end:

######################################################################

`check/cor_Ub_union/PQ` := proc(T)
 global reason;
 local N,A,B,B0,P,Q,U,UU0,UU1,b;

 N := T["N"];
 A := T["A"];
 B := T["B"];
 B0 := T["B0"];
 P := T["P"];
 Q := T["Q"];
 U := T["U"];

 UU0 := {seq(op(U[b]),b in B0)};
 UU1 := {seq(op(U[b]),b in B)};

 if not(T["UU"] = UU0 and UU0 = UU1) then
  reason := [T["UU"],UU0,UU1];
  return false;
 fi;

 return true;
end:

######################################################################

`check/lem_mk/PQ` := proc(T)
 global reason;
 local N,A,B,B0,P,Qs,m,sigma,k,bc,b,c;

 N := T["N"];
 A := T["A"];
 B := T["B"];
 B0 := T["B0"];
 P := T["P"];
 Qs := T["Q_strict"];
 m := T["m"];
 sigma := T["sigma"];

 for k from 1 to N do
  for bc in Qs[k] do
   b,c := op(bc);
   if member(b,B0) and member(c,B0) then
    if m[b] < k or m[c] < k then return false; fi;
    if m[b] = k and sigma[b] <>  1 then return false; fi;
    if m[c] = k and sigma[c] <> -1 then return false; fi;
   fi;
  od;
 od;

 return true;
end:

######################################################################

`check/lem_buc/PQ` := proc(T)
 global reason;
 local N,A,B,B0,Qs,Qt,m,sigma,zeta,
  n,n0,I0,ib,ic,b,c,k,ju,u,i;

 N := T["N"];
 A := T["A"];
 B := T["B"];
 B0 := T["B0"];
 Qs := T["Q_strict"];
 Qt := T["Q_tot"];
 m := T["m"];
 sigma := T["sigma"];
 zeta  := T["zeta"];

 n := nops(B);
 I0 := select(i -> member(Qt[i],B0),[seq(i,i=1..n)]);
 n0 := nops(I0);

 for ib from 1 to n0-1 do
  ic := ib+1;
  b := Qt[I0[ib]];
  c := Qt[I0[ic]];
  k := 1;
  while k < N and not(member([b,c],Qs[k])) do k := k+1; od;

  for ju from I0[ib]+1 to I0[ic]-1 do
   u := Qt[ju];
   if sigma[u] = -1 then
    if zeta[u] <> b then
     return false;
    fi;
    if not member([u,c],Qs[k]) then
     return false;
    fi;
    if not (m[b] > k) then
     return false;
    fi;
   else
    if zeta[u] <> c then
     return false;
    fi;
    if not member([b,u],Qs[k]) then
     return false;
    fi;
    if not (m[c] > k) then
     return false;
    fi;
   fi;
  od;
 od;
 return true;
end:

######################################################################

`check/lem_buvc/PQ` := proc(T)
 global reason;
 local N,A,B,B0,Qs,Qt,m,sigma,zeta,
  n,n0,I0,ib,ic,b,c,k,ju,u,jv,v,i;

 N := T["N"];
 A := T["A"];
 B := T["B"];
 B0 := T["B0"];
 Qs := T["Q_strict"];
 Qt := T["Q_tot"];
 m := T["m"];
 sigma := T["sigma"];
 zeta  := T["zeta"];

 n := nops(B);
 I0 := select(i -> member(Qt[i],B0),[seq(i,i=1..n)]);
 n0 := nops(I0);

 for ib from 1 to n0-1 do
  ic := ib+1;
  b := Qt[I0[ib]];
  c := Qt[I0[ic]];
  k := 1;
  while k < N and not(member([b,c],Qs[k])) do k := k+1; od;

  for ju from I0[ib] to I0[ic]-1 do
   for jv from ju+1 to I0[ic] do
    u := Qt[ju];
    v := Qt[jv];
    if sigma[u] = b and sigma[v] = c then
     if not(member([u,v],Qs[k])) then
      return false;
     fi;
     if not(k <= m[b] and k <= m[c]) then
      return false;
     fi;
     if m[b] = k and u <> b then
      return false;
     fi;
     if m[c] = k and v <> c then
      return false;
     fi;
    fi;
   od;
  od;
 od;
 return true;
end:

######################################################################

`check/prop_U_step/PQ` := proc(T)
 global reason;
 local N,A,B,B0,Qs,Qt,U,
  n,n0,I0,ib,ic,b,c,r,V,V0,V1,M0,i;

 N := T["N"];
 A := T["A"];
 B := T["B"];
 B0 := T["B0"];
 Qs := T["Q_strict"];
 Qt := T["Q_tot"];
 U := T["U"];

 n := nops(B);
 I0 := select(i -> member(Qt[i],B0),[seq(i,i=1..n)]);
 n0 := nops(I0);

 for ib from 1 to n0-1 do
  ic := ib+1;
  b := Qt[I0[ib]];
  c := Qt[I0[ic]];
  V := U[b] intersect U[c];
  r := min(op(map(`rank/ICP`(N)(A),V)));
  V0 := select(M -> `rank/ICP`(N)(A)(M) = r,V);
  if nops(V0) <> 1 then return false; fi;
  M0 := V0[1];
  V1 := remove(M -> `is_leq/ICP`(N)(A)(M0,M),V);
  if V1 <> {} then return false; fi;
 od;
 return true;
end:


text:
# Note that this 'module' and Loop.mpl are currently mutually recursive.
# Loop:-intssums > simplify_factor_assuming > eval_factor > hack_Beta > Loop:-graft
# but Loop:-intssums does not seem to even be used anywhere...

    # A debugging utility that's like `and` except it calls `userinfo` if there is disagreement
    and_info := proc(e :: {list,set})
      local s, r;
      s, r := selectremove(evalb, e);
      if nops(r) = 0 then return true end if;
      if nops(s) > 0 then userinfo(op([_rest, s, r])) end if;
      return false;
    end proc;

    hack_Beta_pw := proc(pw::specfunc(piecewise), x::name, bounds::range, $)
      local i, cond, via, dif, ineq, k;
      # Remove a particular superfluous inequality
      for i from 1 by 2 to nops(pw)-1 do
        cond := op(i,pw);
        if cond :: 'specfunc(And)' and membertype('{`<=`,`<>`}', cond) then
          for via in select(has, select(type, cond, `=`), x) do
            dif := lhs(via)-rhs(via)+rhs(bounds)-x; # known nonnegative
            for k from 1 to nops(cond) do
              ineq := op([k,1],cond)-op([k,2],cond);
              if op(k,cond) :: `<=`
                 and Testzero(dif+ineq)
              or op(k,cond) :: `<>`
                 and (Normalizer(dif+ineq) :: negative
                   or Normalizer(dif-ineq) :: negative)
              then
                return subsop(i=bool_And(op(subsop(k=NULL,cond))), pw);
              end if;
            end do;
          end do;
        end if;
      end do;
      return pw;
    end proc;

    hack_Beta := proc(e :: specfunc(Beta), kb :: t_kb,
                      loops :: list([identical(product,Product,sum,Sum),
                                     name=range]),
                      $)
      local x, bounds, res, s1, r1, s2, r2, sg, rg;
      # Temporary hack to show desired output for examples/{dice_predict,gmm_gibbs,naive_bayes_gibbs}.hk
      if nops(loops) > 0 and e :: 'specfunc(`+`, Beta)' and has(e, piecewise) then
        x, bounds := op(op([-1,2],loops));
        res := subsindets(e, 'specfunc(piecewise)', hack_Beta_pw, x, bounds);
        s1, r1 := selectremove(has, op(1,res), piecewise);
        s2, r2 := selectremove(has, op(2,res), piecewise);
        sg := graft_pw(combine(combine(s1+s2), 'sum'));
        rg := Loop:-graft(r1+r2);
        if and_info([rg = eval(r2,x=x-1), sg = combine(eval(s2,x=x-1))],
                    3, 'procname',
                    "Telescoping match! ALMOST") then
        elif and_info([rg = eval(r1,x=x-1), sg = combine(eval(s1,x=x-1))],
                      3, 'procname',
                      "Telescoping match, but swap Beta arguments! ALMOST") then
          s1, s2 := s2, s1;
          r1, r2 := r2, r1;
        else
          # No telescoping match -- bail out
          return FAIL;
        end if;
        # At this point we know that e = Beta(s1+r1, s2+r2)
        #   and that s2 = eval(s2, x=rhs(bounds)+1) + sum(s1, x=x+1..rhs(bounds)+1)
        #   and that r2 = eval(r2, x=rhs(bounds)+1) + sum(r1, x=x+1..rhs(bounds)+1)
        # So our remaining job is to express
        #   product(Beta(s1+r1, eval(s2+r2, x=rhs(bounds)+1) + sum(s1+r1, x=x+1..rhs(bounds)+1)), x=bounds)
        # in terms of
        #   product(Beta(   r1, eval(   r2, x=rhs(bounds)+1) + sum(   r1, x=x+1..rhs(bounds)+1)), x=bounds)
        res := wrap('Beta'(r1, eval(r2, x=rhs(bounds)+1) + 'sum'(r1, x=x+1..rhs(bounds)+1)), loops)
             * Loop:-graft(wrap(GAMMAratio(s1, r1), loops)
                           * wrap(eval('GAMMAratio'(s1 (* + s2 *), r1 + r2), x=rhs(bounds)+1),
                                                    # Unsound HACK: assuming eval(s2, x=rhs(bounds)+1) = 0
                                                    #   (Discharging this assumption sometimes requires checking idx(w,k) < size(word_prior) for symbolic k)
                                  eval(subsop(-1=NULL, loops), x=rhs(bounds)+1)))
             / wrap(eval('GAMMAratio'(s2, r2), x=lhs(bounds)-1),
                    eval(subsop(-1=NULL, loops), x=lhs(bounds)-1));
        return eval_factor(res, kb, `*`, []);
      end if;
      # Temporary hack to show desired output for the "integrate BetaD out of
      # BetaD-Bernoulli" test
      return hackier_Beta(loops, e)

      # return FAIL;
    end proc;

    hackier_Beta := proc(loops,e)
      local s1, r1, s2, r2;

      if nops(loops) = 0 and e :: 'specfunc(And(`+`, Not(`+`(Not(idx({[1,0],[0,1]}, anything))))), Beta)' then
        s1, r1 := selectremove(type, op(1,e), 'idx({[1,0],[0,1]}, anything)');
        s2, r2 := selectremove(type, op(2,e), 'idx({[1,0],[0,1]}, anything)');
        if s1 :: 'idx([1,0], anything)' and s2 :: 'idx([0,1], anything)' and op(2,s1) = op(2,s2) then
          return Beta(r1, r2) * idx([r1, r2], op(2,s1)) / (r1 + r2);
        elif s1 :: 'idx([0,1], anything)' and s2 :: 'idx([1,0], anything)' and op(2,s1) = op(2,s2) then
          return Beta(r1, r2) * idx([r2, r1], op(2,s1)) / (r1 + r2);
        end if
      end if;

      FAIL

    end proc;

    # GAMMAratio(s, r) = GAMMA(s+r) / GAMMA(r)
    GAMMAratio := proc(s, r, $)
      local var;
      if s :: t_piecewiselike then
        map_piecewiselike(GAMMAratio,
          `if`(s :: 'specfunc(piecewise)' and nops(s) :: even, 'piecewise'(op(s), 0), s),
          r)
      elif s :: 'numeric' then
        product(var+r, var=0..s-1)
      else
        var := 'j';
        if has(r, var) then var := gensym(var) end if;
        Product(var+r, var=0..s-1) # inert so as to not become GAMMA
      end if
    end proc;

    # Rewrite piecewise(i<=j-1,1,0) + piecewise(i=j,1,0) + ...
    #      to piecewise(i<=j,1,0) + ...
    # and rewrite piecewise(And(i<=j-1,a<b),1) + piecewise(And(a<b,i=j),1) + ...
    #          to piecewise(And(i<=j,a<b),1) + ...
    graft_pw := proc(ee, $)
      subsindets(ee, 'And(`+`, Not(`+`(Not(specfunc(piecewise)))))', proc(e, $)
        local terms, j, i, jcond, icond, conds;
        terms := sort(convert(e,'list'),
                      key = proc(term, $) local rel; -add(numboccur(term,rel), rel in indets(term,`<=`)) end proc);
        for i from nops(terms) to 2 by -1 do
          if not (op(i,terms) :: 'And(specfunc(piecewise), Or(anyfunc(anything,1), anyfunc(anything,1,0)))') then next end if;
          icond := op([i,1],terms);
          icond := `if`(icond :: 'specfunc(And)', {op(icond)}, {icond});
          for j from i-1 to 1 by -1 do
            if not (op(j,terms) :: 'And(specfunc(piecewise), Or(anyfunc(anything,1), anyfunc(anything,1,0)))') then next end if;
            jcond := op([j,1],terms);
            jcond := `if`(jcond :: 'specfunc(And)', {op(jcond)}, {jcond});
            conds := jcond intersect icond;
            jcond := jcond minus conds;
            icond := icond minus conds;
            if not (nops(jcond) = 1 and nops(icond) = 1) then next end if;
            jcond := op(jcond);
            icond := op(icond);
            if not (jcond :: `<=` and icond :: `=`) then next end if;
            if not Testzero(`-`(op(jcond)) - `-`(op(icond)) - 1) then next end if; # Unsound HACK: assuming integers, so jcond<=-1 is equivalent to jcond<0
            terms := subsop(i=NULL, [j,1]=maptype('specfunc(And)', (c -> `if`(c=jcond, subsop(0=`<=`,icond), c)), op([j,1],terms)), terms);
            break
          end do
        end do;
        `+`(op(terms))
      end proc)
    end proc;

    wrap := proc(e, loops :: list([identical(product,Product,sum,Sum),
                                   name=range]), $)
      local res, loop;
      res := e;
      for loop in loops do
        res := op(1,loop)(res, op(2,loop));
      end do;
      res
    end proc;

max_stars_repo_name: zaxtax/hakaru

max_issues_repo_name: zaxtax/hakaru

max_forks_repo_name: zaxtax/hakaru


text:
######################################################################
# subsets(A) is the set of all subsets of A

`is_element/subsets` := (A::set) -> proc(B)
 type(B,set) and B minus A = {};
end;

`is_equal/subsets` := (A::set) -> (B,C) -> evalb(B = C):

`is_leq/subsets` := (A::set) -> (B,C) -> evalb(B minus C = {}):

`random_element/subsets` := (A::set) -> proc()
 local r,B,a;
 r := rand(2);

 B := select(a -> (r() = 1),A);

 return B;
end;

`list_elements/subsets` := (A::set) ->
 sort(map(sort,[op(combinat[powerset](A))])):

`count_elements/subsets` := (A::set) -> 2^nops(A);

`functor/subsets` := (A::set,B::set) -> (f) -> proc(T)
 map(t -> f[t],T);
end:

`cofunctor/subsets` := (A::set,B::set) -> (f) -> proc(T)
 select(a -> member(f[a],T),A);
end:


text:
(*
 Copyright (C) 2019 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: mgga_exc *)

$include "hyb_mgga_x_pjs18.mpl"

(* This expression (10) has \tilde A, and not A *)
js18_f_SR := (rs, z, x, t) -> tm_w(x, t)*js18_DME_SR(rs, z, x, t)
  + (1 - tm_w(x, t))*attenuation_erf(a_cnst*rs/opz_pow_n(z,1/3))*tm_fx_SC(x, t):

js18_f := (rs, z, x, u, t) -> -p_a_hyb_coeff_0_*js18_f_SR(rs, z, x, t) + tm_f(x, u, t):

f := (rs, z, xt, xs0, xs1, u0, u1, t0, t1) ->
  mgga_exchange_nsp(js18_f, rs, z, xs0, xs1, u0, u1, t0, t1):


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: mgga_exc *)

b97mv_par_n := 5:

b97mv_gamma_x := 0.004:
b97mv_par_x := [
    [  1.000, 0, 0],
    [  1.308, 0, 1],
    [  1.901, 0, 2],
    [  0.416, 1, 0],
    [  3.070, 1, 1]
]:

b97mv_gamma_ss := 0.2:
b97mv_par_ss := [
    [  1.000, 0, 0],
    [ -1.855, 0, 2],
    [ -5.668, 1, 0],
    [-20.497, 3, 2],
    [-20.364, 4, 2]
]:

b97mv_gamma_os := 0.006:
b97mv_par_os := [
    [  1.000, 0, 0],
    [  1.573, 0, 1],
    [ -6.298, 0, 3],
    [  2.535, 1, 0],
    [ -6.427, 3, 2]
]:

$define lda_x_params
$include "lda_x.mpl"
$include "b97mv.mpl"

b97mv_f_aux := (rs, z, xs0, xs1, ts0, ts1) ->
  + opz_pow_n( z,1)/2 * f_lda_x(rs*(2/(1 + z))^(1/3),  1)
    * b97mv_g(b97mv_gamma_x,  b97mv_wx_ss, b97mv_par_x,  b97mv_par_n, xs0, ts0, 0)
  + opz_pow_n(-z,1)/2 * f_lda_x(rs*(2/(1 - z))^(1/3),  1)
    * b97mv_g(b97mv_gamma_x,  b97mv_wx_ss, b97mv_par_x,  b97mv_par_n, xs1, ts1, 0):

f :=  (rs, z, xt, xs0, xs1, us0, us1, ts0, ts1) ->
  + b97mv_f_aux(rs, z, xs0, xs1, ts0, ts1)
  + b97mv_f(rs, z, xs0, xs1, ts0, ts1):


text:
#If X ~ Pareto(λ, 1) then log(X) ~ Exp(λ).

# Proof:
PDF_pareto := (lambda, k, x) -> lambda * k ^ lambda / x ^ (lambda + 1);

PDF_exponential := (alpha, x) -> exp(-x/alpha)/alpha;

simplify(PDF_pareto(lambda, 1, exp(x))*diff(exp(x),x));

simplify(PDF_exponential(1/lambda, x));

max_stars_repo_name: vmchale/hakaru

max_issues_repo_name: vmchale/hakaru

max_forks_repo_name: vmchale/hakaru


text:
var s : string;
print "Write something: ";
read s;
print "You wrote: \"";
print s;
print "\"\n";
assert (false);
//adadsadadad

max_stars_repo_name: nicohi/mini-pl-interpreter

max_issues_repo_name: nicohi/mini-pl-interpreter

max_forks_repo_name: nicohi/mini-pl-interpreter


text:
######################################################################

# General framework for geometric realisations of finite posets.

`is_element/realisation/generic` :=
 (poset_name,el_test,leq_test) ->
proc(x)
 local pn,C,t,u,i,j,m,a,b,c;
 global reason;

 pn := cat("is_element/realisation/",poset_name);

 if not type(x,table) then
  reason := [pn,"x is not a table"];
  return false;
 fi;

 if map(nops,{indices(x)}) <> {1} then
  reason := [pn,"x is not a unidimensional table"];
  return false;
 fi;

 C := map(op,[indices(x)]);
 t := 0;
 for c in C do
  if not(el_test(c)) then
   reason := [pn,"index c is not in the poset",c];
   return false;
  fi;

  u := x[c];
  if not(`is_element/RR`(u) and u >= 0) then
   reason := [pn,"x[c] is not in R_+",c,x[c]];
   return false;
  fi;
  t := t+u;
 od;

 if t <> 1 then
  reason := [pn,"sum of coordinates is not equal to 1",t];
  return false;
 fi;

 m := nops(C);
 for i from 1 to m-1 do
  for j from i+1 to m do
   a := leq_test(C[i],C[j]);
   b := leq_test(C[j],C[i]);
   if not(a) and not(b) then
    reason := [pn,"incomparable indices",C[i],C[j]];
    return false;
   fi;
   if a and b then
    reason := [pn,"equivalent but unequal indices",C[i],C[j]];
    return false;
   fi;
  od;
 od;

 return true;
end;

`is_equal/realisation/generic` :=
 (poset_name,eq_test) ->
proc(x,y)
 local pn,C,D,t,u,i,j,m,a,b,c,d,dd;
 global reason;

 pn := cat("is_element/realisation/",poset_name);

 C := map(op,[indices(x)]);
 C := select(c -> x[c] > 0,C);

 D := map(op,[indices(y)]);
 D := select(d -> y[d] > 0,D);

 if nops(C) <> nops(D) then
  reason := [pn,"support sizes are different",C,D];
  return false;
 fi;

 for c in C do
  dd := select(d -> eq_test(c,d),D);
  if nops(dd) = 0 then
   reason := [pn,"index c in x unmatched",c];
   return false;
  fi;
  if nops(dd) > 1 then
   reason := [pn,"index c in x multiply matched",c,dd];
   return false;
  fi;
  d := dd[1];
  if x[c] <> y[d] then
   reason := [pn,"x[c] <> y[c]",c,x[c],y[c]];
   return false;
  fi;
 od;

 return true;
end;


text:
with(DifferentialAlgebra):
ring_diff := DifferentialRing(blocks = [[S, A, E, C, Ninv, J, I], [y2, y] ], derivations = [t]):
sys := [
diff(S(t), t) - (-b*S(t)*Ninv(t)*A(t)*q - b*S(t)*Ninv(t)*II(t) - b*S(t)*Ninv(t)*J(t)),
diff(A(t), t) - (-E(t)*k*r + E(t)*k - A(t)*g1),
diff(E(t), t) - (b*S(t)*Ninv(t)*A(t)*q + b*S(t)*Ninv(t)*II(t) + b*S(t)*Ninv(t)*J(t) - E(t)*k),
diff(C(t), t) - (alpha*II(t)),
diff(Ninv(t), t) - (0),
diff(J(t), t) - (alpha*II(t) - g2*J(t)),
diff(II(t), t) - (-alpha*II(t) + E(t)*k*r - g1*II(t)),
y2(t) - (Ninv(t)),
y(t) - (C(t))
];
res := CodeTools[CPUTime](RosenfeldGroebner(sys, ring_diff, singsol=none));


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: gga_exc *)
(* prefix:
  gga_c_lyp_params *params;

  assert(p->params != NULL);
  params = (gga_c_lyp_params * )(p->params);
*)

lyp_Cf := 3/10 * (3*Pi^2)^(2/3):

lyp_omega := rr -> params_a_b*exp(-params_a_c*rr)/(1 + params_a_d*rr):
lyp_delta := rr -> (params_a_c + params_a_d/(1 + params_a_d*rr))*rr:

lyp_aux6 := 1/2^(8/3):
lyp_aux4 := lyp_aux6/4:
lyp_aux5 := lyp_aux4/(9*2):

lyp_t1 := (rr, z) ->
  -(1 - z^2)/(1 + params_a_d*rr):
lyp_t2 := (rr, z, xt) ->
  -xt^2*((1 - z^2)*(47 - 7*lyp_delta(rr))/(4*18) - 2/3):
lyp_t3 := (z) ->
  -lyp_Cf/2*(1 - z^2)*(opz_pow_n(z,8/3) + opz_pow_n(-z,8/3)):
lyp_t4 := (rr, z, xs0, xs1) ->
  lyp_aux4*(1 - z^2)*(5/2 - lyp_delta(rr)/18)*(xs0^2*opz_pow_n(z,8/3) + xs1^2*opz_pow_n(-z,8/3)):
lyp_t5 := (rr, z, xs0, xs1) ->
  lyp_aux5*(1 - z^2)*(lyp_delta(rr) - 11)*(xs0^2*opz_pow_n(z,11/3) + xs1^2*opz_pow_n(-z,11/3)):
lyp_t6 := (z, xs0, xs1) ->
  -lyp_aux6*(2/3*(xs0^2*opz_pow_n(z,8/3) + xs1^2*opz_pow_n(-z,8/3))
  -opz_pow_n(z,2)*xs1^2*opz_pow_n(-z,8/3)/4 - opz_pow_n(-z,2)*xs0^2*opz_pow_n(z,8/3)/4):

f_lyp_rr := (rr, z, xt, xs0, xs1) -> params_a_a*(lyp_t1(rr, z) + lyp_omega(rr)*(
  + lyp_t2(rr, z, xt) + lyp_t3(z) + lyp_t4(rr, z, xs0, xs1)
  + lyp_t5(rr, z, xs0, xs1) + lyp_t6(z, xs0, xs1)
)):

(* rr = rs/RS_FACTOR is equal to n_total(rs)^(-1/3) *)
f_lyp := (rs, z, xt, xs0, xs1) -> f_lyp_rr(rs/RS_FACTOR, z, xt, xs0, xs1):

f  := (rs, z, xt, xs0, xs1) -> f_lyp(rs, z, xt, xs0, xs1):


text:
(*
 Copyright (C) 2020 Susi Lehtola

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: mgga_exc *)
(* prefix:
  mgga_k_csk_loc_params *params;

  assert(p->params != NULL);
  params = (mgga_k_csk_loc_params * )(p->params);
*)

$include "mgga_k_csk.mpl"

(* Equation (21) *)
csk_z  := (p, q) -> 1 + params_a_csk_cp*p + params_a_csk_cq*q - (1 + 5*p/3):


text:
 func $foo6 (
  var %i f64
  ) f64 {
   return (
     recip f64(dread f64 %i))}

 func $foo7 (
  var %i f32
  ) f32 {
   return (
     recip f32(dread f32 %i))}

 func $foo8 (
  var %i f64
  ) f64 {
   return (
     recip f64(constval f64 -1.24))}

 func $foo9 (
  var %i f32
  ) f32 {
   return (
     recip f32(constval f32 -1.24f))}
# todo float recip
 # EXEC: %irbuild Main.mpl
 # EXEC: %irbuild Main.irb.mpl
 # EXEC: %cmp Main.irb.mpl Main.irb.irb.mpl

max_stars_repo_name: harmonyos-mirror/OpenArkCompiler-test

max_issues_repo_name: harmonyos-mirror/OpenArkCompiler-test

max_forks_repo_name: harmonyos-mirror/OpenArkCompiler-test


text:
 func $foo6 (
  var %i f64
  ) f64 {
   return (
     sqrt f64(dread f64 %i))}

 func $foo7 (
  var %i f32
  ) f32 {
   return (
     sqrt f32(dread f32 %i))}

 func $foo8 (
  var %i f64
  ) f64 {
   return (
     sqrt f64(constval f64 4.0))}

 func $foo9 (
  var %i f32
  ) f32 {
   return (
     sqrt f32(constval f32 4.0f))}
# todo float sqrt
 # EXEC: %irbuild Main.mpl
 # EXEC: %irbuild Main.irb.mpl
 # EXEC: %cmp Main.irb.mpl Main.irb.irb.mpl


text:
$radius:20

main()inline{
	once{
		[x0, y0] = CurrentCoords();
		[x, y, err] = radius, 0, 0;

		while (x >= y){
			SetVoid(x0 + x, y0 + y);
			SetVoid(x0 + y, y0 + x);
			SetVoid(x0 - y, y0 + x);
			SetVoid(x0 - x, y0 + y);
			SetVoid(x0 - x, y0 - y);
			SetVoid(x0 - y, y0 - x);
			SetVoid(x0 + y, y0 - x);
			SetVoid(x0 + x, y0 - y);

			if (err <= 0){
				y += 1;
				err += 2*y + 1;
			}

			if (err > 0){
				x -= 1;
				err -= 2*x + 1;
			}
		}
	}
}


text:
# Velocity Calculation for the Robot based on MDH frames
# Introduction
# Berechnung der Geschwindigkeit von Koordinatensystemen und Schwerpunkten
#
# Dateiname:
# robot -> Berechnung für allgemeinen Roboter
# tree -> Berechnung für eine beliebige Baumstruktur (ohne Schleifen)
# velocity_mdh_angles  -> Berechnung der Geschwindigkeit der MDH-Koordinaten (Drehung und Verschiebung in z-Richtung. Diese können zeitabhängig sein.
# Authors
# Moritz Schappler, schappler@irt.uni-hannover.de, 2016-03
# (C) Institut fuer Regelungstechnik, Leibniz Universitaet Hannover
#
# Sources
# [GautierKhalil1990] Direct Calculation of Minimum Set of Inertial Parameters of Serial Robots
# [KhalilDombre2002] Modeling, Identification and Control of Robots
# [Ortmaier2014] Vorlesungsskript Robotik I (WS 2014/15)
# [Ott2008] Cartesian Impedance Control of Redundant and Flexible-Joint Robots
# Initialization
interface(warnlevel=0): # Unterdrücke die folgende Warnung.
restart: # Gibt eine Warnung, wenn über Terminal-Maple mit read gestartet wird.
interface(warnlevel=3):
with(LinearAlgebra):
with(ArrayTools):
with(codegen):
with(CodeGeneration):
with(StringTools):
codegen_act := true:
codegen_opt := 2:
read "../helper/proc_convert_s_t":
read "../helper/proc_convert_t_s":
read "../helper/proc_MatlabExport":
read "../helper/proc_simplify2":
read "../robot_codegen_definitions/robot_env":
printf("%s. Generiere Geschwindigkeit für %s\n", FormatTime("%Y-%m-%d %H:%M:%S"), robot_name):
read sprintf("../codeexport/%s/tmp/tree_floatb_definitions", robot_name):
# Lade Ausdrücke für kinematische Zwangsbedingungen (Verknüpfung von MDH-Gelenkwinkeln durch verallgemeinerte Koordinaten)
read sprintf("../codeexport/%s/tmp/kinematic_constraints_maple_inert.m", robot_name):
kintmp_qt := kintmp_qt:
kintmp_qt := kintmp_qt:
kin_constraints_exist := kin_constraints_exist:
kintmp_subsexp := kintmp_subsexp:
# Term-Vereinfachungen einstellen
if not assigned(simplify_options) or simplify_options(4)=-1 then # Standard-Einstellungen:
  if not kin_constraints_exist then # normale serielle Ketten und Baumstrukturen
    use_simplify := 0: # Standardmäßig aus
  else # mit kinematischen Zwangsbedingungen
    use_simplify := 1: # standardmäßig simplify-Befehle anwenden
  end if:
else # Benutzer-Einstellungen:
  use_simplify := simplify_options(4): # vierter Eintrag ist für Geschwindigkeit
end if:

# Zeitableitung der Drehwinkel berechnen
# Ersetze die MDH-Winkel durch verallgemeinerte Koordinaten
# Falls die Gelenkwinkel nicht direkt mit verallgemeinerten Koordinaten überstimmen (bei Kopplungen, kinematischen Schleifen) steht hier eine längere Berechnung. Ansonsten reicht das triviale Einsetzen:
# thetaD := qJD_t:
# Ersetze die MDH-Drehung und Verschiebung entlang der z-Achse durch verallgemeinerte Koordinaten
theta_qt := theta:
d_qt := d:
for ii from 1 to NJ do
  for jj from 1 to RowDimension(kintmp_qt) do
    theta_qt(ii, 1) := subs( { kintmp_t(jj, 1) = kintmp_qt(jj, 1) }, theta_qt(ii, 1) ):
    d_qt(ii, 1)     := subs( { kintmp_t(jj, 1) = kintmp_qt(jj, 1) }, d_qt(ii, 1) ):
  end do:
end do:
# Zeitableitung der MDH-Drehung und Verschiebung entlang der z-Achse in Abhängigkeit der verallgemeinerten Koordinaten
thetaD := Matrix(NJ, 1):
dD := Matrix(NJ, 1):

for i from 1 to NJ do
  thetaD(i,1) := diff(theta_qt(i,1), t):
  dD(i,1)     := diff(d_qt(i,1), t):
end do:
if kin_constraints_exist then # ist nur rechenaufwändig, wenn ZB vorliegen
  printf("%s. Zeitableitung der MDH-Winkel gebildet.\n", FormatTime("%Y-%m-%d %H:%M:%S")):
end if:
# Terme vereinfachen

if use_simplify>=1 and kin_constraints_exist then # ist nur sinnvoll, wenn ZB vorliegen
  tmp_t0 := time():
  tmp_l0 := length(thetaD)+length(dD):
  printf("%s: Vereinfache MDH-Geschwindigkeiten. Länge: %d.\n", \
    FormatTime("%Y-%m-%d %H:%M:%S"), tmp_l0):
  for i from 1 to NJ do
    tmp_t1 := time():
    tmp_l1 := length(thetaD(i,1)) + length(dD(i,1)): # es kann sowieso nur einer der beiden Informationen enthalten
    printf("%s: Vereinfache MDH-Geschw. %d. Länge: %d.\n", \
      FormatTime("%Y-%m-%d %H:%M:%S"), i, tmp_l1):
    thetaD(i,1) := simplify2(thetaD(i,1)):
    dD(i,1)     := simplify2(dD(i,1)):
    tmp_t2 := time():
    tmp_l2 := length(thetaD(i,1)) + length(dD(i,1)):
    printf("%s: MDH-Geschw. %d vereinfacht. Länge: %d->%d. Rechenzeit %1.1fs.\n", \
      FormatTime("%Y-%m-%d %H:%M:%S"), i, tmp_l1, tmp_l2, tmp_t2-tmp_t1):
  end do:
  tmp_l3 := length(thetaD)+length(dD):
  printf("%s: MDH-Geschwindigkeiten vereinfacht. Länge: %d->%d. Rechenzeit %1.1fs.\n", \
    FormatTime("%Y-%m-%d %H:%M:%S"), tmp_l0, tmp_l3, tmp_t2-tmp_t0):
end if:

# Ausdruck für Zeitableitungen der MDH-Winkel exportieren
if codegen_act then
  MatlabExport(convert_t_s(thetaD), sprintf("../codeexport/%s/tmp/velocity_mdh_angles_matlab.m", robot_name), codegen_opt):
  MatlabExport(convert_t_s(dD), sprintf("../codeexport/%s/tmp/velocity_mdh_deltaz_matlab.m", robot_name), codegen_opt):
end if:
# Ausdruck für Maple speichern
save thetaD, dD, sprintf("../codeexport/%s/tmp/velocity_mdh_angles_maple.m", robot_name):

max_stars_repo_name: SchapplM/robsynth-modelgen

max_issues_repo_name: SchapplM/robsynth-modelgen

max_forks_repo_name: SchapplM/robsynth-modelgen


text:
`is_element/Xi/generic` := (gen_name,el_test) -> (A::set) -> (TT) -> proc(m)
 global reason;
 local pn,TT1,C,T;

 pn := cat("is_element/Phi/",gen_name);
 TT1 := `big_sets/trees`(A)(TT);

 if not is_table_on(TT1,m) then
  reason := [pn,"m is not a table on TT1",m,TT1];
  return false;
 fi;

 C := children_map(A)(TT);

 for T in TT1 do
  if not(el_test(C[T])(m[T])) then
   reason := [pn,"m[T] is not in M(C[T])",m[T],T,C[T]];
   return false;
  fi;
 od;

 return true;
end:

# If E is a strongly reduced operad, then there are natural maps
# \theta : (\Xi E)(TT) -> (\Xi E)(UU) whenever TT and UU are full trees
# on the same set A with UU contained in TT.

`theta/Xi/generic` := (gen_name,eta,gamma) -> (A::set) -> (TT,UU) -> proc(x)
 local VV,CV,CT,X,Y,Z,T,P,Q,p,y,w;

 if TT = UU then return x; fi;

 T := (TT minus UU)[1];
 VV := TT minus {T};
 P := parent_map(A)(TT)[T];
 CT := children_map(A)(TT);
 CV := children_map(A)(VV);
 Y := CT[T];
 X := CV[P];
 Z := CT[P];
 p := table();
 for Q in X do
  p[Q] := `if`(member(Q,Y),T,Q);
 od;
 y := table();
 y[T] := x[T];
 for Q in X minus Y do
  y[Q] := eta({Q});
 od;

 w := gamma(X,Z)(p)(x[P],y);
 return `theta/Xi/generic`(gen_name,eta,gamma)(A)(VV,UU)(w);
end:


text:
(*
 Copyright (C) 2021 Susi Lehtola

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: gga_exc *)
(* prefix:
  gga_c_lypr_params *params;

  assert(p->params != NULL);
  params = (gga_c_lypr_params * )(p->params);
*)

$include "gga_c_lyp.mpl"

lypr_eta := rr -> -2/(3*sqrt(Pi))*params_a_m2*params_a_omega
  * exp(-params_a_m2^2*params_a_omega^2*rr^2):

lypr_t7 := (rr, z, xt, xs0, xs1) ->
  -rr * (1 - z^2)/4 * (
    + 7/6*(xt^2 - lyp_aux6*(xs0^2*opz_pow_n(z,8/3) + xs1^2*opz_pow_n(-z,8/3)))
    + (1 + (1 + z)/6)*xs0^2*lyp_aux6*opz_pow_n( z, 8/3)
    + (1 + (1 - z)/6)*xs1^2*lyp_aux6*opz_pow_n(-z, 8/3)
  ):

(* This functional is very similar to gga_c_lyp. One adds the two erfc and
  the extra term proportinal to eta *)
f_lypr_rr := (rr, z, xt, xs0, xs1) -> params_a_a*(
  + erfc(params_a_m1*params_a_omega*rr)*lyp_t1(rr, z)
  + erfc(params_a_m2*params_a_omega*rr)*lyp_omega(rr)*(
    + lyp_t2(rr, z, xt) + lyp_t3(z) + lyp_t4(rr, z, xs0, xs1)
    + lyp_t5(rr, z, xs0, xs1) + lyp_t6(z, xs0, xs1)
  )
  + lyp_omega(rr)*lypr_eta(rr)*lypr_t7(rr, z, xt, xs0, xs1)
):

(* rr = rs/RS_FACTOR is equal to n_total(rs)^(-1/3) *)
f_lypr := (rs, z, xt, xs0, xs1) -> f_lypr_rr(rs/RS_FACTOR, z, xt, xs0, xs1):

f  := (rs, z, xt, xs0, xs1) -> f_lypr(rs, z, xt, xs0, xs1):


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: gga_exc *)

c09x_mu    := 0.0617:
c09x_kappa := 1.245:
c09x_alpha := 0.0483:

c09x_f0 := s -> 1 + c09x_mu*s^2*exp(-c09x_alpha*s^2) + c09x_kappa*(1 - exp(-1/2*c09x_alpha*s^2)):
c09x_f  := x -> c09x_f0(X2S*x):

f := (rs, z, xt, xs0, xs1) -> gga_exchange(c09x_f, rs, z, xs0, xs1):


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: work_gga_c *)
(* prefix:
  gga_c_zvpbeint_params *params;

  assert(p->params != NULL);
  params = (gga_c_zvpbeint_params * )(p->params);
*)

params_a_gamma := (1 - log(2))/Pi^2:
params_a_BB    := 1:
$include "gga_c_pbe.mpl"

nu := (rs, z, t) ->
  t*mphi(z)*(3/rs)^(1/6):
ff := (rs, z, t) ->
  exp(-params_a_alpha*nu(rs, z, t)^3*m_abs(1*z)^params_a_omega):

f  := (rs, z, xt, xs0, xs1) ->
  f_pw(rs, z) + ff(rs, z, tp(rs, z, xt))*fH(rs, z, tp(rs, z, xt)):


text:
(*
 Copyright (C) 2017 M.A.L. Marques

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
*)

(* type: work_mgga_x *)
(* prefix:
  mgga_x_tau_hcth_params *params;

  assert(pt->params != NULL);
  params = (mgga_x_tau_hcth_params * ) (pt->params);
*)

coeff_a := [0, 1, 0, -2, 0, 1]:

(* Equation (29) *)
gamX := 0.004:
ux   := x -> gamX*x^2/(1 + gamX*x^2):

gxl  := x -> add(params_a_cx_local [i]*ux(x)^(i-1), i=1..4):
gxnl := x -> add(params_a_cx_nlocal[i]*ux(x)^(i-1), i=1..4):

f    := (rs, x, t, u) -> gxl(x) + gxnl(x)*mgga_series_w(coeff_a, 6, t):