> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Math AI Agent

> Learn how to create AI agents that can perform complex mathematical calculations, unit conversions, and financial computations.

Math agents evaluate expressions, solve equations, convert units, and run statistical or financial calculations through specialised tools on a single `Agent`.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent

agent = Agent(name="Math Tutor", instructions="Solve math problems step by step.")
agent.start("What is 15 percent of 240?")
```

The user asks a quantitative question; the math agent selects the right calculation tools and returns a clear answer.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    U[👤 User] --> A[🧮 Math Agent]
    A --> E[evaluate]
    A --> S[solve_equation]
    A --> C[convert_units]
    A --> F[calculate_financial]

    classDef agent fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef tool fill:#189AB4,stroke:#7C90A0,color:#fff

    class U,A agent
    class E,S,C,F tool
```

## How It Works

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
sequenceDiagram
    participant User
    participant Agent
    participant Feature as Math AI Agent

    User->>Agent: Request
    Agent->>Feature: Process request
    Feature-->>Agent: Result    Agent-->>User: Response
```

## Quick Start

> [tab] Code
>
> **1. Install Package**
>
> First, install the PraisonAI Agents package:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> pip install praisonaiagents sympy pint
> ```
>
> **2. Set API Key**
>
> Set your OpenAI API key as an environment variable in your terminal:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your shell}"
> ```
>
> **3. Create a file**
>
> Create a new file `app.py` with the basic setup:
>
> ```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> from praisonaiagents import Agent, Task, AgentTeam
> from praisonaiagents import (
>     evaluate, solve_equation, convert_units,
>     calculate_statistics, calculate_financial
> )
>
> # Create math agent
> math_agent = Agent(
>     role="Math Expert",
>     goal="Perform complex mathematical calculations",
>     backstory="Expert in mathematical computations and analysis",
>     tools=[
>         evaluate, solve_equation, convert_units,
>         calculate_statistics, calculate_financial
>     ],
>
> )
>
> # Create a task
> task = Task(
>     description="Calculate compound interest and statistical analysis",
>     expected_output="Detailed mathematical analysis",
>     agent=math_agent
> )
>
> # Create and start the agents
> agents = AgentTeam(
>     agents=[math_agent],
>     tasks=[task],
>     process="sequential",
>     output="verbose"
> )
>
> # Start execution
> agents.start()
> ```
>
> **4. Start Agents**
>
> Type this in your terminal to run your agents:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> python app.py
> ```

> [tab] No Code
>
> **1. Install Package**
>
> Install the PraisonAI package:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> pip install praisonai sympy pint
> ```
>
> **2. Set API Key**
>
> Set your OpenAI API key as an environment variable in your terminal:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your shell}"
> ```
>
> **3. Create a file**
>
> Create a new file `agents.yaml` with the basic setup:
>
> ```yaml theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> framework: praisonai
> process: sequential
> topic: perform mathematical analysis
> agents:  # Canonical: use 'agents' instead of 'roles'
>   mathematician:
>     instructions:  # Canonical: use 'instructions' instead of 'backstory' Expert in mathematical computations and analysis.
>     goal: Perform complex mathematical calculations
>     role: Math Expert
>     tools:
>       - evaluate
>       - solve_equation
>       - convert_units
>       - calculate_statistics
>       - calculate_financial
>     tasks:
>       math_task:
>         description: Calculate compound interest and perform statistical analysis.
>         expected_output: Detailed mathematical analysis with results.
> ```
>
> **4. Start Agents**
>
> Type this in your terminal to run your agents:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> praisonai agents.yaml
> ```

> [!NOTE]
>
> **Requirements**
>
> * Python 3.10 or higher
> * OpenAI API key. Generate OpenAI API key [here](https://platform.openai.com/api-keys). Use Other models using [this guide](https://praison.ai/docs/models.md).
> * sympy and pint packages (automatically installed when needed)

## Understanding Math Agents

> [card] What are Math Agents?
>
> Math agents are specialized AI agents that can:
>
> * Evaluate mathematical expressions
> * Solve equations and systems of equations
> * Perform unit conversions
> * Calculate statistical metrics
> * Handle financial calculations

## Features

> [card] Expression Evaluator
>
> Evaluates mathematical expressions and formulas.

> [card] Equation Solver
>
> Solves mathematical equations and systems.

> [card] Unit Converter
>
> Converts between different units of measurement.

> [card] Statistical Calculator
>
> Calculates statistical metrics and analysis.

## Multi-Agent AI Math Analysis

> [tab] Code
>
> **1. Install Package**
>
> First, install the PraisonAI Agents package:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> pip install praisonaiagents
> ```
>
> **2. Set API Key**
>
> Set your OpenAI API key as an environment variable in your terminal:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your shell}"
> ```
>
> **3. Create a file**
>
> Create a new file `app.py` with the basic setup:
>
> ```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> from praisonaiagents import Agent, Task, AgentTeam
> from praisonaiagents import (
>     evaluate, solve_equation, convert_units,
>     calculate_statistics, calculate_financial
> )
>
> # Create first agent for calculations
> calculator = Agent(
>     role="Mathematical Calculator",
>     goal="Perform complex calculations and analysis",
>     backstory="Expert in mathematical computations",
>     tools=[evaluate, solve_equation, convert_units],
>
> )
>
> # Create second agent for statistics
> statistician = Agent(
>     role="Statistical Analyst",
>     goal="Perform statistical analysis and interpretation",
>     backstory="Expert in statistical analysis",
>     tools=[calculate_statistics, calculate_financial],
>
> )
>
> # Create first task
> calc_task = Task(
>     description="Calculate compound interest for $10000 at 5% for 3 years",
>     expected_output="Detailed interest calculation",
>     agent=calculator
> )
>
> # Create second task
> stats_task = Task(
>     description="Analyze the monthly interest distribution",
>     expected_output="Statistical analysis of interest data",
>     agent=statistician
> )
>
> # Create and start the agents
> agents = AgentTeam(
>     agents=[calculator, statistician],
>     tasks=[calc_task, stats_task],
>     process="sequential"
> )
>
> # Start execution
> agents.start()
> ```
>
> **4. Start Agents**
>
> Type this in your terminal to run your agents:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> python app.py
> ```

