# Square Root

A simple arithmetic function block that calculates the square root of a numeric value. Use this block when you need the positive root of a non-negative number inside your scenario.

## 📥 Inputs (sockets) <a href="#inputs" id="inputs"></a>

`Number` The numeric value to compute the square root of. Provide a non-negative value for valid results.

## 📤 Outputs (sockets) <a href="#outputs" id="outputs"></a>

`Number` The resulting square root value.

## 🕹️ Controls <a href="#controls" id="controls"></a>

This block has no interactive controls. It computes its output directly from the input socket.

## ⚙️ Running mechanism <a href="#running-mechanism" id="running-mechanism"></a>

When the block receives a numeric input, it produces the square root of that value at its output each evaluation cycle. If the input is missing or invalid for square root (for example, a negative number), the block will not produce a meaningful numeric result — include a check before feeding such values.

## ✨ Features <a href="#features" id="features"></a>

* Instant numeric operation suitable for live pipelines.
* Minimal UI footprint — designed to be combined with other math and logic blocks.
* Works seamlessly in arithmetic chains (e.g., combine with multiply or divide blocks).

## 📝 How to use <a href="#usage" id="usage"></a>

1. Provide a numeric value into the `Number` input socket (for example from a `Number Input` block or the output of another math block).
2. Read the result from the `Number` output socket.
3. If you expect negative inputs, validate first (see tips below).

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Feed values using `Number Input` for manual testing or parameter tuning.
* Validate input non-negativity with `Greater` before connecting to avoid invalid values.
* If you want to compute the square root of an absolute value, use `Absolute` before this block.
* Round results for display using `Round` if you need fewer decimals.
* Use `Multiply` or `Divide` before/after to scale values into the desired range.
* Visualize numeric trends with `Scope` or log values with `CSV Export` or `Data to JSON` for monitoring.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If the output looks incorrect, ensure the input value is non-negative.
* If no value appears, confirm the input socket is connected (for example, from a `Number Input` or another math block).
* Use a simple pre-check chain (`Greater` → conditional flow) to prevent invalid inputs from reaching this block.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/data-logic/mathmetical-operations/square-root.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
