<trclass="memdesc:a1b33e2c2e3471420490cf0be2de6de18"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Computes the output and vector-Jacobian product (VJP) of a function. <br/></td></tr>
<trclass="memdesc:a2065a11249c3f4356ffd69b7a8c487ff"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Computes the output and vector-Jacobian product (VJP) of a unary function. <br/></td></tr>
<trclass="memdesc:a179a632200366c223d6ab56d3e032592"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Computes the output and Jacobian-vector product (JVP) of a function. <br/></td></tr>
<trclass="memdesc:af38e7582db29519bb39326f6fa531d20"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Computes the output and Jacobian-vector product (JVP) of a unary function. <br/></td></tr>
<trclass="memitem:abf49b337a00997231c0f7fd389efa8f3"id="r_abf49b337a00997231c0f7fd389efa8f3"><tdclass="memItemLeft"align="right"valign="top"><aclass="el"href="namespacemlx_1_1core.html#ab79d66ddf1ec38b2f2c01234892a2230">ValueAndGradFn</a> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#abf49b337a00997231c0f7fd389efa8f3">mlx::core::value_and_grad</a> (const std::function< std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)>&fun, const std::vector< int >&argnums)</td></tr>
<trclass="memdesc:abf49b337a00997231c0f7fd389efa8f3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function which computes the value and gradient of the input function with respect to a vector of input arrays. <br/></td></tr>
<trclass="memitem:a7b987f404b8699de00f9e0099ab6b1b0"id="r_a7b987f404b8699de00f9e0099ab6b1b0"><tdclass="memItemLeft"align="right"valign="top"><aclass="el"href="namespacemlx_1_1core.html#ab79d66ddf1ec38b2f2c01234892a2230">ValueAndGradFn</a> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#a7b987f404b8699de00f9e0099ab6b1b0">mlx::core::value_and_grad</a> (const std::function< std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)>&fun, int argnum=0)</td></tr>
<trclass="memdesc:a7b987f404b8699de00f9e0099ab6b1b0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function which computes the value and gradient of the input function with respect to a single input array. <br/></td></tr>
<trclass="memdesc:a5a64dc878b29403d27e50bd7a288cc04"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function which computes the value and gradient of the unary input function. <br/></td></tr>
<trclass="memitem:a3d2b2929ed4636e9e2b86e125b2e57d9"id="r_a3d2b2929ed4636e9e2b86e125b2e57d9"><tdclass="memItemLeft"align="right"valign="top">std::function< std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#a3d2b2929ed4636e9e2b86e125b2e57d9">mlx::core::grad</a> (const std::function<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)>&fun, const std::vector< int >&argnums)</td></tr>
<trclass="memdesc:a3d2b2929ed4636e9e2b86e125b2e57d9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function which computes the gradient of the input function with respect to a vector of input arrays. <br/></td></tr>
<trclass="memitem:af482f6c64acd77c57ef5bb4b7be9726c"id="r_af482f6c64acd77c57ef5bb4b7be9726c"><tdclass="memItemLeft"align="right"valign="top">std::function< std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#af482f6c64acd77c57ef5bb4b7be9726c">mlx::core::grad</a> (const std::function<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)>&fun, int argnum=0)</td></tr>
<trclass="memdesc:af482f6c64acd77c57ef5bb4b7be9726c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function which computes the gradient of the input function with respect to a single input array. <br/></td></tr>
<trclass="memdesc:a64bc619876b0f8cc81a2637ca81c99f7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a function which computes the gradient of the unary input function. <br/></td></tr>
<trclass="memitem:ac3caec2fa65375ed4c3bf1206177b84c"id="r_ac3caec2fa65375ed4c3bf1206177b84c"><tdclass="memItemLeft"align="right"valign="top">std::function<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>(const <aclass="el"href="classmlx_1_1core_1_1array.html">array</a>&)> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#ac3caec2fa65375ed4c3bf1206177b84c">mlx::core::vmap</a> (const std::function<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>(const <aclass="el"href="classmlx_1_1core_1_1array.html">array</a>&)>&fun, int in_axis=0, int out_axis=0)</td></tr>
<trclass="memdesc:ac3caec2fa65375ed4c3bf1206177b84c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Automatically vectorize a unary function over the requested axes. <br/></td></tr>
<trclass="memitem:a8481a3bb4c12c2b7dc6ba576c2be3d0d"id="r_a8481a3bb4c12c2b7dc6ba576c2be3d0d"><tdclass="memItemLeft"align="right"valign="top">std::function<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>(const <aclass="el"href="classmlx_1_1core_1_1array.html">array</a>&, const <aclass="el"href="classmlx_1_1core_1_1array.html">array</a>&)> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#a8481a3bb4c12c2b7dc6ba576c2be3d0d">mlx::core::vmap</a> (const std::function<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>(const <aclass="el"href="classmlx_1_1core_1_1array.html">array</a>&, const <aclass="el"href="classmlx_1_1core_1_1array.html">array</a>&)>&fun, int in_axis_a=0, int in_axis_b=0, int out_axis=0)</td></tr>
<trclass="memdesc:a8481a3bb4c12c2b7dc6ba576c2be3d0d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Automatically vectorize a binary function over the requested axes. <br/></td></tr>
<trclass="memitem:a95a7757e8d18fced38acfc6a3e8d686a"id="r_a95a7757e8d18fced38acfc6a3e8d686a"><tdclass="memItemLeft"align="right"valign="top">std::function< std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="namespacemlx_1_1core.html#a95a7757e8d18fced38acfc6a3e8d686a">mlx::core::vmap</a> (const std::function< std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>(const std::vector<<aclass="el"href="classmlx_1_1core_1_1array.html">array</a>>&)>&fun, const std::vector< int >&in_axes={}, const std::vector< int >&out_axes={})</td></tr>
<trclass="memdesc:a95a7757e8d18fced38acfc6a3e8d686a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Automatically vectorize a function over the requested axes. <br/></td></tr>
<trclass="memdesc:a8d3ca5fbaecdb995660c24cde5aeebaf"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Redefine the transformations of <code>fun</code> according to the provided functions. <br/></td></tr>
<trclass="memdesc:a9290596250fa308df4c69b44483bb8aa"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Return a function that behaves exactly like <code>fun</code> but if the vjp of the results is computed <code>fun_vjp</code> will be used instead of <code>vjp(fun, ...)</code> . <br/></td></tr>
<trclass="memdesc:a42fa813d72c15132f76ef5fd1213ed71"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checkpoint the gradient of a function. <br/></td></tr>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.13.1 </li>