> [tab] No Code
>
> **1. Install Package**
>
> Install the PraisonAI package:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> pip install praisonai
> ```
>
> **2. Set API Key**
>
> Set your OpenAI API key as an environment variable in your terminal:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your shell}"
> ```
>
> **3. Create a file**
>
> Create a new file `agents.yaml` with the basic setup:
>
> ```yaml theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> framework: praisonai
> process: sequential
> topic: perform financial and statistical analysis
> agents:  # Canonical: use 'agents' instead of 'roles'
>   calculator:
>     instructions:  # Canonical: use 'instructions' instead of 'backstory' Expert in mathematical computations and analysis.
>     goal: Perform complex calculations
>     role: Mathematical Calculator
>     tools:
>       - evaluate
>       - solve_equation
>       - convert_units
>     tasks:
>       calc_task:
>         description: Calculate compound interest for investment scenario.
>         expected_output: Detailed interest calculations.
>
>   statistician:
>     instructions:  # Canonical: use 'instructions' instead of 'backstory' Expert in statistical analysis and interpretation.
>     goal: Analyze numerical data and patterns
>     role: Statistical Analyst
>     tools:
>       - calculate_statistics
>       - calculate_financial
>     tasks:
>       stats_task:
>         description: Analyze the monthly interest distribution.
>         expected_output: Statistical analysis report.
> ```
>
> **4. Start Agents**
>
> Type this in your terminal to run your agents:
>
> ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> praisonai agents.yaml
> ```

### Configuration Options

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Create an agent with advanced math configuration
agent = Agent(
    role="Math Expert",
    goal="Perform complex mathematical analysis",
    backstory="Expert in mathematical computations",
    tools=[
        evaluate,
        solve_equation,
        convert_units,
        calculate_statistics,
        calculate_financial
    ],
      # Enable detailed logging
    llm="gpt-4o"  # Language model to use
)
```

## Best Practices

> [accordion] Attach only the tools you need
>
> Give calculation agents `evaluate` and `solve_equation`; reserve `calculate_statistics` and `calculate_financial` for analysis agents.

> [accordion] Use clear task descriptions
>
> State the formula, units, and expected output format in each `Task` so the agent picks the right tool.

> [accordion] Validate units before conversion
>
> Ensure input values include compatible units — `convert_units` fails on mismatched dimensions.

## Troubleshooting

> [card] Expression Errors
>
> If expressions are not evaluating:
>
> * Check syntax and formatting
> * Verify variable definitions
> * Enable verbose mode for debugging

> [card] Calculation Issues
>
> If calculations are incorrect:
>
> * Review input formats
> * Check unit compatibility
> * Verify formula structure

## Next Steps

> [card] [AutoAgents](https://praison.ai/docs/features/autoagents.md)
>
> Learn about automatically created and managed AI agents

> [card] [Mini Agents](https://praison.ai/docs/features/mini.md)
>
> Explore lightweight, focused AI agents

> [!NOTE]
>
> For optimal results, ensure mathematical expressions and units are properly formatted for your specific use case.

## Related

> [card]
>
> Use a specialised agent that writes and runs code to solve problems.
>
> [Open](https://praison.ai/docs/features/codeagent.md)

> [card]
>
> Run lightweight, focused agents for single-purpose tasks.
>
> [Open](https://praison.ai/docs/features/mini.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.