Semantic Graph — Visual Examination Report

Generated 2026-06-13 23:38 UTC · theme: default-dark · 10 expressions
ODE (10 expressions)
first_order
$$\frac{dy}{dx} = ky$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_2(("$\dfrac{d}{d x}$")):::operator
  __multiply_3(("$\times$")):::operator
  k["$k$"]:::scalar
  y --> __deriv_2
  x -->|wrt| __deriv_2
  __deriv_2 --> __equals_1
  k --> __multiply_3
  y --> __multiply_3
  __multiply_3 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#aaa,stroke-width:2px
\frac{dy}{dx} = ky
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\frac{dy}{dx} = ky",
      "chartScript": {
        "script": "-k*y",
        "variables": [
          "k",
          "y"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__deriv_2",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "x",
      "subexpr": "\\frac{d}{d x} y",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "y k",
      "chartScript": {
        "script": "k*y",
        "variables": [
          "k",
          "y"
        ]
      }
    },
    {
      "id": "k",
      "type": "scalar",
      "latex": "k",
      "subexpr": "k",
      "chartScript": {
        "script": "k",
        "variables": [
          "k"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "y",
      "to": "__deriv_2"
    },
    {
      "from": "x",
      "to": "__deriv_2",
      "role": "wrt"
    },
    {
      "from": "__deriv_2",
      "to": "__equals_1"
    },
    {
      "from": "k",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_3",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "ODE",
    "order": 1,
    "dependent_variables": [
      "y"
    ],
    "independent_variables": [
      "x"
    ],
    "sympy_hints": [
      "separable",
      "1st_exact",
      "1st_linear",
      "Bernoulli",
      "almost_linear",
      "1st_power_series",
      "lie_group",
      "nth_linear_constant_coeff_homogeneous"
    ],
    "linear": true,
    "homogeneous": true,
    "constant_coefficients": true
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_2(("$\dfrac{d}{d x}$")):::operator
  __multiply_3(("$\times$")):::operator
  k["$k$"]:::scalar
  y --> __deriv_2
  x -->|wrt| __deriv_2
  __deriv_2 --> __equals_1
  k --> __multiply_3
  y --> __multiply_3
  __multiply_3 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#aaa,stroke-width:2px
Click D3 to render
separable
$$\frac{dy}{dx} = \frac{x}{y}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_2(("$\dfrac{d}{d x}$")):::operator
  __multiply_3(("$\times$")):::operator
  __power_4(("$\dfrac{1}{(\cdot)}$")):::operator
  y --> __deriv_2
  x -->|wrt| __deriv_2
  __deriv_2 --> __equals_1
  x --> __multiply_3
  y --> __power_4
  __power_4 -.-> __multiply_3
  __multiply_3 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#42a5f5,stroke-width:1px
  linkStyle 6 stroke:#aaa,stroke-width:2px
\frac{dy}{dx} = \frac{x}{y}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\frac{dy}{dx} = \\frac{x}{y}",
      "chartScript": {
        "script": "-x/y",
        "variables": [
          "x",
          "y"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__deriv_2",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "x",
      "subexpr": "\\frac{d}{d x} y",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "\\frac{1}{y} x",
      "chartScript": {
        "script": "x/y",
        "variables": [
          "x",
          "y"
        ]
      }
    },
    {
      "id": "__power_4",
      "type": "operator",
      "latex": "\\dfrac{1}{(\\cdot)}",
      "op": "power",
      "exponent": "-1",
      "subexpr": "\\frac{1}{y}",
      "chartScript": {
        "script": "1/y",
        "variables": [
          "y"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "y",
      "to": "__deriv_2"
    },
    {
      "from": "x",
      "to": "__deriv_2",
      "role": "wrt"
    },
    {
      "from": "__deriv_2",
      "to": "__equals_1"
    },
    {
      "from": "x",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "__power_4"
    },
    {
      "from": "__power_4",
      "to": "__multiply_3"
    },
    {
      "from": "__multiply_3",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "ODE",
    "order": 1,
    "dependent_variables": [
      "y"
    ],
    "independent_variables": [
      "x"
    ],
    "sympy_hints": [
      "separable",
      "1st_exact",
      "Bernoulli",
      "1st_homogeneous_coeff_best",
      "1st_homogeneous_coeff_subs_indep_div_dep",
      "1st_homogeneous_coeff_subs_dep_div_indep",
      "1st_power_series",
      "lie_group"
    ],
    "linear": false,
    "homogeneous": true,
    "constant_coefficients": false
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_2(("$\dfrac{d}{d x}$")):::operator
  __multiply_3(("$\times$")):::operator
  __power_4(("$\dfrac{1}{(\cdot)}$")):::operator
  y --> __deriv_2
  x -->|wrt| __deriv_2
  __deriv_2 --> __equals_1
  x --> __multiply_3
  y --> __power_4
  __power_4 -.-> __multiply_3
  __multiply_3 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#42a5f5,stroke-width:1px
  linkStyle 6 stroke:#aaa,stroke-width:2px
Click D3 to render
bernoulli
$$\frac{dy}{dx} + P(x) y = Q(x) y^n$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_3(("$\dfrac{d}{d x}$")):::operator
  __multiply_4(("$\times$")):::operator
  __P_5{{"$P(\cdot)$"}}:::function
  __multiply_6(("$\times$")):::operator
  __Q_7{{"$Q(\cdot)$"}}:::function
  __power_8(("$(\cdot)^{\cdot}$")):::operator
  n["$n$"]:::scalar
  y --> __deriv_3
  x -->|wrt| __deriv_3
  __deriv_3 --> __add_2
  x --> __P_5
  __P_5 --> __multiply_4
  y --> __multiply_4
  __multiply_4 --> __add_2
  __add_2 --> __equals_1
  x --> __Q_7
  __Q_7 --> __multiply_6
  y --> __power_8
  n -->|exp| __power_8
  __power_8 --> __multiply_6
  __multiply_6 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#ef5350,stroke-width:3px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#ef5350,stroke-width:3px
  linkStyle 13 stroke:#aaa,stroke-width:2px
\frac{dy}{dx} + P(x) y = Q(x) y^n
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\frac{dy}{dx} + P(x) y = Q(x) y^n",
      "chartScript": {
        "script": "y*P(x) - pow(y, n)*Q(x)",
        "variables": [
          "n",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "y P{\\left(x \\right)} + \\frac{d}{d x} y",
      "chartScript": {
        "script": "P*x*y",
        "variables": [
          "P",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__deriv_3",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "x",
      "subexpr": "\\frac{d}{d x} y",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__multiply_4",
      "type": "operator",
      "op": "multiply",
      "subexpr": "y P{\\left(x \\right)}",
      "chartScript": {
        "script": "P*x*y",
        "variables": [
          "P",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "__P_5",
      "type": "function",
      "op": "P",
      "subexpr": "P{\\left(x \\right)}",
      "chartScript": {
        "script": "P*x",
        "variables": [
          "P",
          "x"
        ]
      }
    },
    {
      "id": "__multiply_6",
      "type": "operator",
      "op": "multiply",
      "subexpr": "y^{n} Q{\\left(x \\right)}",
      "chartScript": {
        "script": "Q*x*pow(y, n)",
        "variables": [
          "Q",
          "n",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "__Q_7",
      "type": "function",
      "op": "Q",
      "subexpr": "Q{\\left(x \\right)}",
      "chartScript": {
        "script": "Q*x",
        "variables": [
          "Q",
          "x"
        ]
      }
    },
    {
      "id": "__power_8",
      "type": "operator",
      "op": "power",
      "subexpr": "y^{n}",
      "chartScript": {
        "script": "pow(y, n)",
        "variables": [
          "n",
          "y"
        ]
      }
    },
    {
      "id": "n",
      "type": "scalar",
      "latex": "n",
      "subexpr": "n",
      "chartScript": {
        "script": "n",
        "variables": [
          "n"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "y",
      "to": "__deriv_3"
    },
    {
      "from": "x",
      "to": "__deriv_3",
      "role": "wrt"
    },
    {
      "from": "__deriv_3",
      "to": "__add_2"
    },
    {
      "from": "x",
      "to": "__P_5"
    },
    {
      "from": "__P_5",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_4",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__equals_1"
    },
    {
      "from": "x",
      "to": "__Q_7"
    },
    {
      "from": "__Q_7",
      "to": "__multiply_6",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "__power_8"
    },
    {
      "from": "n",
      "to": "__power_8",
      "role": "exp"
    },
    {
      "from": "__power_8",
      "to": "__multiply_6",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_6",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "ODE",
    "order": 1,
    "dependent_variables": [
      "y"
    ],
    "independent_variables": [
      "x"
    ],
    "sympy_hints": [
      "Bernoulli",
      "1st_power_series",
      "lie_group"
    ],
    "linear": false,
    "homogeneous": false,
    "constant_coefficients": false
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_3(("$\dfrac{d}{d x}$")):::operator
  __multiply_4(("$\times$")):::operator
  __P_5{{"$P(\cdot)$"}}:::function
  __multiply_6(("$\times$")):::operator
  __Q_7{{"$Q(\cdot)$"}}:::function
  __power_8(("$(\cdot)^{\cdot}$")):::operator
  n["$n$"]:::scalar
  y --> __deriv_3
  x -->|wrt| __deriv_3
  __deriv_3 --> __add_2
  x --> __P_5
  __P_5 --> __multiply_4
  y --> __multiply_4
  __multiply_4 --> __add_2
  __add_2 --> __equals_1
  x --> __Q_7
  __Q_7 --> __multiply_6
  y --> __power_8
  n -->|exp| __power_8
  __power_8 --> __multiply_6
  __multiply_6 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#ef5350,stroke-width:3px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#ef5350,stroke-width:3px
  linkStyle 13 stroke:#aaa,stroke-width:2px
Click D3 to render
exact
$$M(x,y) dx + N(x,y) dy = 0$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  __multiply_3(("$\times$")):::operator
  __M_4{{"$M(\cdot, \cdot)$"}}:::function
  x["$x$"]:::scalar
  y["$y$"]:::scalar
  dx["$dx$"]:::scalar
  __multiply_5(("$\times$")):::operator
  __N_6{{"$N(\cdot, \cdot)$"}}:::function
  dy["$dy$"]:::scalar
  __num_7["$0$"]:::number
  x --> __M_4
  y --> __M_4
  __M_4 --> __multiply_3
  dx --> __multiply_3
  __multiply_3 --> __add_2
  x --> __N_6
  y --> __N_6
  __N_6 --> __multiply_5
  dy --> __multiply_5
  __multiply_5 --> __add_2
  __add_2 --> __equals_1
  __num_7 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#ef5350,stroke-width:3px
  linkStyle 8 stroke:#ef5350,stroke-width:3px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
M(x,y) dx + N(x,y) dy = 0
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "M(x,y) dx + N(x,y) dy = 0",
      "chartScript": {
        "script": "dx*M(x, y) + dy*N(x, y)",
        "variables": [
          "dx",
          "dy",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "M{\\left(x,y \\right)} dx + N{\\left(x,y \\right)} dy",
      "chartScript": {
        "script": "M",
        "variables": [
          "M"
        ]
      }
    },
    {
      "id": "__multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "M{\\left(x,y \\right)} dx",
      "chartScript": {
        "script": "M",
        "variables": [
          "M"
        ]
      }
    },
    {
      "id": "__M_4",
      "type": "function",
      "op": "M",
      "subexpr": "M{\\left(x,y \\right)}",
      "chartScript": {
        "script": "M",
        "variables": [
          "M"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "dx",
      "type": "scalar",
      "latex": "dx",
      "subexpr": "dx",
      "chartScript": {
        "script": "dx",
        "variables": [
          "dx"
        ]
      }
    },
    {
      "id": "__multiply_5",
      "type": "operator",
      "op": "multiply",
      "subexpr": "N{\\left(x,y \\right)} dy",
      "chartScript": {
        "script": "N",
        "variables": [
          "N"
        ]
      }
    },
    {
      "id": "__N_6",
      "type": "function",
      "op": "N",
      "subexpr": "N{\\left(x,y \\right)}",
      "chartScript": {
        "script": "N",
        "variables": [
          "N"
        ]
      }
    },
    {
      "id": "dy",
      "type": "scalar",
      "latex": "dy",
      "subexpr": "dy",
      "chartScript": {
        "script": "dy",
        "variables": [
          "dy"
        ]
      }
    },
    {
      "id": "__num_7",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "__M_4"
    },
    {
      "from": "y",
      "to": "__M_4"
    },
    {
      "from": "__M_4",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "dx",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_3",
      "to": "__add_2"
    },
    {
      "from": "x",
      "to": "__N_6"
    },
    {
      "from": "y",
      "to": "__N_6"
    },
    {
      "from": "__N_6",
      "to": "__multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "dy",
      "to": "__multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_5",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__equals_1"
    },
    {
      "from": "__num_7",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  __multiply_3(("$\times$")):::operator
  __M_4{{"$M(\cdot, \cdot)$"}}:::function
  x["$x$"]:::scalar
  y["$y$"]:::scalar
  dx["$dx$"]:::scalar
  __multiply_5(("$\times$")):::operator
  __N_6{{"$N(\cdot, \cdot)$"}}:::function
  dy["$dy$"]:::scalar
  __num_7["$0$"]:::number
  x --> __M_4
  y --> __M_4
  __M_4 --> __multiply_3
  dx --> __multiply_3
  __multiply_3 --> __add_2
  x --> __N_6
  y --> __N_6
  __N_6 --> __multiply_5
  dy --> __multiply_5
  __multiply_5 --> __add_2
  __add_2 --> __equals_1
  __num_7 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#ef5350,stroke-width:3px
  linkStyle 8 stroke:#ef5350,stroke-width:3px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
Click D3 to render
second_order
$$\frac{d^2 y}{dx^2} + \omega^2 y = 0$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_3(("$\dfrac{d^{2}}{d x^{2}}$")):::operator
  __multiply_4(("$\times$")):::operator
  __power_5(("${(\cdot)}^{2}$")):::operator
  omega["$\omega$"]:::scalar
  __num_6["$0$"]:::number
  y --> __deriv_3
  x -->|wrt| __deriv_3
  __deriv_3 --> __add_2
  omega --> __power_5
  __power_5 --> __multiply_4
  y --> __multiply_4
  __multiply_4 --> __add_2
  __add_2 --> __equals_1
  __num_6 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
\frac{d^2 y}{dx^2} + \omega^2 y = 0
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\frac{d^2 y}{dx^2} + \\omega^2 y = 0",
      "chartScript": {
        "script": "pow(d, 2)*y/pow(dx, 2) + pow(omega, 2)*y",
        "variables": [
          "d",
          "dx",
          "omega",
          "y"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "y \\omega^{2} + \\frac{d^{2}}{d x^{2}} y",
      "chartScript": {
        "script": "pow(d, 2)*y/pow(dx, 2) + pow(omega, 2)*y",
        "variables": [
          "d",
          "dx",
          "omega",
          "y"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__deriv_3",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "x",
      "subexpr": "\\frac{d^{2}}{d x^{2}} y",
      "chartScript": {
        "script": "pow(d, 2)*y/pow(dx, 2)",
        "variables": [
          "d",
          "dx",
          "y"
        ]
      }
    },
    {
      "id": "__multiply_4",
      "type": "operator",
      "op": "multiply",
      "subexpr": "y \\omega^{2}",
      "chartScript": {
        "script": "pow(omega, 2)*y",
        "variables": [
          "omega",
          "y"
        ]
      }
    },
    {
      "id": "__power_5",
      "type": "operator",
      "op": "power",
      "exponent": "2",
      "subexpr": "\\omega^{2}",
      "chartScript": {
        "script": "pow(omega, 2)",
        "variables": [
          "omega"
        ]
      }
    },
    {
      "id": "omega",
      "type": "scalar",
      "latex": "\\omega",
      "subexpr": "\\omega",
      "chartScript": {
        "script": "omega",
        "variables": [
          "omega"
        ]
      }
    },
    {
      "id": "__num_6",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "y",
      "to": "__deriv_3"
    },
    {
      "from": "x",
      "to": "__deriv_3",
      "role": "wrt"
    },
    {
      "from": "__deriv_3",
      "to": "__add_2"
    },
    {
      "from": "omega",
      "to": "__power_5"
    },
    {
      "from": "__power_5",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_4",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__equals_1"
    },
    {
      "from": "__num_6",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "ODE",
    "order": 2,
    "dependent_variables": [
      "y"
    ],
    "independent_variables": [
      "x"
    ],
    "sympy_hints": [
      "nth_linear_constant_coeff_homogeneous",
      "2nd_power_series_ordinary",
      "2nd_nonlinear_autonomous_conserved"
    ],
    "linear": true,
    "homogeneous": true,
    "constant_coefficients": true
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  y["$y$"]:::scalar
  x["$x$"]:::scalar
  __deriv_3(("$\dfrac{d^{2}}{d x^{2}}$")):::operator
  __multiply_4(("$\times$")):::operator
  __power_5(("${(\cdot)}^{2}$")):::operator
  omega["$\omega$"]:::scalar
  __num_6["$0$"]:::number
  y --> __deriv_3
  x -->|wrt| __deriv_3
  __deriv_3 --> __add_2
  omega --> __power_5
  __power_5 --> __multiply_4
  y --> __multiply_4
  __multiply_4 --> __add_2
  __add_2 --> __equals_1
  __num_6 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
Click D3 to render
damped_oscillator
$$m \ddot{x} + c \dot{x} + k x = 0$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  __add_3(("$+$")):::operator
  __multiply_4(("$\times$")):::operator
  m["$m$"]:::scalar
  x["$x$"]:::scalar
  t["$t$"]:::scalar
  __deriv_5(("$\dfrac{d}{d t}$")):::operator
  __multiply_6(("$\times$")):::operator
  c["$c$"]:::scalar
  __deriv_7(("$\dfrac{d}{d t}$")):::operator
  __multiply_8(("$\times$")):::operator
  k["$k$"]:::scalar
  __num_9["$0$"]:::number
  m --> __multiply_4
  x --> __deriv_5
  t -->|wrt| __deriv_5
  __deriv_5 --> __multiply_4
  __multiply_4 --> __add_3
  c --> __multiply_6
  x --> __deriv_7
  t -->|wrt| __deriv_7
  __deriv_7 --> __multiply_6
  __multiply_6 --> __add_3
  __add_3 --> __add_2
  k --> __multiply_8
  x --> __multiply_8
  __multiply_8 --> __add_2
  __add_2 --> __equals_1
  __num_9 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#ef5350,stroke-width:3px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#ef5350,stroke-width:3px
  linkStyle 12 stroke:#ef5350,stroke-width:3px
  linkStyle 13 stroke:#aaa,stroke-width:2px
  linkStyle 14 stroke:#aaa,stroke-width:2px
  linkStyle 15 stroke:#aaa,stroke-width:2px
m \ddot{x} + c \dot{x} + k x = 0
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "m \\frac{d}{d t} \\frac{d}{d t} x + c \\frac{d}{d t} x + k x = 0",
      "chartScript": {
        "script": "k*x",
        "variables": [
          "k",
          "x"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "x k + m \\ddot{x} + c \\frac{d}{d t} x",
      "chartScript": {
        "script": "ddot*m*x + k*x",
        "variables": [
          "ddot",
          "k",
          "m",
          "x"
        ]
      }
    },
    {
      "id": "__add_3",
      "type": "operator",
      "op": "add",
      "subexpr": "m \\ddot{x} + c \\frac{d}{d t} x",
      "chartScript": {
        "script": "ddot*m*x",
        "variables": [
          "ddot",
          "m",
          "x"
        ]
      }
    },
    {
      "id": "__multiply_4",
      "type": "operator",
      "op": "multiply",
      "subexpr": "m \\ddot{x}",
      "chartScript": {
        "script": "ddot*m*x",
        "variables": [
          "ddot",
          "m",
          "x"
        ]
      }
    },
    {
      "id": "m",
      "type": "scalar",
      "latex": "m",
      "subexpr": "m",
      "chartScript": {
        "script": "m",
        "variables": [
          "m"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "t",
      "type": "scalar",
      "latex": "t",
      "subexpr": "t",
      "chartScript": {
        "script": "t",
        "variables": [
          "t"
        ]
      }
    },
    {
      "id": "__deriv_5",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "t",
      "subexpr": "\\ddot{x}",
      "chartScript": {
        "script": "ddot*x",
        "variables": [
          "ddot",
          "x"
        ]
      }
    },
    {
      "id": "__multiply_6",
      "type": "operator",
      "op": "multiply",
      "subexpr": "c \\frac{d}{d t} x",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__deriv_7",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "t",
      "subexpr": "\\frac{d}{d t} x",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__multiply_8",
      "type": "operator",
      "op": "multiply",
      "subexpr": "x k",
      "chartScript": {
        "script": "k*x",
        "variables": [
          "k",
          "x"
        ]
      }
    },
    {
      "id": "k",
      "type": "scalar",
      "latex": "k",
      "subexpr": "k",
      "chartScript": {
        "script": "k",
        "variables": [
          "k"
        ]
      }
    },
    {
      "id": "__num_9",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "m",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "__deriv_5"
    },
    {
      "from": "t",
      "to": "__deriv_5",
      "role": "wrt"
    },
    {
      "from": "__deriv_5",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_4",
      "to": "__add_3"
    },
    {
      "from": "c",
      "to": "__multiply_6",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "__deriv_7"
    },
    {
      "from": "t",
      "to": "__deriv_7",
      "role": "wrt"
    },
    {
      "from": "__deriv_7",
      "to": "__multiply_6",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_6",
      "to": "__add_3"
    },
    {
      "from": "__add_3",
      "to": "__add_2"
    },
    {
      "from": "k",
      "to": "__multiply_8",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "__multiply_8",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_8",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__equals_1"
    },
    {
      "from": "__num_9",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "ODE",
    "order": 2,
    "dependent_variables": [
      "x"
    ],
    "independent_variables": [
      "t"
    ],
    "sympy_hints": [
      "factorable",
      "nth_linear_constant_coeff_homogeneous",
      "2nd_power_series_ordinary"
    ],
    "linear": true,
    "homogeneous": true,
    "constant_coefficients": true
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  __add_3(("$+$")):::operator
  __multiply_4(("$\times$")):::operator
  m["$m$"]:::scalar
  x["$x$"]:::scalar
  t["$t$"]:::scalar
  __deriv_5(("$\dfrac{d}{d t}$")):::operator
  __multiply_6(("$\times$")):::operator
  c["$c$"]:::scalar
  __deriv_7(("$\dfrac{d}{d t}$")):::operator
  __multiply_8(("$\times$")):::operator
  k["$k$"]:::scalar
  __num_9["$0$"]:::number
  m --> __multiply_4
  x --> __deriv_5
  t -->|wrt| __deriv_5
  __deriv_5 --> __multiply_4
  __multiply_4 --> __add_3
  c --> __multiply_6
  x --> __deriv_7
  t -->|wrt| __deriv_7
  __deriv_7 --> __multiply_6
  __multiply_6 --> __add_3
  __add_3 --> __add_2
  k --> __multiply_8
  x --> __multiply_8
  __multiply_8 --> __add_2
  __add_2 --> __equals_1
  __num_9 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#ef5350,stroke-width:3px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#ef5350,stroke-width:3px
  linkStyle 12 stroke:#ef5350,stroke-width:3px
  linkStyle 13 stroke:#aaa,stroke-width:2px
  linkStyle 14 stroke:#aaa,stroke-width:2px
  linkStyle 15 stroke:#aaa,stroke-width:2px
Click D3 to render
system
$$\dot{x} = ax + by, \quad \dot{y} = cx + dy$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  c0___equals_1{"="}:::relation
  x["$x$"]:::scalar
  t["$t$"]:::scalar
  c0___deriv_2(("$\dfrac{d}{d t}$")):::operator
  c0___add_3(("$+$")):::operator
  c0___multiply_4(("$\times$")):::operator
  a["$a$"]:::scalar
  c0___multiply_5(("$\times$")):::operator
  b["$b$"]:::scalar
  y["$y$"]:::scalar
  c1___equals_1{"="}:::relation
  c1___deriv_2(("$\dfrac{d}{d t}$")):::operator
  c1___add_3(("$+$")):::operator
  c1___multiply_4(("$\times$")):::operator
  c["$c$"]:::scalar
  dy["$dy$"]:::scalar
  x --> c0___deriv_2
  t -->|wrt| c0___deriv_2
  c0___deriv_2 --> c0___equals_1
  a --> c0___multiply_4
  x --> c0___multiply_4
  c0___multiply_4 --> c0___add_3
  b --> c0___multiply_5
  y --> c0___multiply_5
  c0___multiply_5 --> c0___add_3
  c0___add_3 --> c0___equals_1
  y --> c1___deriv_2
  t -->|wrt| c1___deriv_2
  c1___deriv_2 --> c1___equals_1
  c --> c1___multiply_4
  x --> c1___multiply_4
  c1___multiply_4 --> c1___add_3
  dy --> c1___add_3
  c1___add_3 --> c1___equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#ef5350,stroke-width:3px
  linkStyle 7 stroke:#ef5350,stroke-width:3px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#aaa,stroke-width:2px
  linkStyle 13 stroke:#ef5350,stroke-width:3px
  linkStyle 14 stroke:#ef5350,stroke-width:3px
  linkStyle 15 stroke:#aaa,stroke-width:2px
  linkStyle 16 stroke:#aaa,stroke-width:2px
  linkStyle 17 stroke:#aaa,stroke-width:2px
\dot{x} = ax + by, \quad \dot{y} = cx + dy
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "c0___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\dot{x} = ax + by",
      "chartScript": {
        "script": "-a*x - b*y + dot*x",
        "variables": [
          "a",
          "b",
          "dot",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "t",
      "type": "scalar",
      "latex": "t",
      "subexpr": "t",
      "chartScript": {
        "script": "t",
        "variables": [
          "t"
        ]
      }
    },
    {
      "id": "c0___deriv_2",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "t",
      "subexpr": "\\dot{x}",
      "chartScript": {
        "script": "dot*x",
        "variables": [
          "dot",
          "x"
        ]
      }
    },
    {
      "id": "c0___add_3",
      "type": "operator",
      "op": "add",
      "subexpr": "a x + b y",
      "chartScript": {
        "script": "a*x + b*y",
        "variables": [
          "a",
          "b",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "c0___multiply_4",
      "type": "operator",
      "op": "multiply",
      "subexpr": "a x",
      "chartScript": {
        "script": "a*x",
        "variables": [
          "a",
          "x"
        ]
      }
    },
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "c0___multiply_5",
      "type": "operator",
      "op": "multiply",
      "subexpr": "b y",
      "chartScript": {
        "script": "b*y",
        "variables": [
          "b",
          "y"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c1___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\dot{y} = cx + dy",
      "chartScript": {
        "script": "-c*x + dot*y - dy",
        "variables": [
          "c",
          "dot",
          "dy",
          "x",
          "y"
        ]
      }
    },
    {
      "id": "c1___deriv_2",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "t",
      "subexpr": "\\dot{y}",
      "chartScript": {
        "script": "dot*y",
        "variables": [
          "dot",
          "y"
        ]
      }
    },
    {
      "id": "c1___add_3",
      "type": "operator",
      "op": "add",
      "subexpr": "c x + dy",
      "chartScript": {
        "script": "c*x + dy",
        "variables": [
          "c",
          "dy",
          "x"
        ]
      }
    },
    {
      "id": "c1___multiply_4",
      "type": "operator",
      "op": "multiply",
      "subexpr": "c x",
      "chartScript": {
        "script": "c*x",
        "variables": [
          "c",
          "x"
        ]
      }
    },
    {
      "id": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "dy",
      "type": "scalar",
      "latex": "dy",
      "subexpr": "dy",
      "chartScript": {
        "script": "dy",
        "variables": [
          "dy"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "c0___deriv_2"
    },
    {
      "from": "t",
      "to": "c0___deriv_2",
      "role": "wrt"
    },
    {
      "from": "c0___deriv_2",
      "to": "c0___equals_1"
    },
    {
      "from": "a",
      "to": "c0___multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "c0___multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "c0___multiply_4",
      "to": "c0___add_3"
    },
    {
      "from": "b",
      "to": "c0___multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "c0___multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "c0___multiply_5",
      "to": "c0___add_3"
    },
    {
      "from": "c0___add_3",
      "to": "c0___equals_1"
    },
    {
      "from": "y",
      "to": "c1___deriv_2"
    },
    {
      "from": "t",
      "to": "c1___deriv_2",
      "role": "wrt"
    },
    {
      "from": "c1___deriv_2",
      "to": "c1___equals_1"
    },
    {
      "from": "c",
      "to": "c1___multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "c1___multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "c1___multiply_4",
      "to": "c1___add_3"
    },
    {
      "from": "dy",
      "to": "c1___add_3"
    },
    {
      "from": "c1___add_3",
      "to": "c1___equals_1"
    }
  ],
  "classification": {
    "kind": "statements",
    "count": 2,
    "clauses": [
      {
        "kind": "ODE",
        "order": 1,
        "dependent_variables": [
          "x"
        ],
        "independent_variables": [
          "t"
        ],
        "sympy_hints": [
          "separable",
          "1st_exact",
          "1st_linear",
          "Bernoulli",
          "almost_linear",
          "1st_power_series",
          "lie_group",
          "nth_linear_constant_coeff_undetermined_coefficients",
          "nth_linear_constant_coeff_variation_of_parameters"
        ],
        "linear": true,
        "homogeneous": false,
        "constant_coefficients": true
      },
      {
        "kind": "ODE",
        "order": 1,
        "dependent_variables": [
          "y"
        ],
        "independent_variables": [
          "t"
        ],
        "sympy_hints": [
          "nth_algebraic",
          "separable",
          "1st_exact",
          "1st_linear",
          "Bernoulli",
          "1st_power_series",
          "lie_group",
          "nth_linear_constant_coeff_undetermined_coefficients",
          "nth_linear_euler_eq_nonhomogeneous_undetermined_coefficients",
          "nth_linear_constant_coeff_variation_of_parameters",
          "nth_linear_euler_eq_nonhomogeneous_variation_of_parameters"
        ],
        "linear": true,
        "homogeneous": true,
        "constant_coefficients": true
      }
    ]
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  c0___equals_1{"="}:::relation
  x["$x$"]:::scalar
  t["$t$"]:::scalar
  c0___deriv_2(("$\dfrac{d}{d t}$")):::operator
  c0___add_3(("$+$")):::operator
  c0___multiply_4(("$\times$")):::operator
  a["$a$"]:::scalar
  c0___multiply_5(("$\times$")):::operator
  b["$b$"]:::scalar
  y["$y$"]:::scalar
  c1___equals_1{"="}:::relation
  c1___deriv_2(("$\dfrac{d}{d t}$")):::operator
  c1___add_3(("$+$")):::operator
  c1___multiply_4(("$\times$")):::operator
  c["$c$"]:::scalar
  dy["$dy$"]:::scalar
  x --> c0___deriv_2
  t -->|wrt| c0___deriv_2
  c0___deriv_2 --> c0___equals_1
  a --> c0___multiply_4
  x --> c0___multiply_4
  c0___multiply_4 --> c0___add_3
  b --> c0___multiply_5
  y --> c0___multiply_5
  c0___multiply_5 --> c0___add_3
  c0___add_3 --> c0___equals_1
  y --> c1___deriv_2
  t -->|wrt| c1___deriv_2
  c1___deriv_2 --> c1___equals_1
  c --> c1___multiply_4
  x --> c1___multiply_4
  c1___multiply_4 --> c1___add_3
  dy --> c1___add_3
  c1___add_3 --> c1___equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#ef5350,stroke-width:3px
  linkStyle 7 stroke:#ef5350,stroke-width:3px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#aaa,stroke-width:2px
  linkStyle 13 stroke:#ef5350,stroke-width:3px
  linkStyle 14 stroke:#ef5350,stroke-width:3px
  linkStyle 15 stroke:#aaa,stroke-width:2px
  linkStyle 16 stroke:#aaa,stroke-width:2px
  linkStyle 17 stroke:#aaa,stroke-width:2px
Click D3 to render
initial_condition
$$y'' + y = 0, \quad y(0) = 1, \quad y'(0) = 0$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  c0___equals_1{"="}:::relation
  c0___add_2(("$+$")):::operator
  y["$y''$"]:::scalar
  y_2["$y$"]:::scalar
  c0___num_3["$0$"]:::number
  c1___equals_1{"="}:::relation
  c1___y_2{{"$y(\cdot)$"}}:::function
  c1___num_3["$0$"]:::number
  c1___num_4["$1$"]:::number
  c2___equals_1{"="}:::relation
  c2___y_2{{"$y'(\cdot)$"}}:::function
  c2___num_3["$0$"]:::number
  c2___num_4["$0$"]:::number
  y --> c0___add_2
  y_2 --> c0___add_2
  c0___add_2 --> c0___equals_1
  c0___num_3 --> c0___equals_1
  c1___num_3 --> c1___y_2
  c1___y_2 --> c1___equals_1
  c1___num_4 --> c1___equals_1
  c2___num_3 --> c2___y_2
  c2___y_2 --> c2___equals_1
  c2___num_4 --> c2___equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
y'' + y = 0, \quad y(0) = 1, \quad y'(0) = 0
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "c0___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "y'' + y = 0",
      "chartScript": {
        "script": "y + y_dprime",
        "variables": [
          "y",
          "y_dprime"
        ]
      }
    },
    {
      "id": "c0___add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "y + y''",
      "chartScript": {
        "script": "y + y_dprime",
        "variables": [
          "y",
          "y_dprime"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y''",
      "subexpr": "y''",
      "chartScript": {
        "script": "y_dprime",
        "variables": [
          "y_dprime"
        ]
      }
    },
    {
      "id": "y_2",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c0___num_3",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "c1___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "y(0) = 1",
      "chartScript": {
        "script": "y(0) - 1",
        "variables": []
      }
    },
    {
      "id": "c1___y_2",
      "type": "function",
      "op": "y",
      "subexpr": "y{\\left(0 \\right)}",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "c1___num_3",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "c1___num_4",
      "type": "number",
      "label": "1",
      "subexpr": "1",
      "chartScript": {
        "script": "1",
        "variables": []
      }
    },
    {
      "id": "c2___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "y'(0) = 0",
      "chartScript": {
        "script": "y_prime(0)",
        "variables": []
      }
    },
    {
      "id": "c2___y_2",
      "type": "function",
      "op": "y'",
      "subexpr": "\\operatorname{y'}{\\left(0 \\right)}",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "c2___num_3",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "c2___num_4",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "y",
      "to": "c0___add_2"
    },
    {
      "from": "y_2",
      "to": "c0___add_2"
    },
    {
      "from": "c0___add_2",
      "to": "c0___equals_1"
    },
    {
      "from": "c0___num_3",
      "to": "c0___equals_1"
    },
    {
      "from": "c1___num_3",
      "to": "c1___y_2"
    },
    {
      "from": "c1___y_2",
      "to": "c1___equals_1"
    },
    {
      "from": "c1___num_4",
      "to": "c1___equals_1"
    },
    {
      "from": "c2___num_3",
      "to": "c2___y_2"
    },
    {
      "from": "c2___y_2",
      "to": "c2___equals_1"
    },
    {
      "from": "c2___num_4",
      "to": "c2___equals_1"
    }
  ],
  "classification": {
    "kind": "statements",
    "count": 3,
    "clauses": [
      {
        "kind": "algebraic"
      },
      {
        "kind": "algebraic"
      },
      {
        "kind": "algebraic"
      }
    ]
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  c0___equals_1{"="}:::relation
  c0___add_2(("$+$")):::operator
  y["$y''$"]:::scalar
  y_2["$y$"]:::scalar
  c0___num_3["$0$"]:::number
  c1___equals_1{"="}:::relation
  c1___y_2{{"$y(\cdot)$"}}:::function
  c1___num_3["$0$"]:::number
  c1___num_4["$1$"]:::number
  c2___equals_1{"="}:::relation
  c2___y_2{{"$y'(\cdot)$"}}:::function
  c2___num_3["$0$"]:::number
  c2___num_4["$0$"]:::number
  y --> c0___add_2
  y_2 --> c0___add_2
  c0___add_2 --> c0___equals_1
  c0___num_3 --> c0___equals_1
  c1___num_3 --> c1___y_2
  c1___y_2 --> c1___equals_1
  c1___num_4 --> c1___equals_1
  c2___num_3 --> c2___y_2
  c2___y_2 --> c2___equals_1
  c2___num_4 --> c2___equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
Click D3 to render
laplace_transform
$$s Y(s) - y(0) = \mathcal{L}\{f(t)\}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  __multiply_3(("$\times$")):::operator
  s["$s$"]:::scalar
  __Y_4{{"$Y(\cdot)$"}}:::function
  __negation_5@{ shape: "flip-tri", label: "$-$" }
  __y_6{{"$y(\cdot)$"}}:::function
  __num_7["$0$"]:::number
  __multiply_8(("$\times$")):::operator
  L["$L$"]:::scalar
  __f_9{{"$f(\cdot)$"}}:::function
  t["$t$"]:::scalar
  class __negation_5 operator
  s --> __multiply_3
  s --> __Y_4
  __Y_4 --> __multiply_3
  __multiply_3 --> __add_2
  __num_7 --> __y_6
  __y_6 --> __negation_5
  __negation_5 --> __add_2
  __add_2 --> __equals_1
  L --> __multiply_8
  t --> __f_9
  __f_9 --> __multiply_8
  __multiply_8 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#ef5350,stroke-width:3px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#ef5350,stroke-width:3px
  linkStyle 11 stroke:#aaa,stroke-width:2px
s Y(s) - y(0) = \mathcal{L}\{f(t)\}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "s Y(s) - y(0) = L\\{f(t)\\}",
      "chartScript": {
        "script": "-L*f(t) + s*Y(s) - y(0)",
        "variables": [
          "L",
          "s",
          "t"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "s Y{\\left(s \\right)} - y{\\left(0 \\right)}",
      "chartScript": {
        "script": "Y*pow(s, 2)",
        "variables": [
          "Y",
          "s"
        ]
      }
    },
    {
      "id": "__multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "s Y{\\left(s \\right)}",
      "chartScript": {
        "script": "Y*pow(s, 2)",
        "variables": [
          "Y",
          "s"
        ]
      }
    },
    {
      "id": "s",
      "type": "scalar",
      "latex": "s",
      "subexpr": "s",
      "chartScript": {
        "script": "s",
        "variables": [
          "s"
        ]
      }
    },
    {
      "id": "__Y_4",
      "type": "function",
      "op": "Y",
      "subexpr": "Y{\\left(s \\right)}",
      "chartScript": {
        "script": "Y*s",
        "variables": [
          "Y",
          "s"
        ]
      }
    },
    {
      "id": "__negation_5",
      "type": "operator",
      "op": "negation",
      "subexpr": "-y{\\left(0 \\right)}",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__y_6",
      "type": "function",
      "op": "y",
      "subexpr": "y{\\left(0 \\right)}",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__num_7",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__multiply_8",
      "type": "operator",
      "op": "multiply",
      "subexpr": "L f{\\left(t \\right)}",
      "chartScript": {
        "script": "L*f*t",
        "variables": [
          "L",
          "f",
          "t"
        ]
      }
    },
    {
      "id": "L",
      "type": "scalar",
      "latex": "L",
      "subexpr": "L",
      "chartScript": {
        "script": "L",
        "variables": [
          "L"
        ]
      }
    },
    {
      "id": "__f_9",
      "type": "function",
      "op": "f",
      "subexpr": "f{\\left(t \\right)}",
      "chartScript": {
        "script": "f*t",
        "variables": [
          "f",
          "t"
        ]
      }
    },
    {
      "id": "t",
      "type": "scalar",
      "latex": "t",
      "subexpr": "t",
      "chartScript": {
        "script": "t",
        "variables": [
          "t"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "s",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "s",
      "to": "__Y_4"
    },
    {
      "from": "__Y_4",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_3",
      "to": "__add_2"
    },
    {
      "from": "__num_7",
      "to": "__y_6"
    },
    {
      "from": "__y_6",
      "to": "__negation_5"
    },
    {
      "from": "__negation_5",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__equals_1"
    },
    {
      "from": "L",
      "to": "__multiply_8",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "t",
      "to": "__f_9"
    },
    {
      "from": "__f_9",
      "to": "__multiply_8",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_8",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __add_2(("$+$")):::operator
  __multiply_3(("$\times$")):::operator
  s["$s$"]:::scalar
  __Y_4{{"$Y(\cdot)$"}}:::function
  __negation_5@{ shape: "flip-tri", label: "$-$" }
  __y_6{{"$y(\cdot)$"}}:::function
  __num_7["$0$"]:::number
  __multiply_8(("$\times$")):::operator
  L["$L$"]:::scalar
  __f_9{{"$f(\cdot)$"}}:::function
  t["$t$"]:::scalar
  class __negation_5 operator
  s --> __multiply_3
  s --> __Y_4
  __Y_4 --> __multiply_3
  __multiply_3 --> __add_2
  __num_7 --> __y_6
  __y_6 --> __negation_5
  __negation_5 --> __add_2
  __add_2 --> __equals_1
  L --> __multiply_8
  t --> __f_9
  __f_9 --> __multiply_8
  __multiply_8 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#ef5350,stroke-width:3px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#ef5350,stroke-width:3px
  linkStyle 11 stroke:#aaa,stroke-width:2px
Click D3 to render
variation_params
$$y_p = u_1 y_1 + u_2 y_2$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  y_p["$y_{p}$"]:::scalar
  __add_2(("$+$")):::operator
  __multiply_3(("$\times$")):::operator
  u_1["$u_{1}$"]:::scalar
  y_1["$y_{1}$"]:::scalar
  __multiply_4(("$\times$")):::operator
  u_2["$u_{2}$"]:::scalar
  y_2["$y_{2}$"]:::scalar
  y_p --> __equals_1
  u_1 --> __multiply_3
  y_1 --> __multiply_3
  __multiply_3 --> __add_2
  u_2 --> __multiply_4
  y_2 --> __multiply_4
  __multiply_4 --> __add_2
  __add_2 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
y_p = u_1 y_1 + u_2 y_2
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "y_p = u_1 y_1 + u_2 y_2",
      "chartScript": {
        "script": "-u_1*y_1 - u_2*y_2 + y_p",
        "variables": [
          "u_1",
          "u_2",
          "y_1",
          "y_2",
          "y_p"
        ]
      }
    },
    {
      "id": "y_p",
      "type": "scalar",
      "latex": "y_{p}",
      "subexpr": "y_{p}",
      "chartScript": {
        "script": "y_p",
        "variables": [
          "y_p"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "u_{1} y_{1} + u_{2} y_{2}",
      "chartScript": {
        "script": "u_1*y_1 + u_2*y_2",
        "variables": [
          "u_1",
          "u_2",
          "y_1",
          "y_2"
        ]
      }
    },
    {
      "id": "__multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "u_{1} y_{1}",
      "chartScript": {
        "script": "u_1*y_1",
        "variables": [
          "u_1",
          "y_1"
        ]
      }
    },
    {
      "id": "u_1",
      "type": "scalar",
      "latex": "u_{1}",
      "subexpr": "u_{1}",
      "chartScript": {
        "script": "u_1",
        "variables": [
          "u_1"
        ]
      }
    },
    {
      "id": "y_1",
      "type": "scalar",
      "latex": "y_{1}",
      "subexpr": "y_{1}",
      "chartScript": {
        "script": "y_1",
        "variables": [
          "y_1"
        ]
      }
    },
    {
      "id": "__multiply_4",
      "type": "operator",
      "op": "multiply",
      "subexpr": "u_{2} y_{2}",
      "chartScript": {
        "script": "u_2*y_2",
        "variables": [
          "u_2",
          "y_2"
        ]
      }
    },
    {
      "id": "u_2",
      "type": "scalar",
      "latex": "u_{2}",
      "subexpr": "u_{2}",
      "chartScript": {
        "script": "u_2",
        "variables": [
          "u_2"
        ]
      }
    },
    {
      "id": "y_2",
      "type": "scalar",
      "latex": "y_{2}",
      "subexpr": "y_{2}",
      "chartScript": {
        "script": "y_2",
        "variables": [
          "y_2"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "y_p",
      "to": "__equals_1"
    },
    {
      "from": "u_1",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y_1",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_3",
      "to": "__add_2"
    },
    {
      "from": "u_2",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y_2",
      "to": "__multiply_4",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_4",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  y_p["$y_{p}$"]:::scalar
  __add_2(("$+$")):::operator
  __multiply_3(("$\times$")):::operator
  u_1["$u_{1}$"]:::scalar
  y_1["$y_{1}$"]:::scalar
  __multiply_4(("$\times$")):::operator
  u_2["$u_{2}$"]:::scalar
  y_2["$y_{2}$"]:::scalar
  y_p --> __equals_1
  u_1 --> __multiply_3
  y_1 --> __multiply_3
  __multiply_3 --> __add_2
  u_2 --> __multiply_4
  y_2 --> __multiply_4
  __multiply_4 --> __add_2
  __add_2 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
Click D3 to render
10 rendered, 0 errors out of 10 expressions