 ## AngouriMath.Core

← Back to list of namespaces

Classes within the AngouriMath.Core namespace

• ### ApproachFrom

Summary

Where to tend to the given number in limits
• ### ConcurrentFieldAttribute

Summary

Use this attribute on those static fields that are already synchronized
internally or explicitly
• ### ConstantFieldAttribute

Summary

Use this attribute on those static fields that do not require thread static attribute
because they are constant
• ### Domain

Summary

Specify the domain used within a record
• ### EquationSystem

Summary

A class for systems of equations. Is not part of AM's ecosystem,
that is, it is not an Entity, just an intermediate class.
It is a system of arbitrary equations, not only those linear. However,
it is not a system of Statements.
• ### FastExpression

Summary

Compiled function (not to a delegate, but to AM's VM readable format)
• ### FiniteSetBuilder

Summary

Use this class for solvers and other places when a set needs to be built
and you want to avoid using lists. It builds an instance of FiniteSet.
• ### IBinaryNode

Summary

From this interface all double-argument nodes are inherited
• ### ILatexiseable

Summary

Any class that supports converting to LaTeX format should implement this interface

Example

using System;
using AngouriMath;
using static AngouriMath.MathS;

Entity expr = "sqrt(a) + integral(sin(x), x)";
Console.WriteLine(expr);
Console.WriteLine(expr.Latexise());
Entity expr2 = "a / b ^ limit(sin(x) - cosh(y), x, +oo)";
Console.WriteLine(expr2);
Console.WriteLine(expr2.Latexise());

Prints
sqrt(a) + integral(sin(x), x)
\sqrt{a}+\int \left[\sin\left(x\right)\right] dx
a / b ^ limit(sin(x) - (e ^ y + e ^ (-y)) / 2, x, +oo)
\frac{a}{{b}^{\lim_{x\to \infty } \left[\sin\left(x\right)-\frac{{e}^{y}+{e}^{-y}}{2}\right]}}
• ### IUnaryNode

Summary

From this interface all single-argument nodes are inherited
• ### MatrixBuilder

Summary

Use this class for solvers and other places when a matrix needs to be built without
recreating an instance multiple times. It builds an instance of Matrix.
It enables to build a tensor row-by-row.

Example

using System;
using AngouriMath;
using AngouriMath.Core;

var mb = new MatrixBuilder(3);
Console.WriteLine(mb.ToMatrix() is null);
Console.WriteLine("-------------------------");

mb.Add(new Entity[] { 1, 2, 3 } );
mb.Add(new Entity[] { "x", "sqrt(y)", 5 } );
Console.WriteLine(mb.ToMatrix().ToString(multilineFormat: true));
Console.WriteLine("-------------------------");

mb.Add(new Entity[] { 1 } ); // throws

Prints
True
-------------------------
Matrix[2 x 3]
1         2         3
x         sqrt(y)   5
-------------------------
Unhandled exception. AngouriMath.Core.Exceptions.InvalidMatrixOperationException: Incorrect usage of MatrixBuilder

• ### ReasonOfFailureWhileParsing

Summary

Nesting class for reasons of why parsing could fail. The type union for it
is

Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 1534 pages online