# Linear Algebra Transform Compose

> Linear Algebra Transform Compose is a paid API for AI agents from linear-algebra.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-30).

Composes a sequence of 2D or 3D rotate, scale, and translate operations into a single homogeneous transformation matrix, optionally applying it to a point.

## Facts

- Endpoint: GET https://linear-algebra.x402tookit.com/transform-compose?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/linear-algebra-transform-compose-79605fa3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ZSvXbkfZ7V9hUes7Tzkv4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability linear-algebra-transform-compose-79605fa3
```

Example prompt: Compose a 2D transformation that first rotates 45 degrees and then translates by (3, 2), and apply the result to the point (1, 0).

## When to prefer this

Choose this endpoint when you need to compose a sequence of affine transformations (rotate, scale, translate) into a single homogeneous matrix for 2D or 3D use cases, especially in graphics pipelines, robotics kinematics, or geometric computation. Prefer it over manual matrix multiplication when you want the convenience of specifying human-readable operation steps rather than raw matrices, and when you also want the inverse matrix, rigidity analysis, and optional point transformation bundled in one call.

## Known failure modes

- Invalid or malformed steps JSON — returns error describing parsing failure
- Unsupported operation type in steps (e.g. unknown 'op' value)
- Dimension mismatch between steps and the specified dim parameter
- Point array length does not match the specified dimension
- Missing required 'steps' query parameter — returns 400-level error
- 3D rotate step missing required 'axis' field

## How this service works

Compose 2D or 3D rotate, scale and translate steps into one homogeneous matrix, optionally applied to a point.

## Output

Returns a homogeneous transformation matrix (3x3 for 2D, 4x4 for 3D), its inverse, the determinant of the linear part, a flag indicating whether the transform is a rigid motion or preserves distances, an ordered list of steps applied, an optional transformed point if one was supplied, and a human-readable summary and order note.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "steps"
     ],
     "properties": {
      "dim": {
       "type": "integer",
       "description": "2 (default, 3x3 matrix) or 3 (4x4 matrix)"
      },
      "point": {
       "type": "string",
       "description": "Optional point to transform, JSON like [1,0] or 1,0,0 with dim entries"
      },
      "steps": {
       "type": "string",
       "description": "JSON list applied in order, e.g. [{\"op\":\"rotate\",\"deg\":90},{\"op\":\"translate\",\"tx\":1,\"ty\":0}]; scale takes s or sx,sy,sz; 3D rotate needs axis"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "size": {
       "type": [
        "null",
        "number"
       ]
      },
      "matrix": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "array",
        "items": {
         "type": "number"
        }
       }
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "inverse": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "array",
        "items": {
         "type": "number"
        }
       }
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "orderNote": {
       "type": [
        "null",
        "string"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "notChecked": {
       "type": [
        "array",
  
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/linear-algebra-transform-compose-79605fa3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from linear-algebra.x402tookit.com](https://www.zero.xyz/host/linear-algebra.x402tookit.com/llms.txt)
