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
C["$C$"]:::scalar
__multiply_2(("$\times$")):::operator
A["$A$"]:::scalar
B["$B$"]:::scalar
C --> __equals_1
A --> __multiply_2
B --> __multiply_2
__multiply_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
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "C = A B",
"chartScript": {
"script": "-A*B + C",
"variables": [
"A",
"B",
"C"
]
}
},
{
"id": "C",
"type": "scalar",
"latex": "C",
"subexpr": "C",
"chartScript": {
"script": "C",
"variables": [
"C"
]
}
},
{
"id": "__multiply_2",
"type": "operator",
"op": "multiply",
"subexpr": "A B",
"chartScript": {
"script": "A*B",
"variables": [
"A",
"B"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "B",
"type": "scalar",
"latex": "B",
"subexpr": "B",
"chartScript": {
"script": "B",
"variables": [
"B"
]
}
}
],
"edges": [
{
"from": "C",
"to": "__equals_1"
},
{
"from": "A",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "B",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_2",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
C["$C$"]:::scalar
__multiply_2(("$\times$")):::operator
A["$A$"]:::scalar
B["$B$"]:::scalar
C --> __equals_1
A --> __multiply_2
B --> __multiply_2
__multiply_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
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
__det_2{{"$\det(\cdot)$"}}:::function
A["$A$"]:::scalar
__add_3(("$+$")):::operator
__multiply_4(("$\times$")):::operator
a["$a$"]:::scalar
d["$d$"]:::scalar
__negation_5@{ shape: "flip-tri", label: "$-$" }
__multiply_6(("$\times$")):::operator
b["$b$"]:::scalar
c["$c$"]:::scalar
class __negation_5 operator
A --> __det_2
__det_2 --> __equals_1
a --> __multiply_4
d --> __multiply_4
__multiply_4 --> __add_3
b --> __multiply_6
c --> __multiply_6
__multiply_6 --> __negation_5
__negation_5 --> __add_3
__add_3 --> __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:#ef5350,stroke-width:3px
linkStyle 6 stroke:#ef5350,stroke-width:3px
linkStyle 7 stroke:#aaa,stroke-width:2px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#aaa,stroke-width:2px
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "\\det(A) = ad - bc",
"chartScript": {
"script": "-a*d + b*c + det(A)",
"variables": [
"A",
"a",
"b",
"c",
"d"
]
}
},
{
"id": "__det_2",
"type": "function",
"latex": "\\det",
"op": "det",
"subexpr": "\\operatorname{det}{\\left(A \\right)}",
"chartScript": {
"script": "A*de*operatorname*t",
"variables": [
"A",
"de",
"operatorname",
"t"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "__add_3",
"type": "operator",
"op": "add",
"subexpr": "d a - b c",
"chartScript": {
"script": "-b*c + da",
"variables": [
"b",
"c",
"da"
]
}
},
{
"id": "__multiply_4",
"type": "operator",
"op": "multiply",
"subexpr": "d a",
"chartScript": {
"script": "da",
"variables": [
"da"
]
}
},
{
"id": "a",
"type": "scalar",
"latex": "a",
"subexpr": "a",
"chartScript": {
"script": "a",
"variables": [
"a"
]
}
},
{
"id": "d",
"type": "scalar",
"latex": "d",
"subexpr": "d",
"chartScript": {
"script": "d",
"variables": [
"d"
]
}
},
{
"id": "__negation_5",
"type": "operator",
"op": "negation",
"subexpr": "-b c",
"chartScript": {
"script": "-b*c",
"variables": [
"b",
"c"
]
}
},
{
"id": "__multiply_6",
"type": "operator",
"op": "multiply",
"subexpr": "b c",
"chartScript": {
"script": "b*c",
"variables": [
"b",
"c"
]
}
},
{
"id": "b",
"type": "scalar",
"latex": "b",
"subexpr": "b",
"chartScript": {
"script": "b",
"variables": [
"b"
]
}
},
{
"id": "c",
"type": "scalar",
"latex": "c",
"subexpr": "c",
"chartScript": {
"script": "c",
"variables": [
"c"
]
}
}
],
"edges": [
{
"from": "A",
"to": "__det_2"
},
{
"from": "__det_2",
"to": "__equals_1"
},
{
"from": "a",
"to": "__multiply_4",
"semantic": "direct",
"weight": 1.0
},
{
"from": "d",
"to": "__multiply_4",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_4",
"to": "__add_3"
},
{
"from": "b",
"to": "__multiply_6",
"semantic": "direct",
"weight": 1.0
},
{
"from": "c",
"to": "__multiply_6",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_6",
"to": "__negation_5"
},
{
"from": "__negation_5",
"to": "__add_3"
},
{
"from": "__add_3",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
__det_2{{"$\det(\cdot)$"}}:::function
A["$A$"]:::scalar
__add_3(("$+$")):::operator
__multiply_4(("$\times$")):::operator
a["$a$"]:::scalar
d["$d$"]:::scalar
__negation_5@{ shape: "flip-tri", label: "$-$" }
__multiply_6(("$\times$")):::operator
b["$b$"]:::scalar
c["$c$"]:::scalar
class __negation_5 operator
A --> __det_2
__det_2 --> __equals_1
a --> __multiply_4
d --> __multiply_4
__multiply_4 --> __add_3
b --> __multiply_6
c --> __multiply_6
__multiply_6 --> __negation_5
__negation_5 --> __add_3
__add_3 --> __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:#ef5350,stroke-width:3px
linkStyle 6 stroke:#ef5350,stroke-width:3px
linkStyle 7 stroke:#aaa,stroke-width:2px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#aaa,stroke-width:2px
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
__multiply_2(("$\times$")):::operator
A["$A$"]:::scalar
v["$\vec{v}$"]:::vector
__multiply_3(("$\times$")):::operator
lambda["$\lambda$"]:::scalar
A --> __multiply_2
v --> __multiply_2
__multiply_2 --> __equals_1
lambda --> __multiply_3
v --> __multiply_3
__multiply_3 --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#ef5350,stroke-width:3px
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
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "A \\vec{v} = \\lambda \\vec{v}",
"chartScript": {
"script": "A*v*vec - lambda*v*vec",
"variables": [
"A",
"lambda",
"v",
"vec"
]
}
},
{
"id": "__multiply_2",
"type": "operator",
"op": "multiply",
"subexpr": "A \\vec{v}",
"chartScript": {
"script": "A*v*vec",
"variables": [
"A",
"v",
"vec"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "v",
"type": "vector",
"latex": "\\vec{v}",
"subexpr": "\\vec{v}",
"chartScript": {
"script": "v*vec",
"variables": [
"v",
"vec"
]
}
},
{
"id": "__multiply_3",
"type": "operator",
"op": "multiply",
"subexpr": "\\vec{v} \\lambda",
"chartScript": {
"script": "lambda*v*vec",
"variables": [
"lambda",
"v",
"vec"
]
}
},
{
"id": "lambda",
"type": "scalar",
"latex": "\\lambda",
"subexpr": "\\lambda",
"chartScript": {
"script": "lambda",
"variables": [
"lambda"
]
}
}
],
"edges": [
{
"from": "A",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "v",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_2",
"to": "__equals_1"
},
{
"from": "lambda",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "v",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_3",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
__multiply_2(("$\times$")):::operator
A["$A$"]:::scalar
v["$\vec{v}$"]:::vector
__multiply_3(("$\times$")):::operator
lambda["$\lambda$"]:::scalar
A --> __multiply_2
v --> __multiply_2
__multiply_2 --> __equals_1
lambda --> __multiply_3
v --> __multiply_3
__multiply_3 --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#ef5350,stroke-width:3px
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
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
__multiply_2(("$\times$")):::operator
A["$A$"]:::scalar
__power_3(("$\dfrac{1}{(\cdot)}$")):::operator
I["$I$"]:::scalar
A --> __multiply_2
A --> __power_3
__power_3 -.-> __multiply_2
__multiply_2 --> __equals_1
I --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#aaa,stroke-width:2px
linkStyle 2 stroke:#42a5f5,stroke-width:1px
linkStyle 3 stroke:#aaa,stroke-width:2px
linkStyle 4 stroke:#aaa,stroke-width:2px
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "A A^{-1} = I",
"chartScript": {
"script": "1 - I",
"variables": [
"I"
]
}
},
{
"id": "__multiply_2",
"type": "operator",
"op": "multiply",
"subexpr": "A \\frac{1}{A}",
"chartScript": {
"script": "1",
"variables": []
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "__power_3",
"type": "operator",
"latex": "\\dfrac{1}{(\\cdot)}",
"op": "power",
"exponent": "-1",
"subexpr": "\\frac{1}{A}",
"chartScript": {
"script": "1/A",
"variables": [
"A"
]
}
},
{
"id": "I",
"type": "scalar",
"latex": "I",
"subexpr": "I",
"chartScript": {
"script": "I",
"variables": [
"I"
]
}
}
],
"edges": [
{
"from": "A",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "A",
"to": "__power_3"
},
{
"from": "__power_3",
"to": "__multiply_2"
},
{
"from": "__multiply_2",
"to": "__equals_1"
},
{
"from": "I",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
__multiply_2(("$\times$")):::operator
A["$A$"]:::scalar
__power_3(("$\dfrac{1}{(\cdot)}$")):::operator
I["$I$"]:::scalar
A --> __multiply_2
A --> __power_3
__power_3 -.-> __multiply_2
__multiply_2 --> __equals_1
I --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#aaa,stroke-width:2px
linkStyle 2 stroke:#42a5f5,stroke-width:1px
linkStyle 3 stroke:#aaa,stroke-width:2px
linkStyle 4 stroke:#aaa,stroke-width:2px
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
__power_2(("$(\cdot)^{\cdot}$")):::operator
__multiply_3(("$\times$")):::operator
A["$A$"]:::scalar
B["$B$"]:::scalar
T["$T$"]:::scalar
__multiply_4(("$\times$")):::operator
__power_5(("$(\cdot)^{\cdot}$")):::operator
__power_6(("$(\cdot)^{\cdot}$")):::operator
A --> __multiply_3
B --> __multiply_3
__multiply_3 --> __power_2
T -->|exp| __power_2
__power_2 --> __equals_1
B --> __power_5
T -->|exp| __power_5
__power_5 --> __multiply_4
A --> __power_6
T -->|exp| __power_6
__power_6 --> __multiply_4
__multiply_4 --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#ef5350,stroke-width:3px
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:#ef5350,stroke-width:3px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#aaa,stroke-width:2px
linkStyle 10 stroke:#ef5350,stroke-width:3px
linkStyle 11 stroke:#aaa,stroke-width:2px
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "(AB)^T = B^T A^T",
"chartScript": {
"script": "-pow(A, T)*pow(B, T) + pow(A*B, T)",
"variables": [
"A",
"B",
"T"
]
}
},
{
"id": "__power_2",
"type": "operator",
"op": "power",
"subexpr": "\\left(A B\\right)^{T}",
"chartScript": {
"script": "pow(A*B, T)",
"variables": [
"A",
"B",
"T"
]
}
},
{
"id": "__multiply_3",
"type": "operator",
"op": "multiply",
"subexpr": "A B",
"chartScript": {
"script": "A*B",
"variables": [
"A",
"B"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "B",
"type": "scalar",
"latex": "B",
"subexpr": "B",
"chartScript": {
"script": "B",
"variables": [
"B"
]
}
},
{
"id": "T",
"type": "scalar",
"latex": "T",
"subexpr": "T",
"chartScript": {
"script": "T",
"variables": [
"T"
]
}
},
{
"id": "__multiply_4",
"type": "operator",
"op": "multiply",
"subexpr": "A^{T} B^{T}",
"chartScript": {
"script": "pow(A, T)*pow(B, T)",
"variables": [
"A",
"B",
"T"
]
}
},
{
"id": "__power_5",
"type": "operator",
"op": "power",
"subexpr": "B^{T}",
"chartScript": {
"script": "pow(B, T)",
"variables": [
"B",
"T"
]
}
},
{
"id": "__power_6",
"type": "operator",
"op": "power",
"subexpr": "A^{T}",
"chartScript": {
"script": "pow(A, T)",
"variables": [
"A",
"T"
]
}
}
],
"edges": [
{
"from": "A",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "B",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_3",
"to": "__power_2"
},
{
"from": "T",
"to": "__power_2",
"role": "exp"
},
{
"from": "__power_2",
"to": "__equals_1"
},
{
"from": "B",
"to": "__power_5"
},
{
"from": "T",
"to": "__power_5",
"role": "exp"
},
{
"from": "__power_5",
"to": "__multiply_4",
"semantic": "direct",
"weight": 1.0
},
{
"from": "A",
"to": "__power_6"
},
{
"from": "T",
"to": "__power_6",
"role": "exp"
},
{
"from": "__power_6",
"to": "__multiply_4",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_4",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
__power_2(("$(\cdot)^{\cdot}$")):::operator
__multiply_3(("$\times$")):::operator
A["$A$"]:::scalar
B["$B$"]:::scalar
T["$T$"]:::scalar
__multiply_4(("$\times$")):::operator
__power_5(("$(\cdot)^{\cdot}$")):::operator
__power_6(("$(\cdot)^{\cdot}$")):::operator
A --> __multiply_3
B --> __multiply_3
__multiply_3 --> __power_2
T -->|exp| __power_2
__power_2 --> __equals_1
B --> __power_5
T -->|exp| __power_5
__power_5 --> __multiply_4
A --> __power_6
T -->|exp| __power_6
__power_6 --> __multiply_4
__multiply_4 --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#ef5350,stroke-width:3px
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:#ef5350,stroke-width:3px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#aaa,stroke-width:2px
linkStyle 10 stroke:#ef5350,stroke-width:3px
linkStyle 11 stroke:#aaa,stroke-width:2px
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
__det_2{{"$\det(\cdot)$"}}:::function
__add_3(("$+$")):::operator
A["$A$"]:::scalar
__negation_4@{ shape: "flip-tri", label: "$-$" }
__multiply_5(("$\times$")):::operator
lambda["$\lambda$"]:::scalar
I["$I$"]:::scalar
__num_6["$0$"]:::number
class __negation_4 operator
A --> __add_3
lambda --> __multiply_5
I --> __multiply_5
__multiply_5 --> __negation_4
__negation_4 --> __add_3
__add_3 --> __det_2
__det_2 --> __equals_1
__num_6 --> __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:#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
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "\\det(A - \\lambda I) = 0",
"chartScript": {
"script": "det(A - I*lambda)",
"variables": [
"A",
"I",
"lambda"
]
}
},
{
"id": "__det_2",
"type": "function",
"latex": "\\det",
"op": "det",
"subexpr": "\\operatorname{det}{\\left(A - I \\lambda \\right)}",
"chartScript": {
"script": "de*operatorname*t*(A - I*lambda)",
"variables": [
"A",
"I",
"de",
"lambda",
"operatorname",
"t"
]
}
},
{
"id": "__add_3",
"type": "operator",
"op": "add",
"subexpr": "A - \\lambda I",
"chartScript": {
"script": "A - I*lambda",
"variables": [
"A",
"I",
"lambda"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "__negation_4",
"type": "operator",
"op": "negation",
"subexpr": "-\\lambda I",
"chartScript": {
"script": "-I*lambda",
"variables": [
"I",
"lambda"
]
}
},
{
"id": "__multiply_5",
"type": "operator",
"op": "multiply",
"subexpr": "\\lambda I",
"chartScript": {
"script": "I*lambda",
"variables": [
"I",
"lambda"
]
}
},
{
"id": "lambda",
"type": "scalar",
"latex": "\\lambda",
"subexpr": "\\lambda",
"chartScript": {
"script": "lambda",
"variables": [
"lambda"
]
}
},
{
"id": "I",
"type": "scalar",
"latex": "I",
"subexpr": "I",
"chartScript": {
"script": "I",
"variables": [
"I"
]
}
},
{
"id": "__num_6",
"type": "number",
"label": "0",
"subexpr": "0",
"chartScript": {
"script": "0",
"variables": []
}
}
],
"edges": [
{
"from": "A",
"to": "__add_3"
},
{
"from": "lambda",
"to": "__multiply_5",
"semantic": "direct",
"weight": 1.0
},
{
"from": "I",
"to": "__multiply_5",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_5",
"to": "__negation_4"
},
{
"from": "__negation_4",
"to": "__add_3"
},
{
"from": "__add_3",
"to": "__det_2"
},
{
"from": "__det_2",
"to": "__equals_1"
},
{
"from": "__num_6",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
__det_2{{"$\det(\cdot)$"}}:::function
__add_3(("$+$")):::operator
A["$A$"]:::scalar
__negation_4@{ shape: "flip-tri", label: "$-$" }
__multiply_5(("$\times$")):::operator
lambda["$\lambda$"]:::scalar
I["$I$"]:::scalar
__num_6["$0$"]:::number
class __negation_4 operator
A --> __add_3
lambda --> __multiply_5
I --> __multiply_5
__multiply_5 --> __negation_4
__negation_4 --> __add_3
__add_3 --> __det_2
__det_2 --> __equals_1
__num_6 --> __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:#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
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
A["$A$"]:::scalar
__multiply_2(("$\times$")):::operator
U["$U$"]:::scalar
__multiply_3(("$\times$")):::operator
Sigma["$\Sigma$"]:::scalar
__power_4(("$(\cdot)^{\cdot}$")):::operator
V["$V$"]:::scalar
T["$T$"]:::scalar
A --> __equals_1
U --> __multiply_2
Sigma --> __multiply_3
V --> __power_4
T -->|exp| __power_4
__power_4 --> __multiply_3
__multiply_3 --> __multiply_2
__multiply_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:#aaa,stroke-width:2px
linkStyle 5 stroke:#ef5350,stroke-width:3px
linkStyle 6 stroke:#ef5350,stroke-width:3px
linkStyle 7 stroke:#aaa,stroke-width:2px
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "A = U \\Sigma V^T",
"chartScript": {
"script": "A - Sigma*U*pow(V, T)",
"variables": [
"A",
"Sigma",
"T",
"U",
"V"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "__multiply_2",
"type": "operator",
"op": "multiply",
"subexpr": "U \\Sigma V^{T}",
"chartScript": {
"script": "Sigma*U*pow(V, T)",
"variables": [
"Sigma",
"T",
"U",
"V"
]
}
},
{
"id": "U",
"type": "scalar",
"latex": "U",
"subexpr": "U",
"chartScript": {
"script": "U",
"variables": [
"U"
]
}
},
{
"id": "__multiply_3",
"type": "operator",
"op": "multiply",
"subexpr": "\\Sigma V^{T}",
"chartScript": {
"script": "Sigma*pow(V, T)",
"variables": [
"Sigma",
"T",
"V"
]
}
},
{
"id": "Sigma",
"type": "scalar",
"latex": "\\Sigma",
"subexpr": "\\Sigma",
"chartScript": {
"script": "Sigma",
"variables": [
"Sigma"
]
}
},
{
"id": "__power_4",
"type": "operator",
"op": "power",
"subexpr": "V^{T}",
"chartScript": {
"script": "pow(V, T)",
"variables": [
"T",
"V"
]
}
},
{
"id": "V",
"type": "scalar",
"latex": "V",
"subexpr": "V",
"chartScript": {
"script": "V",
"variables": [
"V"
]
}
},
{
"id": "T",
"type": "scalar",
"latex": "T",
"subexpr": "T",
"chartScript": {
"script": "T",
"variables": [
"T"
]
}
}
],
"edges": [
{
"from": "A",
"to": "__equals_1"
},
{
"from": "U",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "Sigma",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "V",
"to": "__power_4"
},
{
"from": "T",
"to": "__power_4",
"role": "exp"
},
{
"from": "__power_4",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_3",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_2",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
A["$A$"]:::scalar
__multiply_2(("$\times$")):::operator
U["$U$"]:::scalar
__multiply_3(("$\times$")):::operator
Sigma["$\Sigma$"]:::scalar
__power_4(("$(\cdot)^{\cdot}$")):::operator
V["$V$"]:::scalar
T["$T$"]:::scalar
A --> __equals_1
U --> __multiply_2
Sigma --> __multiply_3
V --> __power_4
T -->|exp| __power_4
__power_4 --> __multiply_3
__multiply_3 --> __multiply_2
__multiply_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:#aaa,stroke-width:2px
linkStyle 5 stroke:#ef5350,stroke-width:3px
linkStyle 6 stroke:#ef5350,stroke-width:3px
linkStyle 7 stroke:#aaa,stroke-width:2px
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
P["$P$"]:::scalar
__multiply_2(("$\times$")):::operator
__power_3(("$\dfrac{1}{(\cdot)}$")):::operator
__A_4{{"$A(\cdot)$"}}:::function
__multiply_5(("$\times$")):::operator
__power_6(("$(\cdot)^{\cdot}$")):::operator
A["$A$"]:::scalar
T["$T$"]:::scalar
__power_7(("$(\cdot)^{\cdot}$")):::operator
P --> __equals_1
A --> __power_6
T -->|exp| __power_6
__power_6 --> __multiply_5
A --> __multiply_5
__multiply_5 --> __A_4
__A_4 --> __power_3
__power_3 -.-> __multiply_2
A --> __power_7
T -->|exp| __power_7
__power_7 --> __multiply_2
__multiply_2 --> __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:#aaa,stroke-width:2px
linkStyle 7 stroke:#42a5f5,stroke-width:1px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#aaa,stroke-width:2px
linkStyle 10 stroke:#ef5350,stroke-width:3px
linkStyle 11 stroke:#aaa,stroke-width:2px
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "P = A(A^T A)^{-1} A^T",
"chartScript": {
"script": "-pow(A, T)/A(A*A**T) + P",
"variables": [
"A",
"P",
"T"
]
}
},
{
"id": "P",
"type": "scalar",
"latex": "P",
"subexpr": "P",
"chartScript": {
"script": "P",
"variables": [
"P"
]
}
},
{
"id": "__multiply_2",
"type": "operator",
"op": "multiply",
"subexpr": "A^{T} \\frac{1}{A{\\left(A A^{T} \\right)}}",
"chartScript": {
"script": "pow(A, -2)",
"variables": [
"A"
]
}
},
{
"id": "__power_3",
"type": "operator",
"latex": "\\dfrac{1}{(\\cdot)}",
"op": "power",
"exponent": "-1",
"subexpr": "\\frac{1}{A{\\left(A A^{T} \\right)}}",
"chartScript": {
"script": "pow(A, -T)/pow(A, 2)",
"variables": [
"A",
"T"
]
}
},
{
"id": "__A_4",
"type": "function",
"op": "A",
"subexpr": "A{\\left(A A^{T} \\right)}",
"chartScript": {
"script": "pow(A, 2)*pow(A, T)",
"variables": [
"A",
"T"
]
}
},
{
"id": "__multiply_5",
"type": "operator",
"op": "multiply",
"subexpr": "A^{T} A",
"chartScript": {
"script": "A*pow(A, T)",
"variables": [
"A",
"T"
]
}
},
{
"id": "__power_6",
"type": "operator",
"op": "power",
"subexpr": "A^{T}",
"chartScript": {
"script": "pow(A, T)",
"variables": [
"A",
"T"
]
}
},
{
"id": "A",
"type": "scalar",
"latex": "A",
"subexpr": "A",
"chartScript": {
"script": "A",
"variables": [
"A"
]
}
},
{
"id": "T",
"type": "scalar",
"latex": "T",
"subexpr": "T",
"chartScript": {
"script": "T",
"variables": [
"T"
]
}
},
{
"id": "__power_7",
"type": "operator",
"op": "power",
"subexpr": "A^{T}",
"chartScript": {
"script": "pow(A, T)",
"variables": [
"A",
"T"
]
}
}
],
"edges": [
{
"from": "P",
"to": "__equals_1"
},
{
"from": "A",
"to": "__power_6"
},
{
"from": "T",
"to": "__power_6",
"role": "exp"
},
{
"from": "__power_6",
"to": "__multiply_5",
"semantic": "direct",
"weight": 1.0
},
{
"from": "A",
"to": "__multiply_5",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_5",
"to": "__A_4"
},
{
"from": "__A_4",
"to": "__power_3"
},
{
"from": "__power_3",
"to": "__multiply_2"
},
{
"from": "A",
"to": "__power_7"
},
{
"from": "T",
"to": "__power_7",
"role": "exp"
},
{
"from": "__power_7",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_2",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
P["$P$"]:::scalar
__multiply_2(("$\times$")):::operator
__power_3(("$\dfrac{1}{(\cdot)}$")):::operator
__A_4{{"$A(\cdot)$"}}:::function
__multiply_5(("$\times$")):::operator
__power_6(("$(\cdot)^{\cdot}$")):::operator
A["$A$"]:::scalar
T["$T$"]:::scalar
__power_7(("$(\cdot)^{\cdot}$")):::operator
P --> __equals_1
A --> __power_6
T -->|exp| __power_6
__power_6 --> __multiply_5
A --> __multiply_5
__multiply_5 --> __A_4
__A_4 --> __power_3
__power_3 -.-> __multiply_2
A --> __power_7
T -->|exp| __power_7
__power_7 --> __multiply_2
__multiply_2 --> __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:#aaa,stroke-width:2px
linkStyle 7 stroke:#42a5f5,stroke-width:1px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#aaa,stroke-width:2px
linkStyle 10 stroke:#ef5350,stroke-width:3px
linkStyle 11 stroke:#aaa,stroke-width:2px
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
__multiply_2(("$\times$")):::operator
a["$\vec{a}$"]:::vector
b["$\vec{b}$"]:::vector
__multiply_3(("$\times$")):::operator
n["$\hat{n}$"]:::scalar
__multiply_4(("$\times$")):::operator
__abs_5{{"$|\cdot|$"}}:::function
__multiply_6(("$\times$")):::operator
__abs_7{{"$|\cdot|$"}}:::function
__sin_8{{"$\sin(\cdot)$"}}:::function
theta["$\theta$"]:::scalar
a --> __multiply_2
b --> __multiply_2
__multiply_2 --> __equals_1
n --> __multiply_3
a --> __abs_5
__abs_5 --> __multiply_4
b --> __abs_7
__abs_7 --> __multiply_6
theta --> __sin_8
__sin_8 --> __multiply_6
__multiply_6 --> __multiply_4
__multiply_4 --> __multiply_3
__multiply_3 --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#ef5350,stroke-width:3px
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:#ef5350,stroke-width:3px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#ef5350,stroke-width:3px
linkStyle 10 stroke:#ef5350,stroke-width:3px
linkStyle 11 stroke:#ef5350,stroke-width:3px
linkStyle 12 stroke:#aaa,stroke-width:2px
{
"nodes": [
{
"id": "__equals_1",
"type": "relation",
"op": "equals",
"subexpr": "\\vec{a} \\times \\vec{b} = \\hat{n} |\\vec{a}||\\vec{b}| \\sin\\theta",
"chartScript": {
"script": "a*b*pow(vec, 2) - hat*n*sin(theta)*abs(a*vec)*abs(b*vec)",
"variables": [
"a",
"b",
"hat",
"n",
"theta",
"vec"
]
}
},
{
"id": "__multiply_2",
"type": "operator",
"op": "multiply",
"subexpr": "\\vec{a} \\vec{b}",
"chartScript": {
"script": "a*b*pow(vec, 2)",
"variables": [
"a",
"b",
"vec"
]
}
},
{
"id": "a",
"type": "vector",
"latex": "\\vec{a}",
"subexpr": "\\vec{a}",
"chartScript": {
"script": "a*vec",
"variables": [
"a",
"vec"
]
}
},
{
"id": "b",
"type": "vector",
"latex": "\\vec{b}",
"subexpr": "\\vec{b}",
"chartScript": {
"script": "b*vec",
"variables": [
"b",
"vec"
]
}
},
{
"id": "__multiply_3",
"type": "operator",
"op": "multiply",
"subexpr": "\\hat{n} \\left|{\\vec{a}}\\right| \\left|{\\vec{b}}\\right| \\sin{\\left(\\theta \\right)}",
"chartScript": {
"script": "hat*n",
"variables": [
"hat",
"n"
]
}
},
{
"id": "n",
"type": "scalar",
"latex": "\\hat{n}",
"subexpr": "\\hat{n}",
"chartScript": {
"script": "hat*n",
"variables": [
"hat",
"n"
]
}
},
{
"id": "__multiply_4",
"type": "operator",
"op": "multiply",
"subexpr": "\\left|{\\vec{a}}\\right| \\left|{\\vec{b}}\\right| \\sin{\\left(\\theta \\right)}"
},
{
"id": "__abs_5",
"type": "function",
"op": "abs",
"subexpr": "\\left|{\\vec{a}}\\right|"
},
{
"id": "__multiply_6",
"type": "operator",
"op": "multiply",
"subexpr": "\\left|{\\vec{b}}\\right| \\sin{\\left(\\theta \\right)}"
},
{
"id": "__abs_7",
"type": "function",
"op": "abs",
"subexpr": "\\left|{\\vec{b}}\\right|"
},
{
"id": "__sin_8",
"type": "function",
"latex": "\\sin",
"op": "sin",
"subexpr": "\\sin{\\left(\\theta \\right)}",
"chartScript": {
"script": "sin(theta)",
"variables": [
"theta"
]
}
},
{
"id": "theta",
"type": "scalar",
"latex": "\\theta",
"subexpr": "\\theta",
"chartScript": {
"script": "theta",
"variables": [
"theta"
]
}
}
],
"edges": [
{
"from": "a",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "b",
"to": "__multiply_2",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_2",
"to": "__equals_1"
},
{
"from": "n",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "a",
"to": "__abs_5"
},
{
"from": "__abs_5",
"to": "__multiply_4",
"semantic": "direct",
"weight": 1.0
},
{
"from": "b",
"to": "__abs_7"
},
{
"from": "__abs_7",
"to": "__multiply_6",
"semantic": "direct",
"weight": 1.0
},
{
"from": "theta",
"to": "__sin_8"
},
{
"from": "__sin_8",
"to": "__multiply_6",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_6",
"to": "__multiply_4",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_4",
"to": "__multiply_3",
"semantic": "direct",
"weight": 1.0
},
{
"from": "__multiply_3",
"to": "__equals_1"
}
],
"classification": {
"kind": "algebraic"
}
}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
__multiply_2(("$\times$")):::operator
a["$\vec{a}$"]:::vector
b["$\vec{b}$"]:::vector
__multiply_3(("$\times$")):::operator
n["$\hat{n}$"]:::scalar
__multiply_4(("$\times$")):::operator
__abs_5{{"$|\cdot|$"}}:::function
__multiply_6(("$\times$")):::operator
__abs_7{{"$|\cdot|$"}}:::function
__sin_8{{"$\sin(\cdot)$"}}:::function
theta["$\theta$"]:::scalar
a --> __multiply_2
b --> __multiply_2
__multiply_2 --> __equals_1
n --> __multiply_3
a --> __abs_5
__abs_5 --> __multiply_4
b --> __abs_7
__abs_7 --> __multiply_6
theta --> __sin_8
__sin_8 --> __multiply_6
__multiply_6 --> __multiply_4
__multiply_4 --> __multiply_3
__multiply_3 --> __equals_1
linkStyle 0 stroke:#ef5350,stroke-width:3px
linkStyle 1 stroke:#ef5350,stroke-width:3px
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:#ef5350,stroke-width:3px
linkStyle 8 stroke:#aaa,stroke-width:2px
linkStyle 9 stroke:#ef5350,stroke-width:3px
linkStyle 10 stroke:#ef5350,stroke-width:3px
linkStyle 11 stroke:#ef5350,stroke-width:3px
linkStyle 12 stroke:#aaa,stroke-width:2px