<commit_before>'use strict'

const dd=(a,b)=>`\\frac{\\mathrm{d}${a}}{\\mathrm{d}${b}}`
const dydt=dd('y','t')
const int=(fx,x)=>`\\int\\!${fx}\\,\\mathrm{d}${x}`
const eqsol=(name)=>`<a href='https://en.wikipedia.org/wiki/Equilibrium_point'>${name}</a>`

module.exports={
	root: {
		parents: {},
		name: "first-order",
		importance: 0,
		equation: `${dydt} = f(t,y)`,
		properties: [
			"can test if \\(y_p(t)\\) is a solution by substituting \\(y = y_p\\) into the equation",
		]
	},
	separable: {
		parents: {
			root: true,
		},
		name: "first-order separable",
		htmlName: "first-order <a href='https://en.wikipedia.org/wiki/Separation_of_variables#Ordinary_differential_equations_.28ODE.29'>separable</a>",
		importance: 1,
		equation: `${dydt} = f_1(t) \\cdot f_2(y)`,
		solutions: [
			`<em>Solutions</em>:`+
				`\\[ ${dydt} = f_1(t) \\cdot f_2(y) \\]`+
				`\\[ \\frac{1}{f_2(y)} \\cdot ${dydt} = f_1(t) \\]`+
				`\\[ ${int(`\\frac{1}{f_2(y)} \\cdot ${dydt}`,'t')} = ${int('f_1(t)','t')} \\]`+
				`\\[ ${int(`\\frac{1}{f_2(y)}`,'y')} = ${int('f_1(t)','t')} \\]`+
				`this may or may not include ${eqsol("equilibrium solutions")}`,
			"<em>"+eqsol("Equilibrium solutions")+":</em><br>"+
				`Solve \\( f_2(y) = 0 \\) for constant \\( y \\);`+"<br>"+
				`domain is not necessary \\( -\\infty &lt; t &lt; +\\infty \\)`
		],
	},
	autonomous: {
		parents: {
			separable: true,
		},
		name: "first-order autonomous",
		htmlName: "first-order <a href='https://en.wikipedia.org/wiki/Autonomous_system_%28mathematics%29'>autonomous</a>",
		importance: 1,
		equation: `${dydt} = f(y)`,
		properties: [
			"horizontal <a href='https://en.wikipedia.org/wiki/Isocline'>isoclines</a>",
			"\\( y_p(t )\\) is a solution \\( \\Rightarrow \\) \\( y_p(t+C) \\) is a solution",
		],
		solutions: [
			`<em>Solutions</em>:`+
				`\\[ ${dydt} = f(y) \\]`+
				`\\[ \\frac{1}{f(y)} \\cdot ${dydt} = 1 \\]`+
				`\\[ ${int(`\\frac{1}{f(y)} \\cdot ${dydt}`,'t')} = ${int('1','t')} \\]`+
				`\\[ ${int(`\\frac{1}{f(y)}`,'y')} = t \\]`+
				`this may or may not include ${eqsol("equilibrium solutions")}`,
			"<em>"+eqsol("Equilibrium solutions")+":</em><br>"+
				`Solve \\( f(y) = 0 \\) for constant \\( y \\);`+"<br>"+
				`domain is \\( -\\infty &lt; t &lt; +\\infty \\)`
		],
	},
	bernoulli: {
		parents: {
			root: true,
		},
		name: "Bernoulli",
		htmlName: "<a href='https://en.wikipedia.org/wiki/Bernoulli_differential_equation'>Bernoulli</a>",
		importance: 2,
		equation: `${dydt} + p(t) \\cdot y = q(t) \\cdot y^n`, // TODO we include n=0 and 1 here, others may exclude
	},
	linear: {
		parents: {
			bernoulli: true,
		},
		name: "first-order linear",
		htmlName: "first-order <a href='https://en.wikipedia.org/wiki/Linear_differential_equation'>linear</a>",<commit_msg>don't make any statements on domain for a while<commit_after>'use strict'

const dd=(a,b)=>`\\frac{\\mathrm{d}${a}}{\\mathrm{d}${b}}`
const dydt=dd('y','t')
const int=(fx,x)=>`\\int\\!${fx}\\,\\mathrm{d}${x}`
const eqsol=(name)=>`<a href='https://en.wikipedia.org/wiki/Equilibrium_point'>${name}</a>`

module.exports={
	root: {
		parents: {},
		name: "first-order",
		importance: 0,
		equation: `${dydt} = f(t,y)`,
		properties: [
			"can test if \\(y_p(t)\\) is a solution by substituting \\(y = y_p\\) into the equation",
		]
	},
	separable: {
		parents: {
			root: true,
		},
		name: "first-order separable",
		htmlName: "first-order <a href='https://en.wikipedia.org/wiki/Separation_of_variables#Ordinary_differential_equations_.28ODE.29'>separable</a>",
		importance: 1,
		equation: `${dydt} = f_1(t) \\cdot f_2(y)`,
		solutions: [
			`<em>Solutions</em>:`+
				`\\[ ${dydt} = f_1(t) \\cdot f_2(y) \\]`+
				`\\[ \\frac{1}{f_2(y)} \\cdot ${dydt} = f_1(t) \\]`+
				`\\[ ${int(`\\frac{1}{f_2(y)} \\cdot ${dydt}`,'t')} = ${int('f_1(t)','t')} \\]`+
				`\\[ ${int(`\\frac{1}{f_2(y)}`,'y')} = ${int('f_1(t)','t')} \\]`+
				`this may or may not include ${eqsol("equilibrium solutions")}`,
			"<em>"+eqsol("Equilibrium solutions")+":</em><br>"+
				`Solve \\( f_2(y) = 0 \\) for constant \\( y \\).` //+"<br>"+
				//`domain is not necessary \\( -\\infty &lt; t &lt; +\\infty \\)`
		],
	},
	autonomous: {
		parents: {
			separable: true,
		},
		name: "first-order autonomous",
		htmlName: "first-order <a href='https://en.wikipedia.org/wiki/Autonomous_system_%28mathematics%29'>autonomous</a>",
		importance: 1,
		equation: `${dydt} = f(y)`,
		properties: [
			"horizontal <a href='https://en.wikipedia.org/wiki/Isocline'>isoclines</a>",
			"\\( y_p(t )\\) is a solution \\( \\Rightarrow \\) \\( y_p(t+C) \\) is a solution",
		],
		solutions: [
			`<em>Solutions</em>:`+
				`\\[ ${dydt} = f(y) \\]`+
				`\\[ \\frac{1}{f(y)} \\cdot ${dydt} = 1 \\]`+
				`\\[ ${int(`\\frac{1}{f(y)} \\cdot ${dydt}`,'t')} = ${int('1','t')} \\]`+
				`\\[ ${int(`\\frac{1}{f(y)}`,'y')} = t \\]`+
				`this may or may not include ${eqsol("equilibrium solutions")}`,
			"<em>"+eqsol("Equilibrium solutions")+":</em><br>"+
				`Solve \\( f(y) = 0 \\) for constant \\( y \\)` //+"<br>"+
				//`domain is \\( -\\infty &lt; t &lt; +\\infty \\)`
		],
	},
	bernoulli: {
		parents: {
			root: true,
		},
		name: "Bernoulli",
		htmlName: "<a href='https://en.wikipedia.org/wiki/Bernoulli_differential_equation'>Bernoulli</a>",
		importance: 2,
		equation: `${dydt} + p(t) \\cdot y = q(t) \\cdot y^n`, // TODO we include n=0 and 1 here, others may exclude
	},
	linear: {
		parents: {
			bernoulli: true,
		},
		name: "first-order linear",
		htmlName: "first-order <a href='https://en.wikipedia.org/wiki/Linear_differential_equation'>linear</a>",
{'fraction_non_alphanumeric': 0.2844873859366613, 'fraction_numerical': 0.012524601896582574, 'mean_word_length': 3.3468118195956453, 'pattern_counts': {'":': 4, '<': 51, '<?xml version=': 0, '>': 57, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5950097', 'n_tokens_mistral': 2617, 'n_tokens_neox': 2343, 'n_words': 413}