_SolveSystem

it.grypho.scala.leonardo.equation._SolveSystem
case class _SolveSystem(equations: _Expression, variables: List[_Variable]) extends _Expression

AST node for solveSystem(equations, v1, v2, ...) in the grammar.

equations is expected to be a _Matrix whose elements are _Equation nodes -- e.g. [[2*x + y = 5, x + 3*y = 10]]. After the REPL substitutes any named matrix binding, eval extracts the equations and delegates to solveSystem.

The solve variables are binders (excluded from children / substitute traversal), exactly as in _Derivative and _Integral -- solving for x does not substitute x itself.

eval result shape (mirrors _Solve):

  • no solution (singular, nonlinear, ...) -> Left(this) (stays symbolic)
  • single variable -> Left(v = expr)
  • multiple variables -> Left([[v1 = e1, v2 = e2, ...]])

toString is "solveSystem(equations, v1, v2, ...)" -- round-trips through the parser.

Value parameters

equations

a _Matrix expression whose elements must be _Equation nodes

variables

the solve variables (binders -- excluded from children)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait _Expression
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def children: List[_Expression]

Sub-expressions subject to recursive structural traversal. Binder positions (e.g. the differentiation variable) are excluded.

Sub-expressions subject to recursive structural traversal. Binder positions (e.g. the differentiation variable) are excluded.

Attributes

Definition Classes
override def eval(env: Environment): Either[_Expression, _Value]

Reduces this expression in the given environment.

Reduces this expression in the given environment.

Value parameters

env

variable bindings and display precision

Attributes

Returns

Right(v) when all free variables resolved to concrete values; Left(e) when reduction is partial or impossible

Definition Classes
override def rebuild(c: List[_Expression]): _Expression

Reconstructs the same node shape with replacement sub-expressions.

Reconstructs the same node shape with replacement sub-expressions.

Value parameters

newChildren

replacements in the same order and count as children

Attributes

Definition Classes
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product

Inherited fields

lazy val freeVars: Set[String]

Cached set of free variable names; O(1) after the first access.

Cached set of free variable names; O(1) after the first access.

Attributes

Inherited from:
_Expression