From 7cfd0da856019773a588e71d813d16be7b75ffef Mon Sep 17 00:00:00 2001 From: CircleCI Docs Date: Fri, 17 Oct 2025 19:16:27 +0000 Subject: [PATCH] rebase --- docs/build/html/.buildinfo | 2 +- .../html/_static/documentation_options.js | 2 +- docs/build/html/cpp/ops.html | 58 +++++++++++++++--- docs/build/html/dev/custom_metal_kernels.html | 8 +-- docs/build/html/dev/extensions.html | 8 +-- docs/build/html/dev/metal_debugger.html | 8 +-- docs/build/html/dev/mlx_in_cpp.html | 8 +-- .../html/examples/linear_regression.html | 8 +-- docs/build/html/examples/llama-inference.html | 8 +-- docs/build/html/examples/mlp.html | 8 +-- docs/build/html/genindex.html | 18 +++--- docs/build/html/index.html | 8 +-- docs/build/html/install.html | 8 +-- docs/build/html/objects.inv | Bin 28497 -> 28708 bytes .../python/_autosummary/mlx.core.Device.html | 10 +-- .../python/_autosummary/mlx.core.Dtype.html | 8 +-- .../_autosummary/mlx.core.DtypeCategory.html | 8 +-- .../python/_autosummary/mlx.core.abs.html | 10 +-- .../python/_autosummary/mlx.core.add.html | 10 +-- .../python/_autosummary/mlx.core.addmm.html | 14 ++--- .../python/_autosummary/mlx.core.all.html | 14 ++--- .../_autosummary/mlx.core.allclose.html | 16 ++--- .../python/_autosummary/mlx.core.any.html | 14 ++--- .../python/_autosummary/mlx.core.arange.html | 12 ++-- .../python/_autosummary/mlx.core.arccos.html | 10 +-- .../python/_autosummary/mlx.core.arccosh.html | 10 +-- .../python/_autosummary/mlx.core.arcsin.html | 10 +-- .../python/_autosummary/mlx.core.arcsinh.html | 10 +-- .../python/_autosummary/mlx.core.arctan.html | 10 +-- .../python/_autosummary/mlx.core.arctan2.html | 10 +-- .../python/_autosummary/mlx.core.arctanh.html | 10 +-- .../python/_autosummary/mlx.core.argmax.html | 14 ++--- .../python/_autosummary/mlx.core.argmin.html | 14 ++--- .../_autosummary/mlx.core.argpartition.html | 14 ++--- .../python/_autosummary/mlx.core.argsort.html | 12 ++-- .../python/_autosummary/mlx.core.array.T.html | 8 +-- .../_autosummary/mlx.core.array.abs.html | 10 +-- .../_autosummary/mlx.core.array.all.html | 10 +-- .../_autosummary/mlx.core.array.any.html | 10 +-- .../_autosummary/mlx.core.array.argmax.html | 10 +-- .../_autosummary/mlx.core.array.argmin.html | 10 +-- .../_autosummary/mlx.core.array.astype.html | 10 +-- .../_autosummary/mlx.core.array.at.html | 8 +-- .../_autosummary/mlx.core.array.conj.html | 10 +-- .../_autosummary/mlx.core.array.cos.html | 10 +-- .../_autosummary/mlx.core.array.cummax.html | 10 +-- .../_autosummary/mlx.core.array.cummin.html | 10 +-- .../_autosummary/mlx.core.array.cumprod.html | 10 +-- .../_autosummary/mlx.core.array.cumsum.html | 10 +-- .../_autosummary/mlx.core.array.diag.html | 10 +-- .../_autosummary/mlx.core.array.diagonal.html | 10 +-- .../_autosummary/mlx.core.array.dtype.html | 8 +-- .../_autosummary/mlx.core.array.exp.html | 10 +-- .../_autosummary/mlx.core.array.flatten.html | 10 +-- .../python/_autosummary/mlx.core.array.html | 14 ++--- .../_autosummary/mlx.core.array.imag.html | 8 +-- .../_autosummary/mlx.core.array.item.html | 8 +-- .../_autosummary/mlx.core.array.itemsize.html | 8 +-- .../_autosummary/mlx.core.array.log.html | 10 +-- .../_autosummary/mlx.core.array.log10.html | 10 +-- .../_autosummary/mlx.core.array.log1p.html | 10 +-- .../_autosummary/mlx.core.array.log2.html | 10 +-- .../mlx.core.array.logcumsumexp.html | 10 +-- .../mlx.core.array.logsumexp.html | 10 +-- .../_autosummary/mlx.core.array.max.html | 10 +-- .../_autosummary/mlx.core.array.mean.html | 10 +-- .../_autosummary/mlx.core.array.min.html | 10 +-- .../_autosummary/mlx.core.array.moveaxis.html | 10 +-- .../_autosummary/mlx.core.array.nbytes.html | 8 +-- .../_autosummary/mlx.core.array.ndim.html | 8 +-- .../_autosummary/mlx.core.array.prod.html | 10 +-- .../_autosummary/mlx.core.array.real.html | 8 +-- .../mlx.core.array.reciprocal.html | 10 +-- .../_autosummary/mlx.core.array.reshape.html | 12 ++-- .../_autosummary/mlx.core.array.round.html | 10 +-- .../_autosummary/mlx.core.array.rsqrt.html | 10 +-- .../_autosummary/mlx.core.array.shape.html | 10 +-- .../_autosummary/mlx.core.array.sin.html | 10 +-- .../_autosummary/mlx.core.array.size.html | 8 +-- .../_autosummary/mlx.core.array.split.html | 10 +-- .../_autosummary/mlx.core.array.sqrt.html | 10 +-- .../_autosummary/mlx.core.array.square.html | 10 +-- .../_autosummary/mlx.core.array.squeeze.html | 10 +-- .../_autosummary/mlx.core.array.std.html | 10 +-- .../_autosummary/mlx.core.array.sum.html | 10 +-- .../_autosummary/mlx.core.array.swapaxes.html | 10 +-- .../_autosummary/mlx.core.array.tolist.html | 12 ++-- .../mlx.core.array.transpose.html | 10 +-- .../_autosummary/mlx.core.array.var.html | 10 +-- .../_autosummary/mlx.core.array.view.html | 10 +-- .../_autosummary/mlx.core.array_equal.html | 12 ++-- .../_autosummary/mlx.core.as_strided.html | 16 ++--- .../_autosummary/mlx.core.async_eval.html | 10 +-- .../_autosummary/mlx.core.atleast_1d.html | 12 ++-- .../_autosummary/mlx.core.atleast_2d.html | 12 ++-- .../_autosummary/mlx.core.atleast_3d.html | 12 ++-- .../_autosummary/mlx.core.bitwise_and.html | 10 +-- .../_autosummary/mlx.core.bitwise_invert.html | 10 +-- .../_autosummary/mlx.core.bitwise_or.html | 10 +-- .../_autosummary/mlx.core.bitwise_xor.html | 10 +-- .../mlx.core.block_masked_mm.html | 12 ++-- .../mlx.core.broadcast_arrays.html | 12 ++-- .../_autosummary/mlx.core.broadcast_to.html | 12 ++-- .../python/_autosummary/mlx.core.ceil.html | 10 +-- .../_autosummary/mlx.core.clear_cache.html | 10 +-- .../python/_autosummary/mlx.core.clip.html | 10 +-- .../python/_autosummary/mlx.core.compile.html | 20 +++--- .../_autosummary/mlx.core.concatenate.html | 14 ++--- .../python/_autosummary/mlx.core.conj.html | 10 +-- .../_autosummary/mlx.core.conjugate.html | 10 +-- .../_autosummary/mlx.core.contiguous.html | 12 ++-- .../python/_autosummary/mlx.core.conv1d.html | 18 +++--- .../python/_autosummary/mlx.core.conv2d.html | 18 +++--- .../python/_autosummary/mlx.core.conv3d.html | 18 +++--- .../_autosummary/mlx.core.conv_general.html | 22 +++---- .../mlx.core.conv_transpose1d.html | 20 +++--- .../mlx.core.conv_transpose2d.html | 20 +++--- .../mlx.core.conv_transpose3d.html | 20 +++--- .../_autosummary/mlx.core.convolve.html | 12 ++-- .../python/_autosummary/mlx.core.cos.html | 10 +-- .../python/_autosummary/mlx.core.cosh.html | 10 +-- .../mlx.core.cuda.is_available.html | 10 +-- .../python/_autosummary/mlx.core.cummax.html | 16 ++--- .../python/_autosummary/mlx.core.cummin.html | 16 ++--- .../python/_autosummary/mlx.core.cumprod.html | 16 ++--- .../python/_autosummary/mlx.core.cumsum.html | 16 ++--- .../mlx.core.custom_function.html | 8 +-- .../_autosummary/mlx.core.default_device.html | 8 +-- .../_autosummary/mlx.core.default_stream.html | 8 +-- .../python/_autosummary/mlx.core.degrees.html | 10 +-- .../_autosummary/mlx.core.dequantize.html | 16 ++--- .../python/_autosummary/mlx.core.diag.html | 12 ++-- .../_autosummary/mlx.core.diagonal.html | 16 ++--- .../mlx.core.disable_compile.html | 10 +-- .../mlx.core.distributed.Group.html | 8 +-- .../mlx.core.distributed.all_gather.html | 10 +-- .../mlx.core.distributed.all_sum.html | 10 +-- .../mlx.core.distributed.init.html | 14 ++--- .../mlx.core.distributed.is_available.html | 10 +-- .../mlx.core.distributed.recv.html | 14 ++--- .../mlx.core.distributed.recv_like.html | 12 ++-- .../mlx.core.distributed.send.html | 12 ++-- .../python/_autosummary/mlx.core.divide.html | 10 +-- .../python/_autosummary/mlx.core.divmod.html | 12 ++-- .../python/_autosummary/mlx.core.einsum.html | 12 ++-- .../_autosummary/mlx.core.einsum_path.html | 14 ++--- .../_autosummary/mlx.core.enable_compile.html | 10 +-- .../python/_autosummary/mlx.core.equal.html | 10 +-- .../python/_autosummary/mlx.core.erf.html | 10 +-- .../python/_autosummary/mlx.core.erfinv.html | 10 +-- .../python/_autosummary/mlx.core.eval.html | 12 ++-- .../python/_autosummary/mlx.core.exp.html | 10 +-- .../_autosummary/mlx.core.expand_dims.html | 12 ++-- .../python/_autosummary/mlx.core.expm1.html | 10 +-- .../mlx.core.export_function.html | 17 ++--- .../_autosummary/mlx.core.export_to_dot.html | 14 ++--- .../_autosummary/mlx.core.exporter.html | 14 ++--- .../python/_autosummary/mlx.core.eye.html | 16 ++--- .../mlx.core.fast.cuda_kernel.html | 24 ++++---- .../mlx.core.fast.layer_norm.html | 12 ++-- .../mlx.core.fast.metal_kernel.html | 24 ++++---- .../_autosummary/mlx.core.fast.rms_norm.html | 12 ++-- .../_autosummary/mlx.core.fast.rope.html | 22 +++---- ...ore.fast.scaled_dot_product_attention.html | 14 ++--- .../python/_autosummary/mlx.core.fft.fft.html | 14 ++--- .../_autosummary/mlx.core.fft.fft2.html | 14 ++--- .../_autosummary/mlx.core.fft.fftn.html | 14 ++--- .../_autosummary/mlx.core.fft.fftshift.html | 12 ++-- .../_autosummary/mlx.core.fft.ifft.html | 14 ++--- .../_autosummary/mlx.core.fft.ifft2.html | 14 ++--- .../_autosummary/mlx.core.fft.ifftn.html | 14 ++--- .../_autosummary/mlx.core.fft.ifftshift.html | 12 ++-- .../_autosummary/mlx.core.fft.irfft.html | 14 ++--- .../_autosummary/mlx.core.fft.irfft2.html | 14 ++--- .../_autosummary/mlx.core.fft.irfftn.html | 14 ++--- .../_autosummary/mlx.core.fft.rfft.html | 14 ++--- .../_autosummary/mlx.core.fft.rfft2.html | 14 ++--- .../_autosummary/mlx.core.fft.rfftn.html | 14 ++--- .../python/_autosummary/mlx.core.finfo.html | 10 +-- .../python/_autosummary/mlx.core.flatten.html | 14 ++--- .../python/_autosummary/mlx.core.floor.html | 10 +-- .../_autosummary/mlx.core.floor_divide.html | 10 +-- .../python/_autosummary/mlx.core.full.html | 14 ++--- .../_autosummary/mlx.core.gather_mm.html | 12 ++-- .../_autosummary/mlx.core.gather_qmm.html | 20 +++--- .../mlx.core.get_active_memory.html | 10 +-- .../mlx.core.get_cache_memory.html | 10 +-- .../mlx.core.get_peak_memory.html | 10 +-- .../python/_autosummary/mlx.core.grad.html | 14 ++--- .../python/_autosummary/mlx.core.greater.html | 10 +-- .../_autosummary/mlx.core.greater_equal.html | 10 +-- .../mlx.core.hadamard_transform.html | 12 ++-- .../_autosummary/mlx.core.identity.html | 12 ++-- .../python/_autosummary/mlx.core.imag.html | 10 +-- .../mlx.core.import_function.html | 12 ++-- .../python/_autosummary/mlx.core.inner.html | 10 +-- .../python/_autosummary/mlx.core.isclose.html | 16 ++--- .../_autosummary/mlx.core.isfinite.html | 10 +-- .../python/_autosummary/mlx.core.isinf.html | 10 +-- .../python/_autosummary/mlx.core.isnan.html | 10 +-- .../_autosummary/mlx.core.isneginf.html | 10 +-- .../_autosummary/mlx.core.isposinf.html | 10 +-- .../_autosummary/mlx.core.issubdtype.html | 12 ++-- .../python/_autosummary/mlx.core.jvp.html | 16 ++--- .../python/_autosummary/mlx.core.kron.html | 10 +-- .../_autosummary/mlx.core.left_shift.html | 10 +-- .../python/_autosummary/mlx.core.less.html | 10 +-- .../_autosummary/mlx.core.less_equal.html | 10 +-- .../mlx.core.linalg.cholesky.html | 12 ++-- .../mlx.core.linalg.cholesky_inv.html | 12 ++-- .../_autosummary/mlx.core.linalg.cross.html | 12 ++-- .../_autosummary/mlx.core.linalg.eig.html | 10 +-- .../_autosummary/mlx.core.linalg.eigh.html | 12 ++-- .../_autosummary/mlx.core.linalg.eigvals.html | 10 +-- .../mlx.core.linalg.eigvalsh.html | 12 ++-- .../_autosummary/mlx.core.linalg.inv.html | 10 +-- .../_autosummary/mlx.core.linalg.lu.html | 12 ++-- .../mlx.core.linalg.lu_factor.html | 12 ++-- .../_autosummary/mlx.core.linalg.norm.html | 16 ++--- .../_autosummary/mlx.core.linalg.pinv.html | 10 +-- .../_autosummary/mlx.core.linalg.qr.html | 12 ++-- .../_autosummary/mlx.core.linalg.solve.html | 10 +-- .../mlx.core.linalg.solve_triangular.html | 12 ++-- .../_autosummary/mlx.core.linalg.svd.html | 14 ++--- .../_autosummary/mlx.core.linalg.tri_inv.html | 12 ++-- .../_autosummary/mlx.core.linspace.html | 12 ++-- .../python/_autosummary/mlx.core.load.html | 18 +++--- .../python/_autosummary/mlx.core.log.html | 10 +-- .../python/_autosummary/mlx.core.log10.html | 10 +-- .../python/_autosummary/mlx.core.log1p.html | 10 +-- .../python/_autosummary/mlx.core.log2.html | 10 +-- .../_autosummary/mlx.core.logaddexp.html | 10 +-- .../_autosummary/mlx.core.logcumsumexp.html | 16 ++--- .../_autosummary/mlx.core.logical_and.html | 10 +-- .../_autosummary/mlx.core.logical_not.html | 10 +-- .../_autosummary/mlx.core.logical_or.html | 10 +-- .../_autosummary/mlx.core.logsumexp.html | 14 ++--- .../python/_autosummary/mlx.core.matmul.html | 10 +-- .../python/_autosummary/mlx.core.max.html | 14 ++--- .../python/_autosummary/mlx.core.maximum.html | 10 +-- .../python/_autosummary/mlx.core.mean.html | 14 ++--- .../_autosummary/mlx.core.meshgrid.html | 16 ++--- .../mlx.core.metal.device_info.html | 12 ++-- .../mlx.core.metal.is_available.html | 10 +-- .../mlx.core.metal.start_capture.html | 12 ++-- .../mlx.core.metal.stop_capture.html | 10 +-- .../python/_autosummary/mlx.core.min.html | 14 ++--- .../python/_autosummary/mlx.core.minimum.html | 10 +-- .../_autosummary/mlx.core.moveaxis.html | 14 ++--- .../_autosummary/mlx.core.multiply.html | 10 +-- .../_autosummary/mlx.core.nan_to_num.html | 16 ++--- .../_autosummary/mlx.core.negative.html | 10 +-- .../_autosummary/mlx.core.new_stream.html | 8 +-- .../_autosummary/mlx.core.not_equal.html | 10 +-- .../python/_autosummary/mlx.core.ones.html | 12 ++-- .../_autosummary/mlx.core.ones_like.html | 10 +-- .../python/_autosummary/mlx.core.outer.html | 10 +-- .../python/_autosummary/mlx.core.pad.html | 12 ++-- .../_autosummary/mlx.core.partition.html | 14 ++--- .../python/_autosummary/mlx.core.power.html | 10 +-- .../python/_autosummary/mlx.core.prod.html | 14 ++--- .../_autosummary/mlx.core.put_along_axis.html | 12 ++-- .../_autosummary/mlx.core.quantize.html | 18 +++--- .../mlx.core.quantized_matmul.html | 18 +++--- .../python/_autosummary/mlx.core.radians.html | 10 +-- .../mlx.core.random.bernoulli.html | 16 ++--- .../mlx.core.random.categorical.html | 16 ++--- .../_autosummary/mlx.core.random.gumbel.html | 12 ++-- .../_autosummary/mlx.core.random.key.html | 12 ++-- .../_autosummary/mlx.core.random.laplace.html | 16 ++--- .../mlx.core.random.multivariate_normal.html | 12 ++-- .../_autosummary/mlx.core.random.normal.html | 12 ++-- .../mlx.core.random.permutation.html | 14 ++--- .../_autosummary/mlx.core.random.randint.html | 12 ++-- .../_autosummary/mlx.core.random.seed.html | 12 ++-- .../_autosummary/mlx.core.random.split.html | 12 ++-- .../mlx.core.random.truncated_normal.html | 12 ++-- .../_autosummary/mlx.core.random.uniform.html | 12 ++-- .../python/_autosummary/mlx.core.real.html | 10 +-- .../_autosummary/mlx.core.reciprocal.html | 10 +-- .../_autosummary/mlx.core.remainder.html | 10 +-- .../python/_autosummary/mlx.core.repeat.html | 14 ++--- .../mlx.core.reset_peak_memory.html | 10 +-- .../python/_autosummary/mlx.core.reshape.html | 12 ++-- .../_autosummary/mlx.core.right_shift.html | 10 +-- .../python/_autosummary/mlx.core.roll.html | 14 ++--- .../python/_autosummary/mlx.core.round.html | 12 ++-- .../python/_autosummary/mlx.core.rsqrt.html | 10 +-- .../python/_autosummary/mlx.core.save.html | 12 ++-- .../_autosummary/mlx.core.save_gguf.html | 18 +++--- .../mlx.core.save_safetensors.html | 16 ++--- .../python/_autosummary/mlx.core.savez.html | 12 ++-- .../mlx.core.savez_compressed.html | 12 ++-- .../mlx.core.set_cache_limit.html | 14 ++--- .../mlx.core.set_default_device.html | 10 +-- .../mlx.core.set_default_stream.html | 10 +-- .../mlx.core.set_memory_limit.html | 14 ++--- .../mlx.core.set_wired_limit.html | 14 ++--- .../python/_autosummary/mlx.core.sigmoid.html | 10 +-- .../python/_autosummary/mlx.core.sign.html | 10 +-- .../python/_autosummary/mlx.core.sin.html | 10 +-- .../python/_autosummary/mlx.core.sinh.html | 10 +-- .../python/_autosummary/mlx.core.slice.html | 14 ++--- .../_autosummary/mlx.core.slice_update.html | 12 ++-- .../python/_autosummary/mlx.core.softmax.html | 12 ++-- .../python/_autosummary/mlx.core.sort.html | 12 ++-- .../python/_autosummary/mlx.core.split.html | 16 ++--- .../python/_autosummary/mlx.core.sqrt.html | 10 +-- .../python/_autosummary/mlx.core.square.html | 10 +-- .../python/_autosummary/mlx.core.squeeze.html | 12 ++-- .../python/_autosummary/mlx.core.stack.html | 14 ++--- .../python/_autosummary/mlx.core.std.html | 16 ++--- .../_autosummary/mlx.core.stop_gradient.html | 10 +-- .../python/_autosummary/mlx.core.stream.html | 10 +-- .../_autosummary/mlx.core.subtract.html | 10 +-- .../python/_autosummary/mlx.core.sum.html | 14 ++--- .../_autosummary/mlx.core.swapaxes.html | 14 ++--- .../_autosummary/mlx.core.synchronize.html | 10 +-- .../python/_autosummary/mlx.core.take.html | 14 ++--- .../mlx.core.take_along_axis.html | 12 ++-- .../python/_autosummary/mlx.core.tan.html | 10 +-- .../python/_autosummary/mlx.core.tanh.html | 10 +-- .../_autosummary/mlx.core.tensordot.html | 12 ++-- .../python/_autosummary/mlx.core.tile.html | 12 ++-- .../python/_autosummary/mlx.core.topk.html | 14 ++--- .../python/_autosummary/mlx.core.trace.html | 16 ++--- .../_autosummary/mlx.core.transpose.html | 12 ++-- .../python/_autosummary/mlx.core.tri.html | 16 ++--- .../python/_autosummary/mlx.core.tril.html | 12 ++-- .../python/_autosummary/mlx.core.triu.html | 12 ++-- .../_autosummary/mlx.core.unflatten.html | 14 ++--- .../_autosummary/mlx.core.value_and_grad.html | 14 ++--- .../python/_autosummary/mlx.core.var.html | 16 ++--- .../python/_autosummary/mlx.core.view.html | 10 +-- .../python/_autosummary/mlx.core.vjp.html | 16 ++--- .../python/_autosummary/mlx.core.vmap.html | 14 ++--- .../python/_autosummary/mlx.core.where.html | 10 +-- .../python/_autosummary/mlx.core.zeros.html | 12 ++-- .../_autosummary/mlx.core.zeros_like.html | 10 +-- .../mlx.nn.average_gradients.html | 12 ++-- .../python/_autosummary/mlx.nn.quantize.html | 16 ++--- .../_autosummary/mlx.nn.value_and_grad.html | 10 +-- .../mlx.optimizers.clip_grad_norm.html | 14 ++--- .../_autosummary/mlx.utils.tree_flatten.html | 16 ++--- .../_autosummary/mlx.utils.tree_map.html | 16 ++--- .../mlx.utils.tree_map_with_path.html | 12 ++-- .../_autosummary/mlx.utils.tree_reduce.html | 8 +-- .../mlx.utils.tree_unflatten.html | 12 ++-- .../python/_autosummary/stream_class.html | 8 +-- docs/build/html/python/array.html | 12 ++-- docs/build/html/python/cuda.html | 8 +-- docs/build/html/python/data_types.html | 8 +-- .../html/python/devices_and_streams.html | 8 +-- docs/build/html/python/distributed.html | 8 +-- docs/build/html/python/export.html | 12 ++-- docs/build/html/python/fast.html | 8 +-- docs/build/html/python/fft.html | 8 +-- docs/build/html/python/linalg.html | 8 +-- docs/build/html/python/memory_management.html | 8 +-- docs/build/html/python/metal.html | 8 +-- docs/build/html/python/nn.html | 8 +-- .../python/nn/_autosummary/mlx.nn.ALiBi.html | 8 +-- .../nn/_autosummary/mlx.nn.AvgPool1d.html | 16 ++--- .../nn/_autosummary/mlx.nn.AvgPool2d.html | 16 ++--- .../nn/_autosummary/mlx.nn.AvgPool3d.html | 16 ++--- .../nn/_autosummary/mlx.nn.BatchNorm.html | 20 +++--- .../python/nn/_autosummary/mlx.nn.CELU.html | 8 +-- .../python/nn/_autosummary/mlx.nn.Conv1d.html | 26 ++++---- .../python/nn/_autosummary/mlx.nn.Conv2d.html | 26 ++++---- .../python/nn/_autosummary/mlx.nn.Conv3d.html | 24 ++++---- .../_autosummary/mlx.nn.ConvTranspose1d.html | 26 ++++---- .../_autosummary/mlx.nn.ConvTranspose2d.html | 26 ++++---- .../_autosummary/mlx.nn.ConvTranspose3d.html | 26 ++++---- .../nn/_autosummary/mlx.nn.Dropout.html | 12 ++-- .../nn/_autosummary/mlx.nn.Dropout2d.html | 12 ++-- .../nn/_autosummary/mlx.nn.Dropout3d.html | 12 ++-- .../python/nn/_autosummary/mlx.nn.ELU.html | 8 +-- .../nn/_autosummary/mlx.nn.Embedding.html | 14 ++--- .../python/nn/_autosummary/mlx.nn.GELU.html | 8 +-- .../python/nn/_autosummary/mlx.nn.GLU.html | 12 ++-- .../python/nn/_autosummary/mlx.nn.GRU.html | 16 ++--- .../nn/_autosummary/mlx.nn.GroupNorm.html | 20 +++--- .../nn/_autosummary/mlx.nn.HardShrink.html | 8 +-- .../nn/_autosummary/mlx.nn.HardTanh.html | 8 +-- .../nn/_autosummary/mlx.nn.Hardswish.html | 8 +-- .../nn/_autosummary/mlx.nn.InstanceNorm.html | 16 ++--- .../python/nn/_autosummary/mlx.nn.LSTM.html | 16 ++--- .../nn/_autosummary/mlx.nn.LayerNorm.html | 18 +++--- .../nn/_autosummary/mlx.nn.LeakyReLU.html | 8 +-- .../python/nn/_autosummary/mlx.nn.Linear.html | 16 ++--- .../nn/_autosummary/mlx.nn.LogSigmoid.html | 8 +-- .../nn/_autosummary/mlx.nn.LogSoftmax.html | 8 +-- .../nn/_autosummary/mlx.nn.MaxPool1d.html | 16 ++--- .../nn/_autosummary/mlx.nn.MaxPool2d.html | 16 ++--- .../nn/_autosummary/mlx.nn.MaxPool3d.html | 16 ++--- .../python/nn/_autosummary/mlx.nn.Mish.html | 8 +-- .../nn/_autosummary/mlx.nn.Module.apply.html | 10 +-- .../mlx.nn.Module.apply_to_modules.html | 10 +-- .../_autosummary/mlx.nn.Module.children.html | 8 +-- .../nn/_autosummary/mlx.nn.Module.eval.html | 8 +-- .../mlx.nn.Module.filter_and_map.html | 10 +-- .../nn/_autosummary/mlx.nn.Module.freeze.html | 16 ++--- .../mlx.nn.Module.leaf_modules.html | 8 +-- .../mlx.nn.Module.load_weights.html | 14 ++--- .../_autosummary/mlx.nn.Module.modules.html | 8 +-- .../mlx.nn.Module.named_modules.html | 8 +-- .../mlx.nn.Module.parameters.html | 8 +-- .../mlx.nn.Module.save_weights.html | 10 +-- .../_autosummary/mlx.nn.Module.set_dtype.html | 10 +-- .../nn/_autosummary/mlx.nn.Module.state.html | 8 +-- .../nn/_autosummary/mlx.nn.Module.train.html | 12 ++-- .../mlx.nn.Module.trainable_parameters.html | 8 +-- .../_autosummary/mlx.nn.Module.training.html | 8 +-- .../_autosummary/mlx.nn.Module.unfreeze.html | 16 ++--- .../nn/_autosummary/mlx.nn.Module.update.html | 14 ++--- .../mlx.nn.Module.update_modules.html | 14 ++--- .../mlx.nn.MultiHeadAttention.html | 26 ++++---- .../python/nn/_autosummary/mlx.nn.PReLU.html | 8 +-- .../mlx.nn.QuantizedEmbedding.html | 20 +++--- .../_autosummary/mlx.nn.QuantizedLinear.html | 22 +++---- .../nn/_autosummary/mlx.nn.RMSNorm.html | 14 ++--- .../python/nn/_autosummary/mlx.nn.RNN.html | 16 ++--- .../python/nn/_autosummary/mlx.nn.ReLU.html | 8 +-- .../python/nn/_autosummary/mlx.nn.ReLU2.html | 8 +-- .../python/nn/_autosummary/mlx.nn.ReLU6.html | 8 +-- .../python/nn/_autosummary/mlx.nn.RoPE.html | 18 +++--- .../python/nn/_autosummary/mlx.nn.SELU.html | 8 +-- .../nn/_autosummary/mlx.nn.Sequential.html | 10 +-- .../python/nn/_autosummary/mlx.nn.SiLU.html | 8 +-- .../nn/_autosummary/mlx.nn.Sigmoid.html | 8 +-- .../mlx.nn.SinusoidalPositionalEncoding.html | 22 +++---- .../nn/_autosummary/mlx.nn.Softmax.html | 8 +-- .../nn/_autosummary/mlx.nn.Softmin.html | 8 +-- .../nn/_autosummary/mlx.nn.Softplus.html | 8 +-- .../nn/_autosummary/mlx.nn.Softshrink.html | 8 +-- .../nn/_autosummary/mlx.nn.Softsign.html | 8 +-- .../python/nn/_autosummary/mlx.nn.Step.html | 10 +-- .../python/nn/_autosummary/mlx.nn.Tanh.html | 8 +-- .../nn/_autosummary/mlx.nn.Transformer.html | 24 ++++---- .../nn/_autosummary/mlx.nn.Upsample.html | 16 ++--- .../nn/_autosummary/mlx.nn.init.constant.html | 12 ++-- .../mlx.nn.init.glorot_normal.html | 12 ++-- .../mlx.nn.init.glorot_uniform.html | 12 ++-- .../_autosummary/mlx.nn.init.he_normal.html | 12 ++-- .../_autosummary/mlx.nn.init.he_uniform.html | 12 ++-- .../nn/_autosummary/mlx.nn.init.identity.html | 10 +-- .../nn/_autosummary/mlx.nn.init.normal.html | 14 ++--- .../nn/_autosummary/mlx.nn.init.uniform.html | 14 ++--- .../_autosummary_functions/mlx.nn.celu.html | 8 +-- .../nn/_autosummary_functions/mlx.nn.elu.html | 8 +-- .../_autosummary_functions/mlx.nn.gelu.html | 8 +-- .../mlx.nn.gelu_approx.html | 8 +-- .../mlx.nn.gelu_fast_approx.html | 8 +-- .../nn/_autosummary_functions/mlx.nn.glu.html | 12 ++-- .../mlx.nn.hard_shrink.html | 8 +-- .../mlx.nn.hard_tanh.html | 8 +-- .../mlx.nn.hardswish.html | 8 +-- .../mlx.nn.leaky_relu.html | 8 +-- .../mlx.nn.log_sigmoid.html | 8 +-- .../mlx.nn.log_softmax.html | 8 +-- .../mlx.nn.losses.binary_cross_entropy.html | 14 ++--- .../mlx.nn.losses.cosine_similarity_loss.html | 16 ++--- .../mlx.nn.losses.cross_entropy.html | 16 ++--- .../mlx.nn.losses.gaussian_nll_loss.html | 16 ++--- .../mlx.nn.losses.hinge_loss.html | 12 ++-- .../mlx.nn.losses.huber_loss.html | 14 ++--- .../mlx.nn.losses.kl_div_loss.html | 14 ++--- .../mlx.nn.losses.l1_loss.html | 12 ++-- .../mlx.nn.losses.log_cosh_loss.html | 12 ++-- .../mlx.nn.losses.margin_ranking_loss.html | 14 ++--- .../mlx.nn.losses.mse_loss.html | 12 ++-- .../mlx.nn.losses.nll_loss.html | 14 ++--- .../mlx.nn.losses.smooth_l1_loss.html | 14 ++--- .../mlx.nn.losses.triplet_loss.html | 20 +++--- .../_autosummary_functions/mlx.nn.mish.html | 8 +-- .../_autosummary_functions/mlx.nn.prelu.html | 8 +-- .../_autosummary_functions/mlx.nn.relu.html | 8 +-- .../_autosummary_functions/mlx.nn.relu2.html | 8 +-- .../_autosummary_functions/mlx.nn.relu6.html | 8 +-- .../_autosummary_functions/mlx.nn.selu.html | 8 +-- .../mlx.nn.sigmoid.html | 8 +-- .../_autosummary_functions/mlx.nn.silu.html | 8 +-- .../mlx.nn.softmax.html | 8 +-- .../mlx.nn.softmin.html | 8 +-- .../mlx.nn.softplus.html | 8 +-- .../mlx.nn.softshrink.html | 10 +-- .../_autosummary_functions/mlx.nn.step.html | 10 +-- .../_autosummary_functions/mlx.nn.tanh.html | 8 +-- docs/build/html/python/nn/functions.html | 8 +-- docs/build/html/python/nn/init.html | 8 +-- docs/build/html/python/nn/layers.html | 8 +-- docs/build/html/python/nn/losses.html | 8 +-- docs/build/html/python/nn/module.html | 8 +-- docs/build/html/python/ops.html | 8 +-- docs/build/html/python/optimizers.html | 8 +-- .../_autosummary/mlx.optimizers.AdaDelta.html | 16 ++--- .../mlx.optimizers.Adafactor.html | 28 ++++----- .../_autosummary/mlx.optimizers.Adagrad.html | 14 ++--- .../_autosummary/mlx.optimizers.Adam.html | 18 +++--- .../_autosummary/mlx.optimizers.AdamW.html | 20 +++--- .../_autosummary/mlx.optimizers.Adamax.html | 16 ++--- .../_autosummary/mlx.optimizers.Lion.html | 16 ++--- .../mlx.optimizers.MultiOptimizer.html | 14 ++--- .../_autosummary/mlx.optimizers.Muon.html | 20 +++--- ....optimizers.Optimizer.apply_gradients.html | 14 ++--- .../mlx.optimizers.Optimizer.init.html | 12 ++-- .../mlx.optimizers.Optimizer.state.html | 8 +-- .../mlx.optimizers.Optimizer.update.html | 12 ++-- .../_autosummary/mlx.optimizers.RMSprop.html | 16 ++--- .../_autosummary/mlx.optimizers.SGD.html | 20 +++--- .../mlx.optimizers.cosine_decay.html | 16 ++--- .../mlx.optimizers.exponential_decay.html | 14 ++--- .../mlx.optimizers.join_schedules.html | 14 ++--- .../mlx.optimizers.linear_schedule.html | 16 ++--- .../mlx.optimizers.step_decay.html | 16 ++--- .../python/optimizers/common_optimizers.html | 8 +-- .../html/python/optimizers/optimizer.html | 8 +-- .../html/python/optimizers/schedulers.html | 8 +-- docs/build/html/python/random.html | 8 +-- docs/build/html/python/transforms.html | 8 +-- docs/build/html/python/tree_utils.html | 8 +-- docs/build/html/search.html | 8 +-- docs/build/html/searchindex.js | 2 +- docs/build/html/usage/compile.html | 8 +-- docs/build/html/usage/distributed.html | 8 +-- docs/build/html/usage/export.html | 8 +-- .../build/html/usage/function_transforms.html | 12 ++-- docs/build/html/usage/indexing.html | 10 +-- .../html/usage/launching_distributed.html | 8 +-- docs/build/html/usage/lazy_evaluation.html | 10 +-- docs/build/html/usage/numpy.html | 14 ++--- docs/build/html/usage/quick_start.html | 8 +-- docs/build/html/usage/saving_and_loading.html | 10 +-- docs/build/html/usage/unified_memory.html | 8 +-- docs/build/html/usage/using_streams.html | 8 +-- 535 files changed, 3196 insertions(+), 3155 deletions(-) diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 5b8f4b011..cf982d179 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 4c95f050a6b931bc41e8ead0c39126bd +config: a85b8c51cc3365be6cea33d5b2a3c4c7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 90a3fb8b2..66acb591c 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '0.29.2', + VERSION: '0.29.3', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/cpp/ops.html b/docs/build/html/cpp/ops.html index 63045ea68..eb0c35077 100644 --- a/docs/build/html/cpp/ops.html +++ b/docs/build/html/cpp/ops.html @@ -8,7 +8,7 @@ - Operations — MLX 0.29.2 documentation + Operations — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -1078,6 +1078,7 @@ document.write(`
  • argpartition()
  • topk()
  • topk()
  • +
  • logcumsumexp()
  • logcumsumexp()
  • logsumexp()
  • logsumexp()
  • @@ -1175,9 +1176,13 @@ document.write(`
  • softmax()
  • softmax()
  • power()
  • +
  • cumsum()
  • cumsum()
  • +
  • cumprod()
  • cumprod()
  • +
  • cummax()
  • cummax()
  • +
  • cummin()
  • cummin()
  • conv_general()
  • conv_general()
  • @@ -2154,10 +2159,16 @@ document.write(`

    Returns topk elements of the array along a given axis.

    +
    +
    +array logcumsumexp(const array &a, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    +

    Cumulative logsumexp of an array.

    +
    +
    array logcumsumexp(const array &a, int axis, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    -

    Cumulative logsumexp of an array.

    +

    Cumulative logsumexp of an array along the given axis.

    @@ -2769,28 +2780,52 @@ document.write(`

    Raise elements of a to the power of b element-wise.

    +
    +
    +array cumsum(const array &a, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    +

    Cumulative sum of an array.

    +
    +
    array cumsum(const array &a, int axis, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    -

    Cumulative sum of an array.

    +

    Cumulative sum of an array along the given axis.

    +
    + +
    +
    +array cumprod(const array &a, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    +

    Cumulative product of an array.

    array cumprod(const array &a, int axis, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    -

    Cumulative product of an array.

    +

    Cumulative product of an array along the given axis.

    +
    + +
    +
    +array cummax(const array &a, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    +

    Cumulative max of an array.

    array cummax(const array &a, int axis, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    -

    Cumulative max of an array.

    +

    Cumulative max of an array along the given axis.

    +
    + +
    +
    +array cummin(const array &a, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    +

    Cumulative min of an array.

    array cummin(const array &a, int axis, bool reverse = false, bool inclusive = true, StreamOrDevice s = {})#
    -

    Cumulative min of an array.

    +

    Cumulative min of an array along the given axis.

    @@ -3316,6 +3351,7 @@ document.write(`
  • argpartition()
  • topk()
  • topk()
  • +
  • logcumsumexp()
  • logcumsumexp()
  • logsumexp()
  • logsumexp()
  • @@ -3413,9 +3449,13 @@ document.write(`
  • softmax()
  • softmax()
  • power()
  • +
  • cumsum()
  • cumsum()
  • +
  • cumprod()
  • cumprod()
  • +
  • cummax()
  • cummax()
  • +
  • cummin()
  • cummin()
  • conv_general()
  • conv_general()
  • diff --git a/docs/build/html/dev/custom_metal_kernels.html b/docs/build/html/dev/custom_metal_kernels.html index 45e410615..6821a01e2 100644 --- a/docs/build/html/dev/custom_metal_kernels.html +++ b/docs/build/html/dev/custom_metal_kernels.html @@ -8,7 +8,7 @@ - Custom Metal Kernels — MLX 0.29.2 documentation + Custom Metal Kernels — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/dev/extensions.html b/docs/build/html/dev/extensions.html index 544c8729d..1e4132779 100644 --- a/docs/build/html/dev/extensions.html +++ b/docs/build/html/dev/extensions.html @@ -8,7 +8,7 @@ - Custom Extensions in MLX — MLX 0.29.2 documentation + Custom Extensions in MLX — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/dev/metal_debugger.html b/docs/build/html/dev/metal_debugger.html index 12f620a5c..f017c9085 100644 --- a/docs/build/html/dev/metal_debugger.html +++ b/docs/build/html/dev/metal_debugger.html @@ -8,7 +8,7 @@ - Metal Debugger — MLX 0.29.2 documentation + Metal Debugger — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/dev/mlx_in_cpp.html b/docs/build/html/dev/mlx_in_cpp.html index d1efc9087..a6f412b11 100644 --- a/docs/build/html/dev/mlx_in_cpp.html +++ b/docs/build/html/dev/mlx_in_cpp.html @@ -8,7 +8,7 @@ - Using MLX in C++ — MLX 0.29.2 documentation + Using MLX in C++ — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -139,8 +139,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/examples/linear_regression.html b/docs/build/html/examples/linear_regression.html index a375443da..ab3176005 100644 --- a/docs/build/html/examples/linear_regression.html +++ b/docs/build/html/examples/linear_regression.html @@ -8,7 +8,7 @@ - Linear Regression — MLX 0.29.2 documentation + Linear Regression — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/examples/llama-inference.html b/docs/build/html/examples/llama-inference.html index ad3b3af69..766f5bd40 100644 --- a/docs/build/html/examples/llama-inference.html +++ b/docs/build/html/examples/llama-inference.html @@ -8,7 +8,7 @@ - LLM inference — MLX 0.29.2 documentation + LLM inference — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/examples/mlp.html b/docs/build/html/examples/mlp.html index 0c1160678..37aea8d6f 100644 --- a/docs/build/html/examples/mlp.html +++ b/docs/build/html/examples/mlp.html @@ -8,7 +8,7 @@ - Multi-Layer Perceptron — MLX 0.29.2 documentation + Multi-Layer Perceptron — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index a9538efa8..ed4cfbdc1 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -7,7 +7,7 @@ - Index — MLX 0.29.2 documentation + Index — MLX 0.29.3 documentation @@ -36,7 +36,7 @@ - + @@ -139,8 +139,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -1245,7 +1245,7 @@ document.write(`
  • cuda_kernel() (in module mlx.core.fast)
  • -
  • cummax (C++ function) +
  • cummax (C++ function), [1]
  • cummax() (array method) @@ -1253,7 +1253,7 @@ document.write(`
  • (in module mlx.core)
  • -
  • cummin (C++ function) +
  • cummin (C++ function), [1]
  • cummin() (array method) @@ -1261,7 +1261,7 @@ document.write(`
  • (in module mlx.core)
  • -
  • cumprod (C++ function) +
  • cumprod (C++ function), [1]
  • cumprod() (array method) @@ -1269,7 +1269,7 @@ document.write(`
  • (in module mlx.core)
  • -
  • cumsum (C++ function) +
  • cumsum (C++ function), [1]
  • cumsum() (array method) @@ -1761,7 +1761,7 @@ document.write(`
  • logaddexp() (in module mlx.core)
  • -
  • logcumsumexp (C++ function) +
  • logcumsumexp (C++ function), [1]
  • logcumsumexp() (array method) diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 9074ae226..a61d11b69 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -8,7 +8,7 @@ - MLX — MLX 0.29.2 documentation + MLX — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -142,8 +142,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/install.html b/docs/build/html/install.html index 0c6c4ee16..fd15a81c4 100644 --- a/docs/build/html/install.html +++ b/docs/build/html/install.html @@ -8,7 +8,7 @@ - Build and Install — MLX 0.29.2 documentation + Build and Install — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 9d125e2fa523324bb750895d35f02e371820c361..7c7cf5103cfc2208bb9b16b9a1cfa28f49564784 100644 GIT binary patch literal 28708 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 diff --git a/docs/build/html/python/_autosummary/mlx.core.Device.html b/docs/build/html/python/_autosummary/mlx.core.Device.html index b4e33ed4f..28138d1cb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.Device.html +++ b/docs/build/html/python/_autosummary/mlx.core.Device.html @@ -8,7 +8,7 @@ - mlx.core.Device — MLX 0.29.2 documentation + mlx.core.Device — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -939,7 +939,7 @@ document.write(`

    A device to run operations on.

    -__init__(self, type: mlx.core.DeviceType, index: int = 0) None#
    +__init__(self, type: mlx.core.DeviceType, index: int = 0) None#

    Methods

    diff --git a/docs/build/html/python/_autosummary/mlx.core.Dtype.html b/docs/build/html/python/_autosummary/mlx.core.Dtype.html index 2254bedf2..e49350b4c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.Dtype.html +++ b/docs/build/html/python/_autosummary/mlx.core.Dtype.html @@ -8,7 +8,7 @@ - mlx.core.Dtype — MLX 0.29.2 documentation + mlx.core.Dtype — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html b/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html index 114e0c5f0..82fcd9ed4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html +++ b/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html @@ -8,7 +8,7 @@ - mlx.core.DtypeCategory — MLX 0.29.2 documentation + mlx.core.DtypeCategory — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.abs.html b/docs/build/html/python/_autosummary/mlx.core.abs.html index b3ebe12f6..5901b1235 100644 --- a/docs/build/html/python/_autosummary/mlx.core.abs.html +++ b/docs/build/html/python/_autosummary/mlx.core.abs.html @@ -8,7 +8,7 @@ - mlx.core.abs — MLX 0.29.2 documentation + mlx.core.abs — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

    mlx.core.abs#

    -abs(a: array, /, *, stream: None | Stream | Device = None) array#
    +abs(a: array, /, *, stream: None | Stream | Device = None) array#

    Element-wise absolute value.

    Parameters:
    diff --git a/docs/build/html/python/_autosummary/mlx.core.add.html b/docs/build/html/python/_autosummary/mlx.core.add.html index 04da49534..976fedb50 100644 --- a/docs/build/html/python/_autosummary/mlx.core.add.html +++ b/docs/build/html/python/_autosummary/mlx.core.add.html @@ -8,7 +8,7 @@ - mlx.core.add — MLX 0.29.2 documentation + mlx.core.add — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

    mlx.core.add#

    -add(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
    +add(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

    Element-wise addition.

    Add two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

    diff --git a/docs/build/html/python/_autosummary/mlx.core.addmm.html b/docs/build/html/python/_autosummary/mlx.core.addmm.html index 812551b2a..b4c54a122 100644 --- a/docs/build/html/python/_autosummary/mlx.core.addmm.html +++ b/docs/build/html/python/_autosummary/mlx.core.addmm.html @@ -8,7 +8,7 @@ - mlx.core.addmm — MLX 0.29.2 documentation + mlx.core.addmm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

    mlx.core.addmm#

    -addmm(c: array, a: array, b: array, /, alpha: float = 1.0, beta: float = 1.0, *, stream: None | Stream | Device = None) array#
    +addmm(c: array, a: array, b: array, /, alpha: float = 1.0, beta: float = 1.0, *, stream: None | Stream | Device = None) array#

    Matrix multiplication with addition and optional scaling.

    Perform the (possibly batched) matrix multiplication of two arrays and add to the result with optional scaling factors.

    @@ -942,9 +942,9 @@ with optional scaling factors.

  • c (array) – Input array or scalar.

  • a (array) – Input array or scalar.

  • b (array) – Input array or scalar.

  • -
  • alpha (float, optional) – Scaling factor for the +

  • alpha (float, optional) – Scaling factor for the matrix product of a and b (default: 1)

  • -
  • beta (float, optional) – Scaling factor for c (default: 1)

  • +
  • beta (float, optional) – Scaling factor for c (default: 1)

  • Returns:
    diff --git a/docs/build/html/python/_autosummary/mlx.core.all.html b/docs/build/html/python/_autosummary/mlx.core.all.html index 38bbffde7..b6738e211 100644 --- a/docs/build/html/python/_autosummary/mlx.core.all.html +++ b/docs/build/html/python/_autosummary/mlx.core.all.html @@ -8,7 +8,7 @@ - mlx.core.all — MLX 0.29.2 documentation + mlx.core.all — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,16 +932,16 @@ document.write(`

    mlx.core.all#

    -all(a: array, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#
    +all(a: array, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#

    An and reduction over the given axes.

    Parameters:
    • a (array) – Input array.

    • -
    • axis (int or list(int), optional) – Optional axis or +

    • axis (int or list(int), optional) – Optional axis or axes to reduce over. If unspecified this defaults to reducing over the entire array.

    • -
    • keepdims (bool, optional) – Keep reduced axes as +

    • keepdims (bool, optional) – Keep reduced axes as singleton dimensions, defaults to False.

    diff --git a/docs/build/html/python/_autosummary/mlx.core.allclose.html b/docs/build/html/python/_autosummary/mlx.core.allclose.html index 04ac068a3..a379d50c8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.allclose.html +++ b/docs/build/html/python/_autosummary/mlx.core.allclose.html @@ -8,7 +8,7 @@ - mlx.core.allclose — MLX 0.29.2 documentation + mlx.core.allclose — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

    mlx.core.allclose#

    -allclose(a: array, b: array, /, rtol: float = 1e-05, atol: float = 1e-08, *, equal_nan: bool = False, stream: None | Stream | Device = None) array#
    +allclose(a: array, b: array, /, rtol: float = 1e-05, atol: float = 1e-08, *, equal_nan: bool = False, stream: None | Stream | Device = None) array#

    Approximate comparison of two arrays.

    Infinite values are considered equal if they have the same sign, NaN values are not equal unless equal_nan is True.

    The arrays are considered equal if:

    @@ -946,9 +946,9 @@ broadcasting.

    • a (array) – Input array.

    • b (array) – Input array.

    • -
    • rtol (float) – Relative tolerance.

    • -
    • atol (float) – Absolute tolerance.

    • -
    • equal_nan (bool) – If True, NaNs are considered equal. +

    • rtol (float) – Relative tolerance.

    • +
    • atol (float) – Absolute tolerance.

    • +
    • equal_nan (bool) – If True, NaNs are considered equal. Defaults to False.

    diff --git a/docs/build/html/python/_autosummary/mlx.core.any.html b/docs/build/html/python/_autosummary/mlx.core.any.html index 6df618871..74f4413a6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.any.html +++ b/docs/build/html/python/_autosummary/mlx.core.any.html @@ -8,7 +8,7 @@ - mlx.core.any — MLX 0.29.2 documentation + mlx.core.any — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,16 +932,16 @@ document.write(`

    mlx.core.any#

    -any(a: array, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#
    +any(a: array, /, axis: None | int | Sequence[int] = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#

    An or reduction over the given axes.

    Parameters:
    • a (array) – Input array.

    • -
    • axis (int or list(int), optional) – Optional axis or +

    • axis (int or list(int), optional) – Optional axis or axes to reduce over. If unspecified this defaults to reducing over the entire array.

    • -
    • keepdims (bool, optional) – Keep reduced axes as +

    • keepdims (bool, optional) – Keep reduced axes as singleton dimensions, defaults to False.

    diff --git a/docs/build/html/python/_autosummary/mlx.core.arange.html b/docs/build/html/python/_autosummary/mlx.core.arange.html index f636ae4bf..bb8b339e3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arange.html +++ b/docs/build/html/python/_autosummary/mlx.core.arange.html @@ -8,7 +8,7 @@ - mlx.core.arange — MLX 0.29.2 documentation + mlx.core.arange — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,9 +932,9 @@ document.write(`

    mlx.core.arange#

    -arange(start: int | float, stop: int | float, step: None | int | float, dtype: Dtype | None = None, *, stream: None | Stream | Device = None) array#
    +arange(start: int | float, stop: int | float, step: None | int | float, dtype: Dtype | None = None, *, stream: None | Stream | Device = None) array#
    -arange(stop: int | float, step: None | int | float = None, dtype: Dtype | None = None, *, stream: None | Stream | Device = None) array
    +arange(stop: int | float, step: None | int | float = None, dtype: Dtype | None = None, *, stream: None | Stream | Device = None) array

    Overloaded function.

    1. arange(start : Union[int, float], stop : Union[int, float], step : Union[None, int, float], dtype: Optional[Dtype] = None, *, stream: Union[None, Stream, Device] = None) -> array

      diff --git a/docs/build/html/python/_autosummary/mlx.core.arccos.html b/docs/build/html/python/_autosummary/mlx.core.arccos.html index 8049eadd1..746d68478 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arccos.html +++ b/docs/build/html/python/_autosummary/mlx.core.arccos.html @@ -8,7 +8,7 @@ - mlx.core.arccos — MLX 0.29.2 documentation + mlx.core.arccos — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arccos#

      -arccos(a: array, /, *, stream: None | Stream | Device = None) array#
      +arccos(a: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse cosine.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.arccosh.html b/docs/build/html/python/_autosummary/mlx.core.arccosh.html index 3ef3d0c93..d39f3cae2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arccosh.html +++ b/docs/build/html/python/_autosummary/mlx.core.arccosh.html @@ -8,7 +8,7 @@ - mlx.core.arccosh — MLX 0.29.2 documentation + mlx.core.arccosh — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arccosh#

      -arccosh(a: array, /, *, stream: None | Stream | Device = None) array#
      +arccosh(a: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse hyperbolic cosine.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.arcsin.html b/docs/build/html/python/_autosummary/mlx.core.arcsin.html index 835635a57..4be3ce315 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arcsin.html +++ b/docs/build/html/python/_autosummary/mlx.core.arcsin.html @@ -8,7 +8,7 @@ - mlx.core.arcsin — MLX 0.29.2 documentation + mlx.core.arcsin — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arcsin#

      -arcsin(a: array, /, *, stream: None | Stream | Device = None) array#
      +arcsin(a: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse sine.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.arcsinh.html b/docs/build/html/python/_autosummary/mlx.core.arcsinh.html index dd8f2f3ff..2976eb7dd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arcsinh.html +++ b/docs/build/html/python/_autosummary/mlx.core.arcsinh.html @@ -8,7 +8,7 @@ - mlx.core.arcsinh — MLX 0.29.2 documentation + mlx.core.arcsinh — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arcsinh#

      -arcsinh(a: array, /, *, stream: None | Stream | Device = None) array#
      +arcsinh(a: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse hyperbolic sine.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.arctan.html b/docs/build/html/python/_autosummary/mlx.core.arctan.html index ade61a5a5..32a01bccd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arctan.html +++ b/docs/build/html/python/_autosummary/mlx.core.arctan.html @@ -8,7 +8,7 @@ - mlx.core.arctan — MLX 0.29.2 documentation + mlx.core.arctan — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arctan#

      -arctan(a: array, /, *, stream: None | Stream | Device = None) array#
      +arctan(a: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse tangent.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.arctan2.html b/docs/build/html/python/_autosummary/mlx.core.arctan2.html index db2b9fed9..de9fba2fa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arctan2.html +++ b/docs/build/html/python/_autosummary/mlx.core.arctan2.html @@ -8,7 +8,7 @@ - mlx.core.arctan2 — MLX 0.29.2 documentation + mlx.core.arctan2 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arctan2#

      -arctan2(a: array, b: array, /, *, stream: None | Stream | Device = None) array#
      +arctan2(a: array, b: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse tangent of the ratio of two arrays.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.arctanh.html b/docs/build/html/python/_autosummary/mlx.core.arctanh.html index f9e392dd7..c1345d440 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arctanh.html +++ b/docs/build/html/python/_autosummary/mlx.core.arctanh.html @@ -8,7 +8,7 @@ - mlx.core.arctanh — MLX 0.29.2 documentation + mlx.core.arctanh — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.arctanh#

      -arctanh(a: array, /, *, stream: None | Stream | Device = None) array#
      +arctanh(a: array, /, *, stream: None | Stream | Device = None) array#

      Element-wise inverse hyperbolic tangent.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.argmax.html b/docs/build/html/python/_autosummary/mlx.core.argmax.html index 76ba54bf8..cd871f1e8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argmax.html +++ b/docs/build/html/python/_autosummary/mlx.core.argmax.html @@ -8,7 +8,7 @@ - mlx.core.argmax — MLX 0.29.2 documentation + mlx.core.argmax — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,15 +932,15 @@ document.write(`

      mlx.core.argmax#

      -argmax(a: array, /, axis: None | int = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#
      +argmax(a: array, /, axis: None | int = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#

      Indices of the maximum values along the axis.

      Parameters:
      • a (array) – Input array.

      • -
      • axis (int, optional) – Optional axis to reduce over. If unspecified +

      • axis (int, optional) – Optional axis to reduce over. If unspecified this defaults to reducing over the entire array.

      • -
      • keepdims (bool, optional) – Keep reduced axes as +

      • keepdims (bool, optional) – Keep reduced axes as singleton dimensions, defaults to False.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.argmin.html b/docs/build/html/python/_autosummary/mlx.core.argmin.html index c59bcd55f..167b99391 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argmin.html +++ b/docs/build/html/python/_autosummary/mlx.core.argmin.html @@ -8,7 +8,7 @@ - mlx.core.argmin — MLX 0.29.2 documentation + mlx.core.argmin — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,15 +932,15 @@ document.write(`

      mlx.core.argmin#

      -argmin(a: array, /, axis: None | int = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#
      +argmin(a: array, /, axis: None | int = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#

      Indices of the minimum values along the axis.

      Parameters:
      • a (array) – Input array.

      • -
      • axis (int, optional) – Optional axis to reduce over. If unspecified +

      • axis (int, optional) – Optional axis to reduce over. If unspecified this defaults to reducing over the entire array.

      • -
      • keepdims (bool, optional) – Keep reduced axes as +

      • keepdims (bool, optional) – Keep reduced axes as singleton dimensions, defaults to False.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.argpartition.html b/docs/build/html/python/_autosummary/mlx.core.argpartition.html index 160c76cbd..742a1b886 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argpartition.html +++ b/docs/build/html/python/_autosummary/mlx.core.argpartition.html @@ -8,7 +8,7 @@ - mlx.core.argpartition — MLX 0.29.2 documentation + mlx.core.argpartition — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.argpartition#

      -argpartition(a: array, /, kth: int, axis: None | int = -1, *, stream: None | Stream | Device = None) array#
      +argpartition(a: array, /, kth: int, axis: None | int = -1, *, stream: None | Stream | Device = None) array#

      Returns the indices that partition the array.

      The ordering of the elements within a partition in given by the indices is undefined.

      @@ -940,12 +940,12 @@ is undefined.

      Parameters:
      • a (array) – Input array.

      • -
      • kth (int) – Element index at the kth position in the output will +

      • kth (int) – Element index at the kth position in the output will give the sorted position. All indices before the kth position will be of elements less or equal to the element at the kth index and all indices after will be of elements greater or equal to the element at the kth index.

      • -
      • axis (int or None, optional) – Optional axis to partition over. +

      • axis (int or None, optional) – Optional axis to partition over. If None, this partitions over the flattened array. If unspecified, it defaults to -1.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.argsort.html b/docs/build/html/python/_autosummary/mlx.core.argsort.html index 52c06f64f..6f36958c8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argsort.html +++ b/docs/build/html/python/_autosummary/mlx.core.argsort.html @@ -8,7 +8,7 @@ - mlx.core.argsort — MLX 0.29.2 documentation + mlx.core.argsort — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,13 +932,13 @@ document.write(`

      mlx.core.argsort#

      -argsort(a: array, /, axis: None | int = -1, *, stream: None | Stream | Device = None) array#
      +argsort(a: array, /, axis: None | int = -1, *, stream: None | Stream | Device = None) array#

      Returns the indices that sort the array.

      Parameters:
      • a (array) – Input array.

      • -
      • axis (int or None, optional) – Optional axis to sort over. +

      • axis (int or None, optional) – Optional axis to sort over. If None, this sorts over the flattened array. If unspecified, it defaults to -1 (sorting over the last axis).

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.T.html b/docs/build/html/python/_autosummary/mlx.core.array.T.html index 0047c9bf0..dec3d7d1d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.T.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.T.html @@ -8,7 +8,7 @@ - mlx.core.array.T — MLX 0.29.2 documentation + mlx.core.array.T — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.abs.html b/docs/build/html/python/_autosummary/mlx.core.array.abs.html index e10dc953a..2d64735fa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.abs.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.abs.html @@ -8,7 +8,7 @@ - mlx.core.array.abs — MLX 0.29.2 documentation + mlx.core.array.abs — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.abs#

      -array.abs(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.abs(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See abs().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.all.html b/docs/build/html/python/_autosummary/mlx.core.array.all.html index e01f2d932..ecc09d46e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.all.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.all.html @@ -8,7 +8,7 @@ - mlx.core.array.all — MLX 0.29.2 documentation + mlx.core.array.all — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.all#

      -array.all(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.all(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See all().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.any.html b/docs/build/html/python/_autosummary/mlx.core.array.any.html index edc1246cd..b9dd6b4b9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.any.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.any.html @@ -8,7 +8,7 @@ - mlx.core.array.any — MLX 0.29.2 documentation + mlx.core.array.any — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.any#

      -array.any(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.any(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See any().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.argmax.html b/docs/build/html/python/_autosummary/mlx.core.array.argmax.html index eb68b7dda..28323b373 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.argmax.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.argmax.html @@ -8,7 +8,7 @@ - mlx.core.array.argmax — MLX 0.29.2 documentation + mlx.core.array.argmax — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.argmax#

      -array.argmax(self, axis: Optional[int] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.argmax(self, axis: Optional[int] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See argmax().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.argmin.html b/docs/build/html/python/_autosummary/mlx.core.array.argmin.html index 977fbff56..11caad17c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.argmin.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.argmin.html @@ -8,7 +8,7 @@ - mlx.core.array.argmin — MLX 0.29.2 documentation + mlx.core.array.argmin — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.argmin#

      -array.argmin(self, axis: Optional[int] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.argmin(self, axis: Optional[int] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See argmin().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.astype.html b/docs/build/html/python/_autosummary/mlx.core.array.astype.html index 9a78073e7..db8bada76 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.astype.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.astype.html @@ -8,7 +8,7 @@ - mlx.core.array.astype — MLX 0.29.2 documentation + mlx.core.array.astype — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.astype#

      -array.astype(self, dtype: Dtype, stream: Optional[Union[Stream, Device]] = None) array#
      +array.astype(self, dtype: Dtype, stream: Optional[Union[Stream, Device]] = None) array#

      Cast the array to a specified type.

      Parameters:
      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.at.html b/docs/build/html/python/_autosummary/mlx.core.array.at.html index a3180fe0c..29dc2d5a6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.at.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.at.html @@ -8,7 +8,7 @@ - mlx.core.array.at — MLX 0.29.2 documentation + mlx.core.array.at — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.conj.html b/docs/build/html/python/_autosummary/mlx.core.array.conj.html index 09f5dcb41..84a547617 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.conj.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.conj.html @@ -8,7 +8,7 @@ - mlx.core.array.conj — MLX 0.29.2 documentation + mlx.core.array.conj — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.conj#

      -array.conj(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.conj(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See conj().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cos.html b/docs/build/html/python/_autosummary/mlx.core.array.cos.html index 0486a7b41..627a14e08 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cos.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cos.html @@ -8,7 +8,7 @@ - mlx.core.array.cos — MLX 0.29.2 documentation + mlx.core.array.cos — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.cos#

      -array.cos(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.cos(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See cos().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cummax.html b/docs/build/html/python/_autosummary/mlx.core.array.cummax.html index b35ef12dc..bd0bb46e0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cummax.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cummax.html @@ -8,7 +8,7 @@ - mlx.core.array.cummax — MLX 0.29.2 documentation + mlx.core.array.cummax — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.cummax#

      -array.cummax(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#
      +array.cummax(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#

      See cummax().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cummin.html b/docs/build/html/python/_autosummary/mlx.core.array.cummin.html index 783e44d97..c8b366fae 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cummin.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cummin.html @@ -8,7 +8,7 @@ - mlx.core.array.cummin — MLX 0.29.2 documentation + mlx.core.array.cummin — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.cummin#

      -array.cummin(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#
      +array.cummin(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#

      See cummin().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html b/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html index b40a12e9b..09bd817ab 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html @@ -8,7 +8,7 @@ - mlx.core.array.cumprod — MLX 0.29.2 documentation + mlx.core.array.cumprod — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.cumprod#

      -array.cumprod(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#
      +array.cumprod(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#

      See cumprod().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html b/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html index a5140718a..fea2f8277 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html @@ -8,7 +8,7 @@ - mlx.core.array.cumsum — MLX 0.29.2 documentation + mlx.core.array.cumsum — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.cumsum#

      -array.cumsum(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#
      +array.cumsum(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#

      See cumsum().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.diag.html b/docs/build/html/python/_autosummary/mlx.core.array.diag.html index ed3fc209d..33ea52efb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.diag.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.diag.html @@ -8,7 +8,7 @@ - mlx.core.array.diag — MLX 0.29.2 documentation + mlx.core.array.diag — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.diag#

      -array.diag(self, k: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.diag(self, k: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#

      Extract a diagonal or construct a diagonal matrix.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html b/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html index a43f667d2..48b8e7c55 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html @@ -8,7 +8,7 @@ - mlx.core.array.diagonal — MLX 0.29.2 documentation + mlx.core.array.diagonal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.diagonal#

      -array.diagonal(self, offset: int = 0, axis1: int = 0, axis2: int = 1, stream: Optional[Union[Stream, Device]] = None) array#
      +array.diagonal(self, offset: int = 0, axis1: int = 0, axis2: int = 1, stream: Optional[Union[Stream, Device]] = None) array#

      See diagonal().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.dtype.html b/docs/build/html/python/_autosummary/mlx.core.array.dtype.html index f7d79fb2f..87583d5cb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.dtype.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.dtype.html @@ -8,7 +8,7 @@ - mlx.core.array.dtype — MLX 0.29.2 documentation + mlx.core.array.dtype — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.exp.html b/docs/build/html/python/_autosummary/mlx.core.array.exp.html index a7590e6e9..ab4981212 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.exp.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.exp.html @@ -8,7 +8,7 @@ - mlx.core.array.exp — MLX 0.29.2 documentation + mlx.core.array.exp — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.exp#

      -array.exp(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.exp(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See exp().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.flatten.html b/docs/build/html/python/_autosummary/mlx.core.array.flatten.html index 3177e5ab5..6f8a40d49 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.flatten.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.flatten.html @@ -8,7 +8,7 @@ - mlx.core.array.flatten — MLX 0.29.2 documentation + mlx.core.array.flatten — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.flatten#

      -array.flatten(self, start_axis: int = 0, end_axis: int = -1, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.flatten(self, start_axis: int = 0, end_axis: int = -1, *, stream: Optional[Union[Stream, Device]] = None) array#

      See flatten().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.html b/docs/build/html/python/_autosummary/mlx.core.array.html index 9ba40833c..750f5497c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.html @@ -8,7 +8,7 @@ - mlx.core.array — MLX 0.29.2 documentation + mlx.core.array — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -939,7 +939,7 @@ document.write(`

      An N-dimensional array object.

      -__init__(self: array, val: scalar | list | tuple | ndarray | array, dtype: Dtype | None = None)#
      +__init__(self: array, val: scalar | list | tuple | ndarray | array, dtype: Dtype | None = None)#

      Methods

      @@ -1036,7 +1036,7 @@ document.write(`

      See reciprocal().

      reshape(self, *shape[, stream])

      -

      Equivalent to reshape() but the shape can be passed either as a tuple or as separate arguments.

      +

      Equivalent to reshape() but the shape can be passed either as a tuple or as separate arguments.

      round(self[, decimals, stream])

      See round().

      @@ -1069,7 +1069,7 @@ document.write(`

      See swapaxes().

      tolist(self)

      -

      Convert the array to a Python list.

      +

      Convert the array to a Python list.

      transpose(self, *axes[, stream])

      Equivalent to transpose() but the axes can be passed either as a tuple or as separate arguments.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.imag.html b/docs/build/html/python/_autosummary/mlx.core.array.imag.html index a8631a7f2..fe9ab04d7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.imag.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.imag.html @@ -8,7 +8,7 @@ - mlx.core.array.imag — MLX 0.29.2 documentation + mlx.core.array.imag — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.item.html b/docs/build/html/python/_autosummary/mlx.core.array.item.html index 1b4704a9a..82c8900fa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.item.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.item.html @@ -8,7 +8,7 @@ - mlx.core.array.item — MLX 0.29.2 documentation + mlx.core.array.item — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html b/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html index 040af0b2d..37f63bba4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html @@ -8,7 +8,7 @@ - mlx.core.array.itemsize — MLX 0.29.2 documentation + mlx.core.array.itemsize — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log.html b/docs/build/html/python/_autosummary/mlx.core.array.log.html index f6c55d0a3..f0d63a6d9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log.html @@ -8,7 +8,7 @@ - mlx.core.array.log — MLX 0.29.2 documentation + mlx.core.array.log — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.log#

      -array.log(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.log(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See log().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log10.html b/docs/build/html/python/_autosummary/mlx.core.array.log10.html index 323a53d7b..68a75ca4f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log10.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log10.html @@ -8,7 +8,7 @@ - mlx.core.array.log10 — MLX 0.29.2 documentation + mlx.core.array.log10 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.log10#

      -array.log10(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.log10(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See log10().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log1p.html b/docs/build/html/python/_autosummary/mlx.core.array.log1p.html index e8148cc96..99727a0a8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log1p.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log1p.html @@ -8,7 +8,7 @@ - mlx.core.array.log1p — MLX 0.29.2 documentation + mlx.core.array.log1p — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.log1p#

      -array.log1p(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.log1p(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See log1p().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log2.html b/docs/build/html/python/_autosummary/mlx.core.array.log2.html index 56505a10c..0355c0d7d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log2.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log2.html @@ -8,7 +8,7 @@ - mlx.core.array.log2 — MLX 0.29.2 documentation + mlx.core.array.log2 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.log2#

      -array.log2(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.log2(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See log2().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.logcumsumexp.html b/docs/build/html/python/_autosummary/mlx.core.array.logcumsumexp.html index 43b8d2826..f43f87edc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.logcumsumexp.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.logcumsumexp.html @@ -8,7 +8,7 @@ - mlx.core.array.logcumsumexp — MLX 0.29.2 documentation + mlx.core.array.logcumsumexp — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.logcumsumexp#

      -array.logcumsumexp(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#
      +array.logcumsumexp(self, axis: Optional[int] = None, *, reverse: bool = False, inclusive: bool = True, stream: Optional[Union[Stream, Device]] = None) array#

      See logcumsumexp().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html b/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html index 3d17b67bf..3506feb79 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html @@ -8,7 +8,7 @@ - mlx.core.array.logsumexp — MLX 0.29.2 documentation + mlx.core.array.logsumexp — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.logsumexp#

      -array.logsumexp(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.logsumexp(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See logsumexp().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.max.html b/docs/build/html/python/_autosummary/mlx.core.array.max.html index 51b69fe70..72ae30796 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.max.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.max.html @@ -8,7 +8,7 @@ - mlx.core.array.max — MLX 0.29.2 documentation + mlx.core.array.max — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.max#

      -array.max(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.max(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See max().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.mean.html b/docs/build/html/python/_autosummary/mlx.core.array.mean.html index c846cb602..5824f7b01 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.mean.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.mean.html @@ -8,7 +8,7 @@ - mlx.core.array.mean — MLX 0.29.2 documentation + mlx.core.array.mean — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.mean#

      -array.mean(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.mean(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See mean().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.min.html b/docs/build/html/python/_autosummary/mlx.core.array.min.html index 55c612900..7b38e75ee 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.min.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.min.html @@ -8,7 +8,7 @@ - mlx.core.array.min — MLX 0.29.2 documentation + mlx.core.array.min — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.min#

      -array.min(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.min(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See min().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html b/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html index d372ba913..2803298fb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html @@ -8,7 +8,7 @@ - mlx.core.array.moveaxis — MLX 0.29.2 documentation + mlx.core.array.moveaxis — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.moveaxis#

      -array.moveaxis(self, source: int, destination: int, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.moveaxis(self, source: int, destination: int, *, stream: Optional[Union[Stream, Device]] = None) array#

      See moveaxis().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html b/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html index 977b71abb..f460d4056 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html @@ -8,7 +8,7 @@ - mlx.core.array.nbytes — MLX 0.29.2 documentation + mlx.core.array.nbytes — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.ndim.html b/docs/build/html/python/_autosummary/mlx.core.array.ndim.html index 29be2140d..f0e219be0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.ndim.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.ndim.html @@ -8,7 +8,7 @@ - mlx.core.array.ndim — MLX 0.29.2 documentation + mlx.core.array.ndim — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.prod.html b/docs/build/html/python/_autosummary/mlx.core.array.prod.html index a9fede5ee..b1c01ccb7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.prod.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.prod.html @@ -8,7 +8,7 @@ - mlx.core.array.prod — MLX 0.29.2 documentation + mlx.core.array.prod — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.prod#

      -array.prod(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.prod(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See prod().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.real.html b/docs/build/html/python/_autosummary/mlx.core.array.real.html index e87719303..78dd8ecbb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.real.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.real.html @@ -8,7 +8,7 @@ - mlx.core.array.real — MLX 0.29.2 documentation + mlx.core.array.real — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html b/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html index a8b36f3c0..8b01d005e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html @@ -8,7 +8,7 @@ - mlx.core.array.reciprocal — MLX 0.29.2 documentation + mlx.core.array.reciprocal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.reciprocal#

      -array.reciprocal(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.reciprocal(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See reciprocal().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.reshape.html b/docs/build/html/python/_autosummary/mlx.core.array.reshape.html index f24a57793..d7d2a387d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.reshape.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.reshape.html @@ -8,7 +8,7 @@ - mlx.core.array.reshape — MLX 0.29.2 documentation + mlx.core.array.reshape — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,9 +932,9 @@ document.write(`

      mlx.core.array.reshape#

      -array.reshape(self, *shape, stream: Optional[Union[Stream, Device]] = None) array#
      +array.reshape(self, *shape, stream: Optional[Union[Stream, Device]] = None) array#

      Equivalent to reshape() but the shape can be passed either as a -tuple or as separate arguments.

      +tuple or as separate arguments.

      See reshape() for full documentation.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.round.html b/docs/build/html/python/_autosummary/mlx.core.array.round.html index 6162cdad2..5956dd3f1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.round.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.round.html @@ -8,7 +8,7 @@ - mlx.core.array.round — MLX 0.29.2 documentation + mlx.core.array.round — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.round#

      -array.round(self, decimals: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.round(self, decimals: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#

      See round().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html b/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html index 8b12363b5..c88a5017c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html @@ -8,7 +8,7 @@ - mlx.core.array.rsqrt — MLX 0.29.2 documentation + mlx.core.array.rsqrt — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.rsqrt#

      -array.rsqrt(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.rsqrt(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See rsqrt().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.shape.html b/docs/build/html/python/_autosummary/mlx.core.array.shape.html index f4b868b6d..ffa7059a9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.shape.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.shape.html @@ -8,7 +8,7 @@ - mlx.core.array.shape — MLX 0.29.2 documentation + mlx.core.array.shape — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -939,7 +939,7 @@ document.write(`

      A tuple containing the sizes of each dimension.

      Return type:
      -

      tuple(int)

      +

      tuple(int)

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.sin.html b/docs/build/html/python/_autosummary/mlx.core.array.sin.html index 56b8bff7c..f7119258b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.sin.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.sin.html @@ -8,7 +8,7 @@ - mlx.core.array.sin — MLX 0.29.2 documentation + mlx.core.array.sin — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.sin#

      -array.sin(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.sin(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See sin().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.size.html b/docs/build/html/python/_autosummary/mlx.core.array.size.html index 97dd8c27a..5b370e250 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.size.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.size.html @@ -8,7 +8,7 @@ - mlx.core.array.size — MLX 0.29.2 documentation + mlx.core.array.size — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.array.split.html b/docs/build/html/python/_autosummary/mlx.core.array.split.html index 53503db03..cfd94592d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.split.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.split.html @@ -8,7 +8,7 @@ - mlx.core.array.split — MLX 0.29.2 documentation + mlx.core.array.split — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.split#

      -array.split(self, indices_or_sections: Union[int, tuple[int, ...]], axis: int = 0, *, stream: Optional[Union[Stream, Device]] = None) list[array]#
      +array.split(self, indices_or_sections: Union[int, tuple[int, ...]], axis: int = 0, *, stream: Optional[Union[Stream, Device]] = None) list[array]#

      See split().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html b/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html index d0d9d89f1..69bb9b016 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html @@ -8,7 +8,7 @@ - mlx.core.array.sqrt — MLX 0.29.2 documentation + mlx.core.array.sqrt — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.sqrt#

      -array.sqrt(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.sqrt(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See sqrt().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.square.html b/docs/build/html/python/_autosummary/mlx.core.array.square.html index ddfd978c4..8965ae1ba 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.square.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.square.html @@ -8,7 +8,7 @@ - mlx.core.array.square — MLX 0.29.2 documentation + mlx.core.array.square — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.square#

      -array.square(self, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.square(self, *, stream: Optional[Union[Stream, Device]] = None) array#

      See square().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html b/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html index 5b05720db..60c2fcfe9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html @@ -8,7 +8,7 @@ - mlx.core.array.squeeze — MLX 0.29.2 documentation + mlx.core.array.squeeze — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.squeeze#

      -array.squeeze(self, axis: Optional[Union[int, Sequence[int]]] = None, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.squeeze(self, axis: Optional[Union[int, Sequence[int]]] = None, *, stream: Optional[Union[Stream, Device]] = None) array#

      See squeeze().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.std.html b/docs/build/html/python/_autosummary/mlx.core.array.std.html index 422995d2f..f77e673bb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.std.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.std.html @@ -8,7 +8,7 @@ - mlx.core.array.std — MLX 0.29.2 documentation + mlx.core.array.std — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.std#

      -array.std(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, ddof: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.std(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, ddof: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#

      See std().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.sum.html b/docs/build/html/python/_autosummary/mlx.core.array.sum.html index 90a93bac5..77a5fcb8f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.sum.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.sum.html @@ -8,7 +8,7 @@ - mlx.core.array.sum — MLX 0.29.2 documentation + mlx.core.array.sum — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.sum#

      -array.sum(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.sum(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, *, stream: Optional[Union[Stream, Device]] = None) array#

      See sum().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html b/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html index 660ce57cb..dbd7412cd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html @@ -8,7 +8,7 @@ - mlx.core.array.swapaxes — MLX 0.29.2 documentation + mlx.core.array.swapaxes — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.swapaxes#

      -array.swapaxes(self, axis1: int, axis2: int, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.swapaxes(self, axis1: int, axis2: int, *, stream: Optional[Union[Stream, Device]] = None) array#

      See swapaxes().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.tolist.html b/docs/build/html/python/_autosummary/mlx.core.array.tolist.html index 0753ede42..1705b3c3b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.tolist.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.tolist.html @@ -8,7 +8,7 @@ - mlx.core.array.tolist — MLX 0.29.2 documentation + mlx.core.array.tolist — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`
      array.tolist(self) list_or_scalar#
      -

      Convert the array to a Python list.

      +

      Convert the array to a Python list.

      Returns:

      The Python list.

      @@ -945,7 +945,7 @@ list of lists.

      Return type:
      -

      list

      +

      list

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.transpose.html b/docs/build/html/python/_autosummary/mlx.core.array.transpose.html index 028a7fc78..ceb44bb49 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.transpose.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.transpose.html @@ -8,7 +8,7 @@ - mlx.core.array.transpose — MLX 0.29.2 documentation + mlx.core.array.transpose — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.transpose#

      -array.transpose(self, *axes, stream: Optional[Union[Stream, Device]] = None) array#
      +array.transpose(self, *axes, stream: Optional[Union[Stream, Device]] = None) array#

      Equivalent to transpose() but the axes can be passed either as a tuple or as separate arguments.

      See transpose() for full documentation.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.var.html b/docs/build/html/python/_autosummary/mlx.core.array.var.html index bc4198fa8..75840509b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.var.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.var.html @@ -8,7 +8,7 @@ - mlx.core.array.var — MLX 0.29.2 documentation + mlx.core.array.var — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.var#

      -array.var(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, ddof: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.var(self, axis: Optional[Union[int, Sequence[int]]] = None, keepdims: bool = False, ddof: int = 0, *, stream: Optional[Union[Stream, Device]] = None) array#

      See var().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array.view.html b/docs/build/html/python/_autosummary/mlx.core.array.view.html index ace0d6420..5a7f386fc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.view.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.view.html @@ -8,7 +8,7 @@ - mlx.core.array.view — MLX 0.29.2 documentation + mlx.core.array.view — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array.view#

      -array.view(self, dtype: Dtype, *, stream: Optional[Union[Stream, Device]] = None) array#
      +array.view(self, dtype: Dtype, *, stream: Optional[Union[Stream, Device]] = None) array#

      See view().

      diff --git a/docs/build/html/python/_autosummary/mlx.core.array_equal.html b/docs/build/html/python/_autosummary/mlx.core.array_equal.html index 603d80504..7b3e0e214 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.array_equal.html @@ -8,7 +8,7 @@ - mlx.core.array_equal — MLX 0.29.2 documentation + mlx.core.array_equal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.array_equal#

      -array_equal(a: scalar | array, b: scalar | array, equal_nan: bool = False, stream: None | Stream | Device = None) array#
      +array_equal(a: scalar | array, b: scalar | array, equal_nan: bool = False, stream: None | Stream | Device = None) array#

      Array equality check.

      Compare two arrays for equality. Returns True if and only if the arrays have the same shape and their values are equal. The arrays need not have @@ -942,7 +942,7 @@ the same type to be considered equal.

      • a (array) – Input array or scalar.

      • b (array) – Input array or scalar.

      • -
      • equal_nan (bool) – If True, NaNs are considered equal. +

      • equal_nan (bool) – If True, NaNs are considered equal. Defaults to False.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.as_strided.html b/docs/build/html/python/_autosummary/mlx.core.as_strided.html index 1844f57ef..3089ef645 100644 --- a/docs/build/html/python/_autosummary/mlx.core.as_strided.html +++ b/docs/build/html/python/_autosummary/mlx.core.as_strided.html @@ -8,7 +8,7 @@ - mlx.core.as_strided — MLX 0.29.2 documentation + mlx.core.as_strided — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.as_strided#

      -as_strided(a: array, /, shape: Sequence[int] | None = None, strides: Sequence[int] | None = None, offset: int = 0, *, stream: None | Stream | Device = None) array#
      +as_strided(a: array, /, shape: Sequence[int] | None = None, strides: Sequence[int] | None = None, offset: int = 0, *, stream: None | Stream | Device = None) array#

      Create a view into the array with the given shape and strides.

      The resulting array will always be as if the provided array was row contiguous regardless of the provided arrays storage order and current @@ -948,12 +948,12 @@ result into crashes.

      Parameters:
      • a (array) – Input array

      • -
      • shape (list(int), optional) – The shape of the resulting array. If +

      • shape (list(int), optional) – The shape of the resulting array. If None it defaults to a.shape().

      • -
      • strides (list(int), optional) – The strides of the resulting array. If +

      • strides (list(int), optional) – The strides of the resulting array. If None it defaults to the reverse exclusive cumulative product of a.shape().

      • -
      • offset (int) – Skip that many elements from the beginning of the input +

      • offset (int) – Skip that many elements from the beginning of the input array.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.async_eval.html b/docs/build/html/python/_autosummary/mlx.core.async_eval.html index bc64ac004..477a97243 100644 --- a/docs/build/html/python/_autosummary/mlx.core.async_eval.html +++ b/docs/build/html/python/_autosummary/mlx.core.async_eval.html @@ -8,7 +8,7 @@ - mlx.core.async_eval — MLX 0.29.2 documentation + mlx.core.async_eval — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -942,7 +942,7 @@ document.write(`
      Parameters:

      *args (arrays or trees of arrays) – Each argument can be a single array or a tree of arrays. If a tree is given the nodes can be a Python -list, tuple or dict. Leaves which are not +list, tuple or dict. Leaves which are not arrays are ignored.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html b/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html index 2bef3d7f8..46822c367 100644 --- a/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html +++ b/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html @@ -8,7 +8,7 @@ - mlx.core.atleast_1d — MLX 0.29.2 documentation + mlx.core.atleast_1d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.atleast_1d#

      -atleast_1d(*arys: array, stream: None | Stream | Device = None) array | list[array]#
      +atleast_1d(*arys: array, stream: None | Stream | Device = None) array | list[array]#

      Convert all arrays to have at least one dimension.

      Parameters:
      @@ -945,7 +945,7 @@ document.write(`

      An array or list of arrays with at least one dimension.

      Return type:
      -

      array or list(array)

      +

      array or list(array)

      diff --git a/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html b/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html index dc9b3f14a..e463c575d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html +++ b/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html @@ -8,7 +8,7 @@ - mlx.core.atleast_2d — MLX 0.29.2 documentation + mlx.core.atleast_2d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.atleast_2d#

      -atleast_2d(*arys: array, stream: None | Stream | Device = None) array | list[array]#
      +atleast_2d(*arys: array, stream: None | Stream | Device = None) array | list[array]#

      Convert all arrays to have at least two dimensions.

      Parameters:
      @@ -945,7 +945,7 @@ document.write(`

      An array or list of arrays with at least two dimensions.

      Return type:
      -

      array or list(array)

      +

      array or list(array)

      diff --git a/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html b/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html index b4187107e..490694b7d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html +++ b/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html @@ -8,7 +8,7 @@ - mlx.core.atleast_3d — MLX 0.29.2 documentation + mlx.core.atleast_3d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.atleast_3d#

      -atleast_3d(*arys: array, stream: None | Stream | Device = None) array | list[array]#
      +atleast_3d(*arys: array, stream: None | Stream | Device = None) array | list[array]#

      Convert all arrays to have at least three dimensions.

      Parameters:
      @@ -945,7 +945,7 @@ document.write(`

      An array or list of arrays with at least three dimensions.

      Return type:
      -

      array or list(array)

      +

      array or list(array)

      diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html index 3483adc14..01e32834a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_and — MLX 0.29.2 documentation + mlx.core.bitwise_and — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.bitwise_and#

      -bitwise_and(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
      +bitwise_and(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

      Element-wise bitwise and.

      Take the bitwise and of two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_invert.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_invert.html index f0d448581..c1769ad7e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_invert.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_invert.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_invert — MLX 0.29.2 documentation + mlx.core.bitwise_invert — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.bitwise_invert#

      -bitwise_invert(a: scalar | array, stream: None | Stream | Device = None) array#
      +bitwise_invert(a: scalar | array, stream: None | Stream | Device = None) array#

      Element-wise bitwise inverse.

      Take the bitwise complement of the input.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html index a612f3c01..a3b02c1e5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_or — MLX 0.29.2 documentation + mlx.core.bitwise_or — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.bitwise_or#

      -bitwise_or(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
      +bitwise_or(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

      Element-wise bitwise or.

      Take the bitwise or of two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

      diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html index 6f823f4c7..5e542dcfb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_xor — MLX 0.29.2 documentation + mlx.core.bitwise_xor — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

      mlx.core.bitwise_xor#

      -bitwise_xor(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
      +bitwise_xor(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

      Element-wise bitwise xor.

      Take the bitwise exclusive or of two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be diff --git a/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html b/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html index d25ac436f..cad137f2f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html +++ b/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html @@ -8,7 +8,7 @@ - mlx.core.block_masked_mm — MLX 0.29.2 documentation + mlx.core.block_masked_mm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -141,8 +141,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`

      mlx.core.block_masked_mm#

      -block_masked_mm(a: array, b: array, /, block_size: int = 64, mask_out: array | None = None, mask_lhs: array | None = None, mask_rhs: array | None = None, *, stream: None | Stream | Device = None) array#
      +block_masked_mm(a: array, b: array, /, block_size: int = 64, mask_out: array | None = None, mask_lhs: array | None = None, mask_rhs: array | None = None, *, stream: None | Stream | Device = None) array#

      Matrix multiplication with block masking.

      Perform the (possibly batched) matrix multiplication of two arrays and with blocks of size block_size x block_size optionally masked out.

      @@ -949,7 +949,7 @@ of size block_size<
      • a (array) – Input array or scalar.

      • b (array) – Input array or scalar.

      • -
      • block_size (int) – Size of blocks to be masked. Must be 32 or 64. Default: 64.

      • +
      • block_size (int) – Size of blocks to be masked. Must be 32 or 64. Default: 64.

      • mask_out (array, optional) – Mask for output. Default: None.

      • mask_lhs (array, optional) – Mask for a. Default: None.

      • mask_rhs (array, optional) – Mask for b. Default: None.

      • diff --git a/docs/build/html/python/_autosummary/mlx.core.broadcast_arrays.html b/docs/build/html/python/_autosummary/mlx.core.broadcast_arrays.html index 73d0d3e6e..a6d233cd7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.broadcast_arrays.html +++ b/docs/build/html/python/_autosummary/mlx.core.broadcast_arrays.html @@ -8,7 +8,7 @@ - mlx.core.broadcast_arrays — MLX 0.29.2 documentation + mlx.core.broadcast_arrays — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.broadcast_arrays#

        -broadcast_arrays(*arrays: array, stream: None | Stream | Device = None) Tuple[array, ...]#
        +broadcast_arrays(*arrays: array, stream: None | Stream | Device = None) Tuple[array, ...]#

        Broadcast arrays against one another.

        The broadcasting semantics are the same as Numpy.

        @@ -943,7 +943,7 @@ document.write(`

        The output arrays with the broadcasted shape.

        Return type:
        -

        tuple(array)

        +

        tuple(array)

        diff --git a/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html b/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html index 4e5452991..4e18a8524 100644 --- a/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html +++ b/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html @@ -8,7 +8,7 @@ - mlx.core.broadcast_to — MLX 0.29.2 documentation + mlx.core.broadcast_to — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,14 +932,14 @@ document.write(`

        mlx.core.broadcast_to#

        -broadcast_to(a: scalar | array, /, shape: Sequence[int], *, stream: None | Stream | Device = None) array#
        +broadcast_to(a: scalar | array, /, shape: Sequence[int], *, stream: None | Stream | Device = None) array#

        Broadcast an array to the given shape.

        The broadcasting semantics are the same as Numpy.

        Parameters:
        • a (array) – Input array.

        • -
        • shape (list(int)) – The shape to broadcast to.

        • +
        • shape (list(int)) – The shape to broadcast to.

        Returns:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.ceil.html b/docs/build/html/python/_autosummary/mlx.core.ceil.html index 3e6d61fd2..51f7d0820 100644 --- a/docs/build/html/python/_autosummary/mlx.core.ceil.html +++ b/docs/build/html/python/_autosummary/mlx.core.ceil.html @@ -8,7 +8,7 @@ - mlx.core.ceil — MLX 0.29.2 documentation + mlx.core.ceil — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.ceil#

        -ceil(a: array, /, *, stream: None | Stream | Device = None) array#
        +ceil(a: array, /, *, stream: None | Stream | Device = None) array#

        Element-wise ceil.

        Parameters:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.clear_cache.html b/docs/build/html/python/_autosummary/mlx.core.clear_cache.html index 1c180f8cf..0faa44f69 100644 --- a/docs/build/html/python/_autosummary/mlx.core.clear_cache.html +++ b/docs/build/html/python/_autosummary/mlx.core.clear_cache.html @@ -8,7 +8,7 @@ - mlx.core.clear_cache — MLX 0.29.2 documentation + mlx.core.clear_cache — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.clear_cache#

        -clear_cache() None#
        +clear_cache() None#

        Clear the memory cache.

        After calling this, get_cache_memory() should return 0.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.clip.html b/docs/build/html/python/_autosummary/mlx.core.clip.html index 9722b27b4..1853762c2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.clip.html +++ b/docs/build/html/python/_autosummary/mlx.core.clip.html @@ -8,7 +8,7 @@ - mlx.core.clip — MLX 0.29.2 documentation + mlx.core.clip — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.clip#

        -clip(a: array, /, a_min: scalar | array | None, a_max: scalar | array | None, *, stream: None | Stream | Device = None) array#
        +clip(a: array, /, a_min: scalar | array | None, a_max: scalar | array | None, *, stream: None | Stream | Device = None) array#

        Clip the values of the array between the given minimum and maximum.

        If either a_min or a_max are None, then corresponding edge is ignored. At least one of a_min and a_max cannot be None. diff --git a/docs/build/html/python/_autosummary/mlx.core.compile.html b/docs/build/html/python/_autosummary/mlx.core.compile.html index bc04ef254..a30dd5bc8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.compile.html +++ b/docs/build/html/python/_autosummary/mlx.core.compile.html @@ -8,7 +8,7 @@ - mlx.core.compile — MLX 0.29.2 documentation + mlx.core.compile — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.compile#

        -compile(fun: Callable, inputs: object | None = None, outputs: object | None = None, shapeless: bool = False) Callable#
        +compile(fun: Callable, inputs: object | None = None, outputs: object | None = None, shapeless: bool = False) Callable#

        Returns a compiled function which produces the same output as fun.

        Parameters:
        @@ -940,17 +940,17 @@ document.write(`
      • fun (Callable) – A function which takes a variable number of array or trees of array and returns a variable number of array or trees of array.

      • -
      • inputs (list or dict, optional) – These inputs will be captured during +

      • inputs (list or dict, optional) – These inputs will be captured during the function compilation along with the inputs to fun. The inputs -can be a list or a dict containing arbitrarily nested +can be a list or a dict containing arbitrarily nested lists, dictionaries, or arrays. Leaf nodes that are not array are ignored. Default: None

      • -
      • outputs (list or dict, optional) – These outputs will be captured and +

      • outputs (list or dict, optional) – These outputs will be captured and updated in a compiled function. The outputs can be a -list or a dict containing arbitrarily nested lists, +list or a dict containing arbitrarily nested lists, dictionaries, or arrays. Leaf nodes that are not array are ignored. Default: None

      • -
      • shapeless (bool, optional) – A function compiled with the shapeless +

      • shapeless (bool, optional) – A function compiled with the shapeless option enabled will not be recompiled when the input shape changes. Not all functions can be compiled with shapeless enabled. Attempting to compile such functions with shapeless enabled will throw. Note, changing the number diff --git a/docs/build/html/python/_autosummary/mlx.core.concatenate.html b/docs/build/html/python/_autosummary/mlx.core.concatenate.html index 653eeea95..4a4cec769 100644 --- a/docs/build/html/python/_autosummary/mlx.core.concatenate.html +++ b/docs/build/html/python/_autosummary/mlx.core.concatenate.html @@ -8,7 +8,7 @@ - mlx.core.concatenate — MLX 0.29.2 documentation + mlx.core.concatenate — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,13 +932,13 @@ document.write(`

        mlx.core.concatenate#

        -concatenate(arrays: list[array], axis: int | None = 0, *, stream: None | Stream | Device = None) array#
        +concatenate(arrays: list[array], axis: int | None = 0, *, stream: None | Stream | Device = None) array#

        Concatenate the arrays along the given axis.

        Parameters:
          -
        • arrays (list(array)) – Input list or tuple of arrays.

        • -
        • axis (int, optional) – Optional axis to concatenate along. If +

        • arrays (list(array)) – Input list or tuple of arrays.

        • +
        • axis (int, optional) – Optional axis to concatenate along. If unspecified defaults to 0.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.conj.html b/docs/build/html/python/_autosummary/mlx.core.conj.html index 2146a84ec..196f3267b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conj.html +++ b/docs/build/html/python/_autosummary/mlx.core.conj.html @@ -8,7 +8,7 @@ - mlx.core.conj — MLX 0.29.2 documentation + mlx.core.conj — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.conj#

        -conj(a: array, *, stream: None | Stream | Device = None) array#
        +conj(a: array, *, stream: None | Stream | Device = None) array#

        Return the elementwise complex conjugate of the input. Alias for mx.conjugate.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.conjugate.html b/docs/build/html/python/_autosummary/mlx.core.conjugate.html index b9df96599..1e1d0f9c0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conjugate.html +++ b/docs/build/html/python/_autosummary/mlx.core.conjugate.html @@ -8,7 +8,7 @@ - mlx.core.conjugate — MLX 0.29.2 documentation + mlx.core.conjugate — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.conjugate#

        -conjugate(a: array, *, stream: None | Stream | Device = None) array#
        +conjugate(a: array, *, stream: None | Stream | Device = None) array#

        Return the elementwise complex conjugate of the input. Alias for mx.conj.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.contiguous.html b/docs/build/html/python/_autosummary/mlx.core.contiguous.html index f9acdeee3..7033cda02 100644 --- a/docs/build/html/python/_autosummary/mlx.core.contiguous.html +++ b/docs/build/html/python/_autosummary/mlx.core.contiguous.html @@ -8,7 +8,7 @@ - mlx.core.contiguous — MLX 0.29.2 documentation + mlx.core.contiguous — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,13 +932,13 @@ document.write(`

        mlx.core.contiguous#

        -contiguous(a: array, /, allow_col_major: bool = False, *, stream: None | Stream | Device = None) array#
        +contiguous(a: array, /, allow_col_major: bool = False, *, stream: None | Stream | Device = None) array#

        Force an array to be row contiguous. Copy if necessary.

        Parameters:
        • a (array) – The input to make contiguous

        • -
        • allow_col_major (bool) – Consider column major as contiguous and don’t copy

        • +
        • allow_col_major (bool) – Consider column major as contiguous and don’t copy

        Returns:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.conv1d.html b/docs/build/html/python/_autosummary/mlx.core.conv1d.html index 04ba47054..a68852892 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv1d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv1d.html @@ -8,7 +8,7 @@ - mlx.core.conv1d — MLX 0.29.2 documentation + mlx.core.conv1d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

        mlx.core.conv1d#

        -conv1d(input: array, weight: array, /, stride: int = 1, padding: int = 0, dilation: int = 1, groups: int = 1, *, stream: None | Stream | Device = None) array#
        +conv1d(input: array, weight: array, /, stride: int = 1, padding: int = 0, dilation: int = 1, groups: int = 1, *, stream: None | Stream | Device = None) array#

        1D convolution over an input with several channels

        Parameters:
        • input (array) – Input array of shape (N, L, C_in).

        • weight (array) – Weight array of shape (C_out, K, C_in).

        • -
        • stride (int, optional) – Kernel stride. Default: 1.

        • -
        • padding (int, optional) – Input padding. Default: 0.

        • -
        • dilation (int, optional) – Kernel dilation. Default: 1.

        • -
        • groups (int, optional) – Input feature groups. Default: 1.

        • +
        • stride (int, optional) – Kernel stride. Default: 1.

        • +
        • padding (int, optional) – Input padding. Default: 0.

        • +
        • dilation (int, optional) – Kernel dilation. Default: 1.

        • +
        • groups (int, optional) – Input feature groups. Default: 1.

        Returns:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.conv2d.html b/docs/build/html/python/_autosummary/mlx.core.conv2d.html index 4e1e2e104..1fd0536f1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv2d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv2d.html @@ -8,7 +8,7 @@ - mlx.core.conv2d — MLX 0.29.2 documentation + mlx.core.conv2d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,23 +932,23 @@ document.write(`

        mlx.core.conv2d#

        -conv2d(input: array, weight: array, /, stride: int | tuple[int, int] = 1, padding: int | tuple[int, int] = 0, dilation: int | tuple[int, int] = 1, groups: int = 1, *, stream: None | Stream | Device = None) array#
        +conv2d(input: array, weight: array, /, stride: int | tuple[int, int] = 1, padding: int | tuple[int, int] = 0, dilation: int | tuple[int, int] = 1, groups: int = 1, *, stream: None | Stream | Device = None) array#

        2D convolution over an input with several channels

        Parameters:
        • input (array) – Input array of shape (N, H, W, C_in).

        • weight (array) – Weight array of shape (C_out, KH, KW, C_in).

        • -
        • stride (int or tuple(int), optional) – tuple of size 2 with +

        • stride (int or tuple(int), optional) – tuple of size 2 with kernel strides. All spatial dimensions get the same stride if only one number is specified. Default: 1.

        • -
        • padding (int or tuple(int), optional) – tuple of size 2 with +

        • padding (int or tuple(int), optional) – tuple of size 2 with symmetric input padding. All spatial dimensions get the same padding if only one number is specified. Default: 0.

        • -
        • dilation (int or tuple(int), optional) – tuple of size 2 with +

        • dilation (int or tuple(int), optional) – tuple of size 2 with kernel dilation. All spatial dimensions get the same dilation if only one number is specified. Default: 1

        • -
        • groups (int, optional) – input feature groups. Default: 1.

        • +
        • groups (int, optional) – input feature groups. Default: 1.

        Returns:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.conv3d.html b/docs/build/html/python/_autosummary/mlx.core.conv3d.html index 9bb6bccfa..72ef40086 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv3d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv3d.html @@ -8,7 +8,7 @@ - mlx.core.conv3d — MLX 0.29.2 documentation + mlx.core.conv3d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.conv3d#

        -conv3d(input: array, weight: array, /, stride: int | tuple[int, int, int] = 1, padding: int | tuple[int, int, int] = 0, dilation: int | tuple[int, int, int] = 1, groups: int = 1, *, stream: None | Stream | Device = None) array#
        +conv3d(input: array, weight: array, /, stride: int | tuple[int, int, int] = 1, padding: int | tuple[int, int, int] = 0, dilation: int | tuple[int, int, int] = 1, groups: int = 1, *, stream: None | Stream | Device = None) array#

        3D convolution over an input with several channels

        Note: Only the default groups=1 is currently supported.

        @@ -940,16 +940,16 @@ document.write(`
        • input (array) – Input array of shape (N, D, H, W, C_in).

        • weight (array) – Weight array of shape (C_out, KD, KH, KW, C_in).

        • -
        • stride (int or tuple(int), optional) – tuple of size 3 with +

        • stride (int or tuple(int), optional) – tuple of size 3 with kernel strides. All spatial dimensions get the same stride if only one number is specified. Default: 1.

        • -
        • padding (int or tuple(int), optional) – tuple of size 3 with +

        • padding (int or tuple(int), optional) – tuple of size 3 with symmetric input padding. All spatial dimensions get the same padding if only one number is specified. Default: 0.

        • -
        • dilation (int or tuple(int), optional) – tuple of size 3 with +

        • dilation (int or tuple(int), optional) – tuple of size 3 with kernel dilation. All spatial dimensions get the same dilation if only one number is specified. Default: 1

        • -
        • groups (int, optional) – input feature groups. Default: 1.

        • +
        • groups (int, optional) – input feature groups. Default: 1.

        Returns:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_general.html b/docs/build/html/python/_autosummary/mlx.core.conv_general.html index 001509b97..d601ce0ed 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_general.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_general.html @@ -8,7 +8,7 @@ - mlx.core.conv_general — MLX 0.29.2 documentation + mlx.core.conv_general — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,26 +932,26 @@ document.write(`

        mlx.core.conv_general#

        -conv_general(input: array, weight: array, /, stride: int | Sequence[int] = 1, padding: int | Sequence[int] | tuple[Sequence[int], Sequence[int]] = 0, kernel_dilation: int | Sequence[int] = 1, input_dilation: int | Sequence[int] = 1, groups: int = 1, flip: bool = False, *, stream: None | Stream | Device = None) array#
        +conv_general(input: array, weight: array, /, stride: int | Sequence[int] = 1, padding: int | Sequence[int] | tuple[Sequence[int], Sequence[int]] = 0, kernel_dilation: int | Sequence[int] = 1, input_dilation: int | Sequence[int] = 1, groups: int = 1, flip: bool = False, *, stream: None | Stream | Device = None) array#

        General convolution over an input with several channels

        Parameters:
        • input (array) – Input array of shape (N, ..., C_in).

        • weight (array) – Weight array of shape (C_out, ..., C_in).

        • -
        • stride (int or list(int), optional) – list with kernel strides. +

        • stride (int or list(int), optional) – list with kernel strides. All spatial dimensions get the same stride if only one number is specified. Default: 1.

        • -
        • padding (int, list(int), or tuple(list(int), list(int)), optional) – list with input padding. All spatial dimensions get the same +

        • padding (int, list(int), or tuple(list(int), list(int)), optional) – list with input padding. All spatial dimensions get the same padding if only one number is specified. Default: 0.

        • -
        • kernel_dilation (int or list(int), optional) – list with +

        • kernel_dilation (int or list(int), optional) – list with kernel dilation. All spatial dimensions get the same dilation if only one number is specified. Default: 1

        • -
        • input_dilation (int or list(int), optional) – list with +

        • input_dilation (int or list(int), optional) – list with input dilation. All spatial dimensions get the same dilation if only one number is specified. Default: 1

        • -
        • groups (int, optional) – Input feature groups. Default: 1.

        • -
        • flip (bool, optional) – Flip the order in which the spatial dimensions of +

        • groups (int, optional) – Input feature groups. Default: 1.

        • +
        • flip (bool, optional) – Flip the order in which the spatial dimensions of the weights are processed. Performs the cross-correlation operator when flip is False and the convolution operator otherwise. Default: False.

        • diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html b/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html index 80225ef6e..9574eded6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html @@ -8,7 +8,7 @@ - mlx.core.conv_transpose1d — MLX 0.29.2 documentation + mlx.core.conv_transpose1d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,18 +932,18 @@ document.write(`

          mlx.core.conv_transpose1d#

          -conv_transpose1d(input: array, weight: array, /, stride: int = 1, padding: int = 0, dilation: int = 1, output_padding: int = 0, groups: int = 1, *, stream: None | Stream | Device = None) array#
          +conv_transpose1d(input: array, weight: array, /, stride: int = 1, padding: int = 0, dilation: int = 1, output_padding: int = 0, groups: int = 1, *, stream: None | Stream | Device = None) array#

          1D transposed convolution over an input with several channels

          Parameters:
          • input (array) – Input array of shape (N, L, C_in).

          • weight (array) – Weight array of shape (C_out, K, C_in).

          • -
          • stride (int, optional) – Kernel stride. Default: 1.

          • -
          • padding (int, optional) – Input padding. Default: 0.

          • -
          • dilation (int, optional) – Kernel dilation. Default: 1.

          • -
          • output_padding (int, optional) – Output padding. Default: 0.

          • -
          • groups (int, optional) – Input feature groups. Default: 1.

          • +
          • stride (int, optional) – Kernel stride. Default: 1.

          • +
          • padding (int, optional) – Input padding. Default: 0.

          • +
          • dilation (int, optional) – Kernel dilation. Default: 1.

          • +
          • output_padding (int, optional) – Output padding. Default: 0.

          • +
          • groups (int, optional) – Input feature groups. Default: 1.

          Returns:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html b/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html index 73b7c335c..aeb23f841 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html @@ -8,7 +8,7 @@ - mlx.core.conv_transpose2d — MLX 0.29.2 documentation + mlx.core.conv_transpose2d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.conv_transpose2d#

          -conv_transpose2d(input: array, weight: array, /, stride: int | Tuple[int, int] = 1, padding: int | Tuple[int, int] = 0, dilation: int | Tuple[int, int] = 1, output_padding: int | Tuple[int, int] = 0, groups: int = 1, *, stream: None | Stream | Device = None) array#
          +conv_transpose2d(input: array, weight: array, /, stride: int | Tuple[int, int] = 1, padding: int | Tuple[int, int] = 0, dilation: int | Tuple[int, int] = 1, output_padding: int | Tuple[int, int] = 0, groups: int = 1, *, stream: None | Stream | Device = None) array#

          2D transposed convolution over an input with several channels

          Note: Only the default groups=1 is currently supported.

          @@ -940,19 +940,19 @@ document.write(`
          • input (array) – Input array of shape (N, H, W, C_in).

          • weight (array) – Weight array of shape (C_out, KH, KW, C_in).

          • -
          • stride (int or tuple(int), optional) – tuple of size 2 with +

          • stride (int or tuple(int), optional) – tuple of size 2 with kernel strides. All spatial dimensions get the same stride if only one number is specified. Default: 1.

          • -
          • padding (int or tuple(int), optional) – tuple of size 2 with +

          • padding (int or tuple(int), optional) – tuple of size 2 with symmetric input padding. All spatial dimensions get the same padding if only one number is specified. Default: 0.

          • -
          • dilation (int or tuple(int), optional) – tuple of size 2 with +

          • dilation (int or tuple(int), optional) – tuple of size 2 with kernel dilation. All spatial dimensions get the same dilation if only one number is specified. Default: 1

          • -
          • output_padding (int or tuple(int), optional) – tuple of size 2 with +

          • output_padding (int or tuple(int), optional) – tuple of size 2 with output padding. All spatial dimensions get the same output padding if only one number is specified. Default: 0.

          • -
          • groups (int, optional) – input feature groups. Default: 1.

          • +
          • groups (int, optional) – input feature groups. Default: 1.

          Returns:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html b/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html index 79174d458..9934a3374 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html @@ -8,7 +8,7 @@ - mlx.core.conv_transpose3d — MLX 0.29.2 documentation + mlx.core.conv_transpose3d — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.conv_transpose3d#

          -conv_transpose3d(input: array, weight: array, /, stride: int | Tuple[int, int, int] = 1, padding: int | Tuple[int, int, int] = 0, dilation: int | Tuple[int, int, int] = 1, output_padding: int | Tuple[int, int, int] = 0, groups: int = 1, *, stream: None | Stream | Device = None) array#
          +conv_transpose3d(input: array, weight: array, /, stride: int | Tuple[int, int, int] = 1, padding: int | Tuple[int, int, int] = 0, dilation: int | Tuple[int, int, int] = 1, output_padding: int | Tuple[int, int, int] = 0, groups: int = 1, *, stream: None | Stream | Device = None) array#

          3D transposed convolution over an input with several channels

          Note: Only the default groups=1 is currently supported.

          @@ -940,19 +940,19 @@ document.write(`
          • input (array) – Input array of shape (N, D, H, W, C_in).

          • weight (array) – Weight array of shape (C_out, KD, KH, KW, C_in).

          • -
          • stride (int or tuple(int), optional) – tuple of size 3 with +

          • stride (int or tuple(int), optional) – tuple of size 3 with kernel strides. All spatial dimensions get the same stride if only one number is specified. Default: 1.

          • -
          • padding (int or tuple(int), optional) – tuple of size 3 with +

          • padding (int or tuple(int), optional) – tuple of size 3 with symmetric input padding. All spatial dimensions get the same padding if only one number is specified. Default: 0.

          • -
          • dilation (int or tuple(int), optional) – tuple of size 3 with +

          • dilation (int or tuple(int), optional) – tuple of size 3 with kernel dilation. All spatial dimensions get the same dilation if only one number is specified. Default: 1

          • -
          • output_padding (int or tuple(int), optional) – tuple of size 3 with +

          • output_padding (int or tuple(int), optional) – tuple of size 3 with output padding. All spatial dimensions get the same output padding if only one number is specified. Default: 0.

          • -
          • groups (int, optional) – input feature groups. Default: 1.

          • +
          • groups (int, optional) – input feature groups. Default: 1.

          Returns:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.convolve.html b/docs/build/html/python/_autosummary/mlx.core.convolve.html index 60ac75072..5ea3adf83 100644 --- a/docs/build/html/python/_autosummary/mlx.core.convolve.html +++ b/docs/build/html/python/_autosummary/mlx.core.convolve.html @@ -8,7 +8,7 @@ - mlx.core.convolve — MLX 0.29.2 documentation + mlx.core.convolve — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.convolve#

          -convolve(a: array, v: array, /, mode: str = 'full', *, stream: None | Stream | Device = None) array#
          +convolve(a: array, v: array, /, mode: str = 'full', *, stream: None | Stream | Device = None) array#

          The discrete convolution of 1D arrays.

          If v is longer than a, then they are swapped. The conv filter is flipped following signal processing convention.

          @@ -941,7 +941,7 @@ The conv filter is flipped following signal processing convention.

          • a (array) – 1D Input array.

          • v (array) – 1D Input array.

          • -
          • mode (str, optional) – {‘full’, ‘valid’, ‘same’}

          • +
          • mode (str, optional) – {‘full’, ‘valid’, ‘same’}

          Returns:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.cos.html b/docs/build/html/python/_autosummary/mlx.core.cos.html index f39af5ea4..d5af5c768 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cos.html +++ b/docs/build/html/python/_autosummary/mlx.core.cos.html @@ -8,7 +8,7 @@ - mlx.core.cos — MLX 0.29.2 documentation + mlx.core.cos — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.cos#

          -cos(a: array, /, *, stream: None | Stream | Device = None) array#
          +cos(a: array, /, *, stream: None | Stream | Device = None) array#

          Element-wise cosine.

          Parameters:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.cosh.html b/docs/build/html/python/_autosummary/mlx.core.cosh.html index 6e0626d83..fe5425201 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cosh.html +++ b/docs/build/html/python/_autosummary/mlx.core.cosh.html @@ -8,7 +8,7 @@ - mlx.core.cosh — MLX 0.29.2 documentation + mlx.core.cosh — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.cosh#

          -cosh(a: array, /, *, stream: None | Stream | Device = None) array#
          +cosh(a: array, /, *, stream: None | Stream | Device = None) array#

          Element-wise hyperbolic cosine.

          Parameters:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.cuda.is_available.html b/docs/build/html/python/_autosummary/mlx.core.cuda.is_available.html index 15b84273b..e7af101de 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cuda.is_available.html +++ b/docs/build/html/python/_autosummary/mlx.core.cuda.is_available.html @@ -8,7 +8,7 @@ - mlx.core.cuda.is_available — MLX 0.29.2 documentation + mlx.core.cuda.is_available — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.cuda.is_available#

          -is_available() bool#
          +is_available() bool#

          Check if the CUDA back-end is available.

          diff --git a/docs/build/html/python/_autosummary/mlx.core.cummax.html b/docs/build/html/python/_autosummary/mlx.core.cummax.html index 66904c6ee..ca3c63884 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cummax.html +++ b/docs/build/html/python/_autosummary/mlx.core.cummax.html @@ -8,7 +8,7 @@ - mlx.core.cummax — MLX 0.29.2 documentation + mlx.core.cummax — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

          mlx.core.cummax#

          -cummax(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#
          +cummax(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#

          Return the cumulative maximum of the elements along the given axis.

          Parameters:
          • a (array) – Input array

          • -
          • axis (int, optional) – Optional axis to compute the cumulative maximum +

          • axis (int, optional) – Optional axis to compute the cumulative maximum over. If unspecified the cumulative maximum of the flattened array is returned.

          • -
          • reverse (bool) – Perform the cumulative maximum in reverse.

          • -
          • inclusive (bool) – The i-th element of the output includes the i-th +

          • reverse (bool) – Perform the cumulative maximum in reverse.

          • +
          • inclusive (bool) – The i-th element of the output includes the i-th element of the input.

          diff --git a/docs/build/html/python/_autosummary/mlx.core.cummin.html b/docs/build/html/python/_autosummary/mlx.core.cummin.html index 1ed73da00..b8ef6c806 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cummin.html +++ b/docs/build/html/python/_autosummary/mlx.core.cummin.html @@ -8,7 +8,7 @@ - mlx.core.cummin — MLX 0.29.2 documentation + mlx.core.cummin — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

          mlx.core.cummin#

          -cummin(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#
          +cummin(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#

          Return the cumulative minimum of the elements along the given axis.

          Parameters:
          • a (array) – Input array

          • -
          • axis (int, optional) – Optional axis to compute the cumulative minimum +

          • axis (int, optional) – Optional axis to compute the cumulative minimum over. If unspecified the cumulative minimum of the flattened array is returned.

          • -
          • reverse (bool) – Perform the cumulative minimum in reverse.

          • -
          • inclusive (bool) – The i-th element of the output includes the i-th +

          • reverse (bool) – Perform the cumulative minimum in reverse.

          • +
          • inclusive (bool) – The i-th element of the output includes the i-th element of the input.

          diff --git a/docs/build/html/python/_autosummary/mlx.core.cumprod.html b/docs/build/html/python/_autosummary/mlx.core.cumprod.html index fb81b6a13..5250357eb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cumprod.html +++ b/docs/build/html/python/_autosummary/mlx.core.cumprod.html @@ -8,7 +8,7 @@ - mlx.core.cumprod — MLX 0.29.2 documentation + mlx.core.cumprod — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

          mlx.core.cumprod#

          -cumprod(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#
          +cumprod(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#

          Return the cumulative product of the elements along the given axis.

          Parameters:
          • a (array) – Input array

          • -
          • axis (int, optional) – Optional axis to compute the cumulative product +

          • axis (int, optional) – Optional axis to compute the cumulative product over. If unspecified the cumulative product of the flattened array is returned.

          • -
          • reverse (bool) – Perform the cumulative product in reverse.

          • -
          • inclusive (bool) – The i-th element of the output includes the i-th +

          • reverse (bool) – Perform the cumulative product in reverse.

          • +
          • inclusive (bool) – The i-th element of the output includes the i-th element of the input.

          diff --git a/docs/build/html/python/_autosummary/mlx.core.cumsum.html b/docs/build/html/python/_autosummary/mlx.core.cumsum.html index 87e1bc8fe..5030d4204 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cumsum.html +++ b/docs/build/html/python/_autosummary/mlx.core.cumsum.html @@ -8,7 +8,7 @@ - mlx.core.cumsum — MLX 0.29.2 documentation + mlx.core.cumsum — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

          mlx.core.cumsum#

          -cumsum(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#
          +cumsum(a: array, /, axis: int | None = None, *, reverse: bool = False, inclusive: bool = True, stream: None | Stream | Device = None) array#

          Return the cumulative sum of the elements along the given axis.

          Parameters:
          • a (array) – Input array

          • -
          • axis (int, optional) – Optional axis to compute the cumulative sum +

          • axis (int, optional) – Optional axis to compute the cumulative sum over. If unspecified the cumulative sum of the flattened array is returned.

          • -
          • reverse (bool) – Perform the cumulative sum in reverse.

          • -
          • inclusive (bool) – The i-th element of the output includes the i-th +

          • reverse (bool) – Perform the cumulative sum in reverse.

          • +
          • inclusive (bool) – The i-th element of the output includes the i-th element of the input.

          diff --git a/docs/build/html/python/_autosummary/mlx.core.custom_function.html b/docs/build/html/python/_autosummary/mlx.core.custom_function.html index 7a73b4639..0db2a36b4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.custom_function.html +++ b/docs/build/html/python/_autosummary/mlx.core.custom_function.html @@ -8,7 +8,7 @@ - mlx.core.custom_function — MLX 0.29.2 documentation + mlx.core.custom_function — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.default_device.html b/docs/build/html/python/_autosummary/mlx.core.default_device.html index 54afcafce..1812d41d6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.default_device.html +++ b/docs/build/html/python/_autosummary/mlx.core.default_device.html @@ -8,7 +8,7 @@ - mlx.core.default_device — MLX 0.29.2 documentation + mlx.core.default_device — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.default_stream.html b/docs/build/html/python/_autosummary/mlx.core.default_stream.html index 333cba83e..73e0c1e2e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.default_stream.html +++ b/docs/build/html/python/_autosummary/mlx.core.default_stream.html @@ -8,7 +8,7 @@ - mlx.core.default_stream — MLX 0.29.2 documentation + mlx.core.default_stream — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.degrees.html b/docs/build/html/python/_autosummary/mlx.core.degrees.html index 3909cc1c4..8fd0da3ff 100644 --- a/docs/build/html/python/_autosummary/mlx.core.degrees.html +++ b/docs/build/html/python/_autosummary/mlx.core.degrees.html @@ -8,7 +8,7 @@ - mlx.core.degrees — MLX 0.29.2 documentation + mlx.core.degrees — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.degrees#

          -degrees(a: array, /, *, stream: None | Stream | Device = None) array#
          +degrees(a: array, /, *, stream: None | Stream | Device = None) array#

          Convert angles from radians to degrees.

          Parameters:
          diff --git a/docs/build/html/python/_autosummary/mlx.core.dequantize.html b/docs/build/html/python/_autosummary/mlx.core.dequantize.html index af3d727ad..36a00fa7d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.dequantize.html +++ b/docs/build/html/python/_autosummary/mlx.core.dequantize.html @@ -8,7 +8,7 @@ - mlx.core.dequantize — MLX 0.29.2 documentation + mlx.core.dequantize — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -141,8 +141,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`

          mlx.core.dequantize#

          -dequantize(w: array, /, scales: array, biases: array | None = None, group_size: int = 64, bits: int = 4, mode: str = 'affine', *, stream: None | Stream | Device = None) array#
          +dequantize(w: array, /, scales: array, biases: array | None = None, group_size: int = 64, bits: int = 4, mode: str = 'affine', *, stream: None | Stream | Device = None) array#

          Dequantize the matrix w using quantization parameters.

          Parameters:
          @@ -942,11 +942,11 @@ document.write(`
        • scales (array) – The scales to use per group_size elements of w.

        • biases (array, optional) – The biases to use per group_size elements of w. Default: None.

        • -
        • group_size (int, optional) – The size of the group in w that shares a +

        • group_size (int, optional) – The size of the group in w that shares a scale and bias. Default: 64.

        • -
        • bits (int, optional) – The number of bits occupied by each element in +

        • bits (int, optional) – The number of bits occupied by each element in w. Default: 4.

        • -
        • mode (str, optional) – The quantization mode. Default: "affine".

        • +
        • mode (str, optional) – The quantization mode. Default: "affine".

        Returns:
        diff --git a/docs/build/html/python/_autosummary/mlx.core.diag.html b/docs/build/html/python/_autosummary/mlx.core.diag.html index a5b7539c1..2bf766d95 100644 --- a/docs/build/html/python/_autosummary/mlx.core.diag.html +++ b/docs/build/html/python/_autosummary/mlx.core.diag.html @@ -8,7 +8,7 @@ - mlx.core.diag — MLX 0.29.2 documentation + mlx.core.diag — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -141,8 +141,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`

        mlx.core.diag#

        -diag(a: array, /, k: int = 0, *, stream: None | Stream | Device = None) array#
        +diag(a: array, /, k: int = 0, *, stream: None | Stream | Device = None) array#

        Extract a diagonal or construct a diagonal matrix. If a is 1-D then a diagonal matrix is constructed with a on the \(k\)-th diagonal. If a is 2-D then the \(k\)-th diagonal is @@ -942,7 +942,7 @@ returned.

        Parameters:
        • a (array) – 1-D or 2-D input array.

        • -
        • k (int, optional) – The diagonal to extract or construct. +

        • k (int, optional) – The diagonal to extract or construct. Default: 0.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.diagonal.html b/docs/build/html/python/_autosummary/mlx.core.diagonal.html index b0fb55425..c1be958f8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.diagonal.html +++ b/docs/build/html/python/_autosummary/mlx.core.diagonal.html @@ -8,7 +8,7 @@ - mlx.core.diagonal — MLX 0.29.2 documentation + mlx.core.diagonal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.diagonal#

        -diagonal(a: array, offset: int = 0, axis1: int = 0, axis2: int = 1, stream: None | Stream | Device = None) array#
        +diagonal(a: array, offset: int = 0, axis1: int = 0, axis2: int = 1, stream: None | Stream | Device = None) array#

        Return specified diagonals.

        If a is 2-D, then a 1-D array containing the diagonal at the given offset is returned.

        @@ -944,11 +944,11 @@ new dimension inserted at the end corresponding to the diagonal.

        Parameters:
        • a (array) – Input array

        • -
        • offset (int, optional) – Offset of the diagonal from the main diagonal. +

        • offset (int, optional) – Offset of the diagonal from the main diagonal. Can be positive or negative. Default: 0.

        • -
        • axis1 (int, optional) – The first axis of the 2-D sub-arrays from which +

        • axis1 (int, optional) – The first axis of the 2-D sub-arrays from which the diagonals should be taken. Default: 0.

        • -
        • axis2 (int, optional) – The second axis of the 2-D sub-arrays from which +

        • axis2 (int, optional) – The second axis of the 2-D sub-arrays from which the diagonals should be taken. Default: 1.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.disable_compile.html b/docs/build/html/python/_autosummary/mlx.core.disable_compile.html index 859056597..a27149c64 100644 --- a/docs/build/html/python/_autosummary/mlx.core.disable_compile.html +++ b/docs/build/html/python/_autosummary/mlx.core.disable_compile.html @@ -8,7 +8,7 @@ - mlx.core.disable_compile — MLX 0.29.2 documentation + mlx.core.disable_compile — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.disable_compile#

        -disable_compile() None#
        +disable_compile() None#

        Globally disable compilation. Setting the environment variable MLX_DISABLE_COMPILE can also be used to disable compilation.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html b/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html index 36acc55f9..cd91d103c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html @@ -8,7 +8,7 @@ - mlx.core.distributed.Group — MLX 0.29.2 documentation + mlx.core.distributed.Group — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html b/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html index 23947803a..dfd6a39c8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html @@ -8,7 +8,7 @@ - mlx.core.distributed.all_gather — MLX 0.29.2 documentation + mlx.core.distributed.all_gather — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.distributed.all_gather#

        -all_gather(x: array, *, group: Group | None = None, stream: None | Stream | Device = None) array#
        +all_gather(x: array, *, group: Group | None = None, stream: None | Stream | Device = None) array#

        Gather arrays from all processes.

        Gather the x arrays from all processes in the group and concatenate them along the first axis. The arrays should all have the same shape.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html b/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html index b9b3be5b7..05a392de6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html @@ -8,7 +8,7 @@ - mlx.core.distributed.all_sum — MLX 0.29.2 documentation + mlx.core.distributed.all_sum — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.distributed.all_sum#

        -all_sum(x: array, *, group: Group | None = None, stream: None | Stream | Device = None) array#
        +all_sum(x: array, *, group: Group | None = None, stream: None | Stream | Device = None) array#

        All reduce sum.

        Sum the x arrays from all processes in the group.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.init.html b/docs/build/html/python/_autosummary/mlx.core.distributed.init.html index 5df1b86c1..aed107475 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.init.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.init.html @@ -8,7 +8,7 @@ - mlx.core.distributed.init — MLX 0.29.2 documentation + mlx.core.distributed.init — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

        mlx.core.distributed.init#

        -init(strict: bool = False, backend: str = 'any') Group#
        +init(strict: bool = False, backend: str = 'any') Group#

        Initialize the communication backend and create the global communication group.

        Example

        import mlx.core as mx
        @@ -943,10 +943,10 @@ document.write(`
         
        Parameters:
          -
        • strict (bool, optional) – If set to False it returns a singleton group +

        • strict (bool, optional) – If set to False it returns a singleton group in case mx.distributed.is_available() returns False otherwise it throws a runtime error. Default: False

        • -
        • backend (str, optional) – Which distributed backend to initialize. +

        • backend (str, optional) – Which distributed backend to initialize. Possible values mpi, ring, nccl, any. If set to any all available backends are tried and the first one that succeeds becomes the global group which will be returned in subsequent diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html b/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html index d00bbf3d8..80880effa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html @@ -8,7 +8,7 @@ - mlx.core.distributed.is_available — MLX 0.29.2 documentation + mlx.core.distributed.is_available — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home +

        @@ -932,7 +932,7 @@ document.write(`

        mlx.core.distributed.is_available#

        -is_available() bool#
        +is_available() bool#

        Check if a communication backend is available.

        diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html b/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html index e4e334e33..d95b850c7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html @@ -8,7 +8,7 @@ - mlx.core.distributed.recv — MLX 0.29.2 documentation + mlx.core.distributed.recv — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home +
        @@ -932,15 +932,15 @@ document.write(`

        mlx.core.distributed.recv#

        -recv(shape: Sequence[int], dtype: Dtype, src: int, *, group: Group | None = None, stream: None | Stream | Device = None) array#
        +recv(shape: Sequence[int], dtype: Dtype, src: int, *, group: Group | None = None, stream: None | Stream | Device = None) array#

        Recv an array with shape shape and dtype dtype from process with rank src.

        Parameters:
          -
        • shape (Tuple[int]) – The shape of the array we are receiving.

        • +
        • shape (Tuple[int]) – The shape of the array we are receiving.

        • dtype (Dtype) – The data type of the array we are receiving.

        • -
        • src (int) – Rank of the source process in the group.

        • +
        • src (int) – Rank of the source process in the group.

        • group (Group) – The group of processes that will participate in the recv. If set to None the global group is used. Default: None.

        • diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html b/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html index 13645ee75..265a8241c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html @@ -8,7 +8,7 @@ - mlx.core.distributed.recv_like — MLX 0.29.2 documentation + mlx.core.distributed.recv_like — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

          mlx.core.distributed.recv_like#

          -recv_like(x: array, src: int, *, group: Group | None = None, stream: None | Stream | Device = None) array#
          +recv_like(x: array, src: int, *, group: Group | None = None, stream: None | Stream | Device = None) array#

          Recv an array with shape and type like x from process with rank src.

          It is equivalent to calling mx.distributed.recv(x.shape, x.dtype, src).

          @@ -941,7 +941,7 @@ document.write(`
          • x (array) – An array defining the shape and dtype of the array we are receiving.

          • -
          • src (int) – Rank of the source process in the group.

          • +
          • src (int) – Rank of the source process in the group.

          • group (Group) – The group of processes that will participate in the recv. If set to None the global group is used. Default: None.

          • diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.send.html b/docs/build/html/python/_autosummary/mlx.core.distributed.send.html index 42f8e8866..d7f0403c9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.send.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.send.html @@ -8,7 +8,7 @@ - mlx.core.distributed.send — MLX 0.29.2 documentation + mlx.core.distributed.send — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,14 +932,14 @@ document.write(`

            mlx.core.distributed.send#

            -send(x: array, dst: int, *, group: Group | None = None, stream: None | Stream | Device = None) array#
            +send(x: array, dst: int, *, group: Group | None = None, stream: None | Stream | Device = None) array#

            Send an array from the current process to the process that has rank dst in the group.

            Parameters:
            • x (array) – Input array.

            • -
            • dst (int) – Rank of the destination process in the group.

            • +
            • dst (int) – Rank of the destination process in the group.

            • group (Group) – The group of processes that will participate in the sned. If set to None the global group is used. Default: None.

            • diff --git a/docs/build/html/python/_autosummary/mlx.core.divide.html b/docs/build/html/python/_autosummary/mlx.core.divide.html index 92fe4f728..2ead715b4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.divide.html +++ b/docs/build/html/python/_autosummary/mlx.core.divide.html @@ -8,7 +8,7 @@ - mlx.core.divide — MLX 0.29.2 documentation + mlx.core.divide — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.divide#

              -divide(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
              +divide(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

              Element-wise division.

              Divide two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.divmod.html b/docs/build/html/python/_autosummary/mlx.core.divmod.html index e818120e2..cd2f0cb55 100644 --- a/docs/build/html/python/_autosummary/mlx.core.divmod.html +++ b/docs/build/html/python/_autosummary/mlx.core.divmod.html @@ -8,7 +8,7 @@ - mlx.core.divmod — MLX 0.29.2 documentation + mlx.core.divmod — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.divmod#

              -divmod(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
              +divmod(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

              Element-wise quotient and remainder.

              The fuction divmod(a, b) is equivalent to but faster than (a // b, a % b). The function uses numpy-style broadcasting @@ -948,7 +948,7 @@ semantics. Either or both input arrays can also be scalars.

              The quotient a // b and remainder a % b.

              Return type:
              -

              tuple(array, array)

              +

              tuple(array, array)

              diff --git a/docs/build/html/python/_autosummary/mlx.core.einsum.html b/docs/build/html/python/_autosummary/mlx.core.einsum.html index d5abd2dac..e6be38dd4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.einsum.html +++ b/docs/build/html/python/_autosummary/mlx.core.einsum.html @@ -8,7 +8,7 @@ - mlx.core.einsum — MLX 0.29.2 documentation + mlx.core.einsum — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,12 +932,12 @@ document.write(`

              mlx.core.einsum#

              -einsum(subscripts: str, *operands, stream: None | Stream | Device = None) array#
              +einsum(subscripts: str, *operands, stream: None | Stream | Device = None) array#

              Perform the Einstein summation convention on the operands.

              Parameters:
                -
              • subscripts (str) – The Einstein summation convention equation.

              • +
              • subscripts (str) – The Einstein summation convention equation.

              • *operands (array) – The input arrays.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.einsum_path.html b/docs/build/html/python/_autosummary/mlx.core.einsum_path.html index 031825fe4..e827916bc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.einsum_path.html +++ b/docs/build/html/python/_autosummary/mlx.core.einsum_path.html @@ -8,7 +8,7 @@ - mlx.core.einsum_path — MLX 0.29.2 documentation + mlx.core.einsum_path — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,12 +932,12 @@ document.write(`

              mlx.core.einsum_path#

              -einsum_path(subscripts: str, *operands)#
              +einsum_path(subscripts: str, *operands)#

              Compute the contraction order for the given Einstein summation.

              Parameters:
                -
              • subscripts (str) – The Einstein summation convention equation.

              • +
              • subscripts (str) – The Einstein summation convention equation.

              • *operands (array) – The input arrays.

              @@ -946,7 +946,7 @@ document.write(` chosen path.

              Return type:
              -

              tuple(list(tuple(int, int)), str)

              +

              tuple(list(tuple(int, int)), str)

              diff --git a/docs/build/html/python/_autosummary/mlx.core.enable_compile.html b/docs/build/html/python/_autosummary/mlx.core.enable_compile.html index e126bfe0a..6f5c4c4ba 100644 --- a/docs/build/html/python/_autosummary/mlx.core.enable_compile.html +++ b/docs/build/html/python/_autosummary/mlx.core.enable_compile.html @@ -8,7 +8,7 @@ - mlx.core.enable_compile — MLX 0.29.2 documentation + mlx.core.enable_compile — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.enable_compile#

              -enable_compile() None#
              +enable_compile() None#

              Globally enable compilation. This will override the environment variable MLX_DISABLE_COMPILE if set.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.equal.html b/docs/build/html/python/_autosummary/mlx.core.equal.html index 42023fbb2..5977c4191 100644 --- a/docs/build/html/python/_autosummary/mlx.core.equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.equal.html @@ -8,7 +8,7 @@ - mlx.core.equal — MLX 0.29.2 documentation + mlx.core.equal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.equal#

              -equal(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
              +equal(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

              Element-wise equality.

              Equality comparison on two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.erf.html b/docs/build/html/python/_autosummary/mlx.core.erf.html index 2972dc4b6..eea40c905 100644 --- a/docs/build/html/python/_autosummary/mlx.core.erf.html +++ b/docs/build/html/python/_autosummary/mlx.core.erf.html @@ -8,7 +8,7 @@ - mlx.core.erf — MLX 0.29.2 documentation + mlx.core.erf — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -141,8 +141,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`

              mlx.core.erf#

              -erf(a: array, /, *, stream: None | Stream | Device = None) array#
              +erf(a: array, /, *, stream: None | Stream | Device = None) array#

              Element-wise error function.

              \[\mathrm{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} \, dt\]
              diff --git a/docs/build/html/python/_autosummary/mlx.core.erfinv.html b/docs/build/html/python/_autosummary/mlx.core.erfinv.html index a7509e0d7..e3c9bc0da 100644 --- a/docs/build/html/python/_autosummary/mlx.core.erfinv.html +++ b/docs/build/html/python/_autosummary/mlx.core.erfinv.html @@ -8,7 +8,7 @@ - mlx.core.erfinv — MLX 0.29.2 documentation + mlx.core.erfinv — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.erfinv#

              -erfinv(a: array, /, *, stream: None | Stream | Device = None) array#
              +erfinv(a: array, /, *, stream: None | Stream | Device = None) array#

              Element-wise inverse of erf().

              Parameters:
              diff --git a/docs/build/html/python/_autosummary/mlx.core.eval.html b/docs/build/html/python/_autosummary/mlx.core.eval.html index 313b48fa7..7aa207241 100644 --- a/docs/build/html/python/_autosummary/mlx.core.eval.html +++ b/docs/build/html/python/_autosummary/mlx.core.eval.html @@ -8,7 +8,7 @@ - mlx.core.eval — MLX 0.29.2 documentation + mlx.core.eval — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,13 +932,13 @@ document.write(`

              mlx.core.eval#

              -eval(*args) None#
              +eval(*args) None#

              Evaluate an array or tree of array.

              Parameters:

              *args (arrays or trees of arrays) – Each argument can be a single array or a tree of arrays. If a tree is given the nodes can be a Python -list, tuple or dict. Leaves which are not +list, tuple or dict. Leaves which are not arrays are ignored.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.exp.html b/docs/build/html/python/_autosummary/mlx.core.exp.html index 5e6753e1a..5dea40ff0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.exp.html +++ b/docs/build/html/python/_autosummary/mlx.core.exp.html @@ -8,7 +8,7 @@ - mlx.core.exp — MLX 0.29.2 documentation + mlx.core.exp — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.exp#

              -exp(a: array, /, *, stream: None | Stream | Device = None) array#
              +exp(a: array, /, *, stream: None | Stream | Device = None) array#

              Element-wise exponential.

              Parameters:
              diff --git a/docs/build/html/python/_autosummary/mlx.core.expand_dims.html b/docs/build/html/python/_autosummary/mlx.core.expand_dims.html index a566c2807..eebae7964 100644 --- a/docs/build/html/python/_autosummary/mlx.core.expand_dims.html +++ b/docs/build/html/python/_autosummary/mlx.core.expand_dims.html @@ -8,7 +8,7 @@ - mlx.core.expand_dims — MLX 0.29.2 documentation + mlx.core.expand_dims — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,13 +932,13 @@ document.write(`

              mlx.core.expand_dims#

              -expand_dims(a: array, /, axis: int | Sequence[int], *, stream: None | Stream | Device = None) array#
              +expand_dims(a: array, /, axis: int | Sequence[int], *, stream: None | Stream | Device = None) array#

              Add a size one dimension at the given axis.

              Parameters:
              • a (array) – Input array.

              • -
              • axes (int or tuple(int)) – The index of the inserted dimensions.

              • +
              • axes (int or tuple(int)) – The index of the inserted dimensions.

              Returns:
              diff --git a/docs/build/html/python/_autosummary/mlx.core.expm1.html b/docs/build/html/python/_autosummary/mlx.core.expm1.html index a5949c292..b67d2c83e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.expm1.html +++ b/docs/build/html/python/_autosummary/mlx.core.expm1.html @@ -8,7 +8,7 @@ - mlx.core.expm1 — MLX 0.29.2 documentation + mlx.core.expm1 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.expm1#

              -expm1(a: array, /, *, stream: None | Stream | Device = None) array#
              +expm1(a: array, /, *, stream: None | Stream | Device = None) array#

              Element-wise exponential minus 1.

              Computes exp(x) - 1 with greater precision for small x.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.export_function.html b/docs/build/html/python/_autosummary/mlx.core.export_function.html index cbd9dfaa4..5deb2c8af 100644 --- a/docs/build/html/python/_autosummary/mlx.core.export_function.html +++ b/docs/build/html/python/_autosummary/mlx.core.export_function.html @@ -8,7 +8,7 @@ - mlx.core.export_function — MLX 0.29.2 documentation + mlx.core.export_function — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,8 +932,8 @@ document.write(`

              mlx.core.export_function#

              -export_function(file: str, fun: Callable, *args, shapeless: bool = False, **kwargs) None#
              -

              Export a function to a file.

              +export_function(arg0: object, fun: Callable, *args, shapeless: bool = False, **kwargs) None# +

              Export an MLX function.

              Example input arrays must be provided to export a function. The example inputs can be variable *args and **kwargs or a tuple of arrays and/or dictionary of string keys with array values.

              @@ -946,11 +946,12 @@ versions of MLX may not be compatible with future versions.

              Parameters:
                -
              • file (str) – File path to export the function to.

              • +
              • file (str or Callable) – Either a file path to export the function +to or a callback.

              • fun (Callable) – A function which takes as input zero or more array and returns one or more array.

              • *args (array) – Example array inputs to the function.

              • -
              • shapeless (bool, optional) – Whether or not the function allows +

              • shapeless (bool, optional) – Whether or not the function allows inputs with variable shapes. Default: False.

              • **kwargs (array) – Additional example keyword array inputs to the function.

              • diff --git a/docs/build/html/python/_autosummary/mlx.core.export_to_dot.html b/docs/build/html/python/_autosummary/mlx.core.export_to_dot.html index 07af8976b..3e3fe10dc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.export_to_dot.html +++ b/docs/build/html/python/_autosummary/mlx.core.export_to_dot.html @@ -8,7 +8,7 @@ - mlx.core.export_to_dot — MLX 0.29.2 documentation + mlx.core.export_to_dot — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                mlx.core.export_to_dot#

                -export_to_dot(file: object, *args, **kwargs) None#
                +export_to_dot(file: object, *args, **kwargs) None#

                Export a graph to DOT format for visualization.

                A variable number of output arrays can be provided for exporting The graph exported will recursively include all unevaluated inputs of @@ -940,9 +940,9 @@ the provided outputs.

                Parameters:
                  -
                • file (str) – The file path to export to.

                • +
                • file (str) – The file path to export to.

                • *args (array) – The output arrays.

                • -
                • **kwargs (dict[str, array]) – Provide some names for arrays in the +

                • **kwargs (dict[str, array]) – Provide some names for arrays in the graph to make the result easier to parse.

                diff --git a/docs/build/html/python/_autosummary/mlx.core.exporter.html b/docs/build/html/python/_autosummary/mlx.core.exporter.html index 37dd02a2e..ee83ff7e9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.exporter.html +++ b/docs/build/html/python/_autosummary/mlx.core.exporter.html @@ -8,7 +8,7 @@ - mlx.core.exporter — MLX 0.29.2 documentation + mlx.core.exporter — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                mlx.core.exporter#

                -exporter(file: str, fun: Callable, *, shapeless: bool = False) mlx.core.FunctionExporter#
                +exporter(file: str, fun: Callable, *, shapeless: bool = False) mlx.core.FunctionExporter#

                Make a callable object to export multiple traces of a function to a file.

                Warning

                @@ -943,8 +943,8 @@ versions of MLX may not be compatible with future versions.

                Parameters:
                  -
                • file (str) – File path to export the function to.

                • -
                • shapeless (bool, optional) – Whether or not the function allows +

                • file (str) – File path to export the function to.

                • +
                • shapeless (bool, optional) – Whether or not the function allows inputs with variable shapes. Default: False.

                diff --git a/docs/build/html/python/_autosummary/mlx.core.eye.html b/docs/build/html/python/_autosummary/mlx.core.eye.html index d7406da85..c608dee47 100644 --- a/docs/build/html/python/_autosummary/mlx.core.eye.html +++ b/docs/build/html/python/_autosummary/mlx.core.eye.html @@ -8,7 +8,7 @@ - mlx.core.eye — MLX 0.29.2 documentation + mlx.core.eye — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home +
                @@ -932,14 +932,14 @@ document.write(`

                mlx.core.eye#

                -eye(n: int, m: int | None = None, k: int = 0, dtype: Dtype | None = float32, *, stream: None | Stream | Device = None) array#
                +eye(n: int, m: int | None = None, k: int = 0, dtype: Dtype | None = float32, *, stream: None | Stream | Device = None) array#

                Create an identity matrix or a general diagonal matrix.

                Parameters:
                  -
                • n (int) – The number of rows in the output.

                • -
                • m (int, optional) – The number of columns in the output. Defaults to n.

                • -
                • k (int, optional) – Index of the diagonal. Defaults to 0 (main diagonal).

                • +
                • n (int) – The number of rows in the output.

                • +
                • m (int, optional) – The number of columns in the output. Defaults to n.

                • +
                • k (int, optional) – Index of the diagonal. Defaults to 0 (main diagonal).

                • dtype (Dtype, optional) – Data type of the output array. Defaults to float32.

                • stream (Stream, optional) – Stream or device. Defaults to None.

                diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.cuda_kernel.html b/docs/build/html/python/_autosummary/mlx.core.fast.cuda_kernel.html index a0701309a..c9eb49440 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.cuda_kernel.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.cuda_kernel.html @@ -8,7 +8,7 @@ - mlx.core.fast.cuda_kernel — MLX 0.29.2 documentation + mlx.core.fast.cuda_kernel — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,25 +932,25 @@ document.write(`

                mlx.core.fast.cuda_kernel#

                -cuda_kernel(name: str, input_names: Sequence[str], output_names: Sequence[str], source: str, header: str = '', ensure_row_contiguous: bool = True, shared_memory: int = 0) object#
                +cuda_kernel(name: str, input_names: Sequence[str], output_names: Sequence[str], source: str, header: str = '', ensure_row_contiguous: bool = True, shared_memory: int = 0) object#

                A jit-compiled custom CUDA kernel defined from a source string.

                This is the CUDA equivalent of Custom Metal Kernels.

                Parameters:
                  -
                • name (str) – Name for the kernel.

                • -
                • input_names (List[str]) – The parameter names of the inputs in the +

                • name (str) – Name for the kernel.

                • +
                • input_names (List[str]) – The parameter names of the inputs in the function signature.

                • -
                • output_names (List[str]) – The parameter names of the outputs in the +

                • output_names (List[str]) – The parameter names of the outputs in the function signature.

                • -
                • source (str) – Source code. This is the body of a function in CUDA, +

                • source (str) – Source code. This is the body of a function in CUDA, the function signature will be automatically generated.

                • -
                • header (str) – Header source code to include before the main function. +

                • header (str) – Header source code to include before the main function. Useful for helper functions or includes that should live outside of the main function body.

                • -
                • ensure_row_contiguous (bool) – Whether to ensure the inputs are row contiguous +

                • ensure_row_contiguous (bool) – Whether to ensure the inputs are row contiguous before the kernel runs. Default: True.

                • -
                • shared_memory (int) – The dynamic shared memory to request for the +

                • shared_memory (int) – The dynamic shared memory to request for the kernel. A value of 0 means no dynamic shared memory. Default: 0.

                diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html b/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html index 5a062fc4f..6a1c30a7c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html @@ -8,7 +8,7 @@ - mlx.core.fast.layer_norm — MLX 0.29.2 documentation + mlx.core.fast.layer_norm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                mlx.core.fast.layer_norm#

                -layer_norm(x: array, weight: array | None, bias: array | None, eps: float, *, stream: None | Stream | Device = None) array#
                +layer_norm(x: array, weight: array | None, bias: array | None, eps: float, *, stream: None | Stream | Device = None) array#

                Layer normalization.

                The normalization is with respect to the last axis of the input x.

                @@ -945,7 +945,7 @@ as the last axis of

                bias (array, optional) – An additive offset to be added to the result. The bias should be one-dimensional with the same size as the last axis of x. If set to None then no translation happens.

                -
              • eps (float) – A small additive constant for numerical stability.

              • +
              • eps (float) – A small additive constant for numerical stability.

              Returns:
              diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html b/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html index 347bbbe46..9702b1d96 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html @@ -8,7 +8,7 @@ - mlx.core.fast.metal_kernel — MLX 0.29.2 documentation + mlx.core.fast.metal_kernel — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,25 +932,25 @@ document.write(`

              mlx.core.fast.metal_kernel#

              -metal_kernel(name: str, input_names: Sequence[str], output_names: Sequence[str], source: str, header: str = '', ensure_row_contiguous: bool = True, atomic_outputs: bool = False) object#
              +metal_kernel(name: str, input_names: Sequence[str], output_names: Sequence[str], source: str, header: str = '', ensure_row_contiguous: bool = True, atomic_outputs: bool = False) object#

              A jit-compiled custom Metal kernel defined from a source string.

              Full documentation: Custom Metal Kernels.

              Parameters:
                -
              • name (str) – Name for the kernel.

              • -
              • input_names (List[str]) – The parameter names of the inputs in the +

              • name (str) – Name for the kernel.

              • +
              • input_names (List[str]) – The parameter names of the inputs in the function signature.

              • -
              • output_names (List[str]) – The parameter names of the outputs in the +

              • output_names (List[str]) – The parameter names of the outputs in the function signature.

              • -
              • source (str) – Source code. This is the body of a function in Metal, +

              • source (str) – Source code. This is the body of a function in Metal, the function signature will be automatically generated.

              • -
              • header (str) – Header source code to include before the main function. +

              • header (str) – Header source code to include before the main function. Useful for helper functions or includes that should live outside of the main function body.

              • -
              • ensure_row_contiguous (bool) – Whether to ensure the inputs are row contiguous +

              • ensure_row_contiguous (bool) – Whether to ensure the inputs are row contiguous before the kernel runs. Default: True.

              • -
              • atomic_outputs (bool) – Whether to use atomic outputs in the function signature +

              • atomic_outputs (bool) – Whether to use atomic outputs in the function signature e.g. device atomic<float>. Default: False.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html b/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html index d444af59a..f5d6d4670 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html @@ -8,7 +8,7 @@ - mlx.core.fast.rms_norm — MLX 0.29.2 documentation + mlx.core.fast.rms_norm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.fast.rms_norm#

              -rms_norm(x: array, weight: array | None, eps: float, *, stream: None | Stream | Device = None) array#
              +rms_norm(x: array, weight: array | None, eps: float, *, stream: None | Stream | Device = None) array#

              Root Mean Square normalization (RMS norm).

              The normalization is with respect to the last axis of the input x.

              @@ -942,7 +942,7 @@ document.write(`
            • weight (array, optional) – A multiplicative weight to scale the result by. The weight should be one-dimensional with the same size as the last axis of x. If set to None then no scaling happens.

            • -
            • eps (float) – A small additive constant for numerical stability.

            • +
            • eps (float) – A small additive constant for numerical stability.

            Returns:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.rope.html b/docs/build/html/python/_autosummary/mlx.core.fast.rope.html index 7e77c3271..a58b4bad3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.rope.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.rope.html @@ -8,7 +8,7 @@ - mlx.core.fast.rope — MLX 0.29.2 documentation + mlx.core.fast.rope — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.fast.rope#

            -rope(a: array, dims: int, *, traditional: bool, base: float | None, scale: float, offset: int | array, freqs: array | None = None, stream: None | Stream | Device = None) array#
            +rope(a: array, dims: int, *, traditional: bool, base: float | None, scale: float, offset: int | array, freqs: array | None = None, stream: None | Stream | Device = None) array#

            Apply rotary positional encoding to the input.

            The input is expected to be at least 3D with shape (B, *, T, D) where:
              @@ -946,16 +946,16 @@ document.write(`
              Parameters:
              • a (array) – The input array.

              • -
              • dims (int) – The feature dimensions to be rotated. If the input feature +

              • dims (int) – The feature dimensions to be rotated. If the input feature is larger than dims then the rest is left unchanged.

              • -
              • traditional (bool) – If set to True choose the traditional +

              • traditional (bool) – If set to True choose the traditional implementation which rotates consecutive dimensions.

              • -
              • base (float, optional) – The base used to compute angular frequency for +

              • base (float, optional) – The base used to compute angular frequency for each dimension in the positional encodings. Exactly one of base and freqs must be None.

              • -
              • scale (float) – The scale used to scale the positions.

              • -
              • offset (int or array) – The position offset to start at. If an -array is given it can be a scalar or vector of B +

              • scale (float) – The scale used to scale the positions.

              • +
              • offset (int or array) – The position offset to start at. If an +array is given it can be a scalar or vector of B offsets for each example in the batch.

              • freqs (array, optional) – Optional frequencies to use with RoPE. If set, the base parameter must be None. Default: None.

              • diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html b/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html index 7f11414bc..403a85acd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html @@ -8,7 +8,7 @@ - mlx.core.fast.scaled_dot_product_attention — MLX 0.29.2 documentation + mlx.core.fast.scaled_dot_product_attention — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                mlx.core.fast.scaled_dot_product_attention#

                -scaled_dot_product_attention(q: array, k: array, v: array, *, scale: float, mask: None | str | array = None, sinks: array | None = None, stream: None | Stream | Device = None) array#
                +scaled_dot_product_attention(q: array, k: array, v: array, *, scale: float, mask: None | str | array = None, sinks: array | None = None, stream: None | Stream | Device = None) array#

                A fast implementation of multi-head attention: O = softmax(Q @ K.T, dim=-1) @ V.

                Supports:

                  @@ -964,8 +964,8 @@ and v
                • q (array) – Queries with shape [B, N_q, T_q, D].

                • k (array) – Keys with shape [B, N_kv, T_kv, D].

                • v (array) – Values with shape [B, N_kv, T_kv, D].

                • -
                • scale (float) – Scale for queries (typically 1.0 / sqrt(q.shape(-1)).

                • -
                • mask (str or array, optional) – The mask to apply to the +

                • scale (float) – Scale for queries (typically 1.0 / sqrt(q.shape(-1)).

                • +
                • mask (str or array, optional) – The mask to apply to the query-key scores. The mask can be an array or a string indicating the mask type. The only supported string type is "causal". If the mask is an array it can be a boolean or additive mask. The mask diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fft.html b/docs/build/html/python/_autosummary/mlx.core.fft.fft.html index f83e73217..7d311aa4f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fft.html @@ -8,7 +8,7 @@ - mlx.core.fft.fft — MLX 0.29.2 documentation + mlx.core.fft.fft — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,16 +932,16 @@ document.write(`

                  mlx.core.fft.fft#

                  -fft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#
                  +fft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#

                  One dimensional discrete Fourier Transform.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • n (int, optional) – Size of the transformed axis. The +

                  • n (int, optional) – Size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to match n. The default value is a.shape[axis].

                  • -
                  • axis (int, optional) – Axis along which to perform the FFT. The +

                  • axis (int, optional) – Axis along which to perform the FFT. The default is -1.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html index 051bf8080..c79b44f85 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.fft2 — MLX 0.29.2 documentation + mlx.core.fft.fft2 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

                  mlx.core.fft.fft2#

                  -fft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#
                  +fft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#

                  Two dimensional discrete Fourier Transform.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is [-2, -1].

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html index 1b5ea8bbc..0713a2266 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.fftn — MLX 0.29.2 documentation + mlx.core.fft.fftn — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

                  mlx.core.fft.fftn#

                  -fftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#
                  +fftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#

                  n-dimensional discrete Fourier Transform.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is None in which case the FFT is over the last len(s) axes are or all axes if s is also None.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fftshift.html b/docs/build/html/python/_autosummary/mlx.core.fft.fftshift.html index 282e2c6bf..a0aeb40f0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fftshift.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fftshift.html @@ -8,7 +8,7 @@ - mlx.core.fft.fftshift — MLX 0.29.2 documentation + mlx.core.fft.fftshift — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,13 +932,13 @@ document.write(`

                  mlx.core.fft.fftshift#

                  -fftshift(a: array, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#
                  +fftshift(a: array, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#

                  Shift the zero-frequency component to the center of the spectrum.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • axes (list(int), optional) – Axes over which to perform the shift. +

                  • axes (list(int), optional) – Axes over which to perform the shift. If None, shift all axes.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html index e98cf85df..fb88010a5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifft — MLX 0.29.2 documentation + mlx.core.fft.ifft — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,16 +932,16 @@ document.write(`

                  mlx.core.fft.ifft#

                  -ifft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#
                  +ifft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#

                  One dimensional inverse discrete Fourier Transform.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • n (int, optional) – Size of the transformed axis. The +

                  • n (int, optional) – Size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to match n. The default value is a.shape[axis].

                  • -
                  • axis (int, optional) – Axis along which to perform the FFT. The +

                  • axis (int, optional) – Axis along which to perform the FFT. The default is -1.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html index 38defe529..5743b366a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifft2 — MLX 0.29.2 documentation + mlx.core.fft.ifft2 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

                  mlx.core.fft.ifft2#

                  -ifft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#
                  +ifft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#

                  Two dimensional inverse discrete Fourier Transform.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is [-2, -1].

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html index 74b3eff8c..38ce3c6fe 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifftn — MLX 0.29.2 documentation + mlx.core.fft.ifftn — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,17 +932,17 @@ document.write(`

                  mlx.core.fft.ifftn#

                  -ifftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#
                  +ifftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#

                  n-dimensional inverse discrete Fourier Transform.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is None in which case the FFT is over the last len(s) axes or all axes if s is also None.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifftshift.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifftshift.html index 949cc078e..7d5c3fbcd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifftshift.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifftshift.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifftshift — MLX 0.29.2 documentation + mlx.core.fft.ifftshift — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,14 +932,14 @@ document.write(`

                  mlx.core.fft.ifftshift#

                  -ifftshift(a: array, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#
                  +ifftshift(a: array, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#

                  The inverse of fftshift(). While identical to fftshift() for even-length axes, the behavior differs for odd-length axes.

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • axes (list(int), optional) – Axes over which to perform the inverse shift. +

                  • axes (list(int), optional) – Axes over which to perform the inverse shift. If None, shift all axes.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html b/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html index 8a29a8202..e98f09936 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html @@ -8,7 +8,7 @@ - mlx.core.fft.irfft — MLX 0.29.2 documentation + mlx.core.fft.irfft — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.fft.irfft#

                  -irfft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#
                  +irfft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#

                  The inverse of rfft().

                  The output has the same shape as the input except along axis in which case it has size n.

                  @@ -940,11 +940,11 @@ which case it has size Parameters:
                  • a (array) – The input array.

                  • -
                  • n (int, optional) – Size of the transformed axis. The +

                  • n (int, optional) – Size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to match n // 2 + 1. The default value is a.shape[axis] // 2 + 1.

                  • -
                  • axis (int, optional) – Axis along which to perform the FFT. The +

                  • axis (int, optional) – Axis along which to perform the FFT. The default is -1.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html index 8903ef7ae..75f981fff 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.irfft2 — MLX 0.29.2 documentation + mlx.core.fft.irfft2 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.fft.irfft2#

                  -irfft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#
                  +irfft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#

                  The inverse of rfft2().

                  Note the input is generally complex. The dimensions of the input specified in axes are padded or truncated to match the sizes @@ -942,12 +942,12 @@ and will have size

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s except for the last axis which has size s[-1] // 2 + 1. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is [-2, -1].

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html index 1c93c7c73..a563d7fec 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.irfftn — MLX 0.29.2 documentation + mlx.core.fft.irfftn — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.fft.irfftn#

                  -irfftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#
                  +irfftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#

                  The inverse of rfftn().

                  Note the input is generally complex. The dimensions of the input specified in axes are padded or truncated to match the sizes @@ -942,11 +942,11 @@ and will have size

                  Parameters:
                  • a (array) – The input array.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is None in which case the FFT is over the last len(s) axes or all axes if s is also None.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html b/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html index 1baa78ab9..d08474e33 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html @@ -8,7 +8,7 @@ - mlx.core.fft.rfft — MLX 0.29.2 documentation + mlx.core.fft.rfft — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.fft.rfft#

                  -rfft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#
                  +rfft(a: array, n: Optional[int] = None, axis: int = -1, stream: Optional[Union[Stream, Device]] = None) array#

                  One dimensional discrete Fourier Transform on a real input.

                  The output has the same shape as the input except along axis in which case it has size n // 2 + 1.

                  @@ -941,10 +941,10 @@ which case it has size
                  • a (array) – The input array. If the array is complex it will be silently cast to a real type.

                  • -
                  • n (int, optional) – Size of the transformed axis. The +

                  • n (int, optional) – Size of the transformed axis. The corresponding axis in the input is truncated or padded with zeros to match n. The default value is a.shape[axis].

                  • -
                  • axis (int, optional) – Axis along which to perform the FFT. The +

                  • axis (int, optional) – Axis along which to perform the FFT. The default is -1.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html index 7fa730b0b..2cb5ee3e9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.rfft2 — MLX 0.29.2 documentation + mlx.core.fft.rfft2 — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.fft.rfft2#

                  -rfft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#
                  +rfft2(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = [-2, -1], stream: Optional[Union[Stream, Device]] = None) array#

                  Two dimensional real discrete Fourier Transform.

                  The output has the same shape as the input except along the dimensions in axes in which case it has sizes from s. The last axis in axes is @@ -942,11 +942,11 @@ treated as the real axis and will have size

                  • a (array) – The input array. If the array is complex it will be silently cast to a real type.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is [-2, -1].

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html index 9ec513a7d..90017a926 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.rfftn — MLX 0.29.2 documentation + mlx.core.fft.rfftn — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.fft.rfftn#

                  -rfftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#
                  +rfftn(a: array, s: Optional[tuple[int, ...]] = None, axes: Optional[Sequence[int]] = None, stream: Optional[Union[Stream, Device]] = None) array#

                  n-dimensional real discrete Fourier Transform.

                  The output has the same shape as the input except along the dimensions in axes in which case it has sizes from s. The last axis in axes is @@ -942,11 +942,11 @@ treated as the real axis and will have size

                  • a (array) – The input array. If the array is complex it will be silently cast to a real type.

                  • -
                  • s (list(int), optional) – Sizes of the transformed axes. The +

                  • s (list(int), optional) – Sizes of the transformed axes. The corresponding axes in the input are truncated or padded with zeros to match the sizes in s. The default value is the sizes of a along axes.

                  • -
                  • axes (list(int), optional) – Axes along which to perform the FFT. +

                  • axes (list(int), optional) – Axes along which to perform the FFT. The default is None in which case the FFT is over the last len(s) axes or all axes if s is also None.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.finfo.html b/docs/build/html/python/_autosummary/mlx.core.finfo.html index 716081028..56c644ee0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.finfo.html +++ b/docs/build/html/python/_autosummary/mlx.core.finfo.html @@ -8,7 +8,7 @@ - mlx.core.finfo — MLX 0.29.2 documentation + mlx.core.finfo — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -939,7 +939,7 @@ document.write(`

                  Get information on floating-point types.

                  -__init__(self, arg: Dtype, /) None#
                  +__init__(self, arg: Dtype, /) None#

                  Methods

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.flatten.html b/docs/build/html/python/_autosummary/mlx.core.flatten.html index d496710b9..c08150c89 100644 --- a/docs/build/html/python/_autosummary/mlx.core.flatten.html +++ b/docs/build/html/python/_autosummary/mlx.core.flatten.html @@ -8,7 +8,7 @@ - mlx.core.flatten — MLX 0.29.2 documentation + mlx.core.flatten — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.flatten#

                  -flatten(a: array, /, start_axis: int = 0, end_axis: int = -1, *, stream: None | Stream | Device = None) array#
                  +flatten(a: array, /, start_axis: int = 0, end_axis: int = -1, *, stream: None | Stream | Device = None) array#

                  Flatten an array.

                  The axes flattened will be between start_axis and end_axis, inclusive. Negative axes are supported. After converting negative axis to @@ -942,8 +942,8 @@ positive, axes outside the valid range will be clamped to a valid value,

                  Parameters:
                  • a (array) – Input array.

                  • -
                  • start_axis (int, optional) – The first dimension to flatten. Defaults to 0.

                  • -
                  • end_axis (int, optional) – The last dimension to flatten. Defaults to -1.

                  • +
                  • start_axis (int, optional) – The first dimension to flatten. Defaults to 0.

                  • +
                  • end_axis (int, optional) – The last dimension to flatten. Defaults to -1.

                  • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.floor.html b/docs/build/html/python/_autosummary/mlx.core.floor.html index 6d2425a32..b5bc321c5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.floor.html +++ b/docs/build/html/python/_autosummary/mlx.core.floor.html @@ -8,7 +8,7 @@ - mlx.core.floor — MLX 0.29.2 documentation + mlx.core.floor — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.floor#

                  -floor(a: array, /, *, stream: None | Stream | Device = None) array#
                  +floor(a: array, /, *, stream: None | Stream | Device = None) array#

                  Element-wise floor.

                  Parameters:
                  diff --git a/docs/build/html/python/_autosummary/mlx.core.floor_divide.html b/docs/build/html/python/_autosummary/mlx.core.floor_divide.html index 0722c74f9..fb3a3fded 100644 --- a/docs/build/html/python/_autosummary/mlx.core.floor_divide.html +++ b/docs/build/html/python/_autosummary/mlx.core.floor_divide.html @@ -8,7 +8,7 @@ - mlx.core.floor_divide — MLX 0.29.2 documentation + mlx.core.floor_divide — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.floor_divide#

                  -floor_divide(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
                  +floor_divide(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

                  Element-wise integer division.

                  If either array is a floating point type then it is equivalent to calling floor() after divide().

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.full.html b/docs/build/html/python/_autosummary/mlx.core.full.html index 2db1f5e51..08d2b286f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.full.html +++ b/docs/build/html/python/_autosummary/mlx.core.full.html @@ -8,7 +8,7 @@ - mlx.core.full — MLX 0.29.2 documentation + mlx.core.full — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,15 +932,15 @@ document.write(`

                  mlx.core.full#

                  -full(shape: int | Sequence[int], vals: scalar | array, dtype: Dtype | None = None, *, stream: None | Stream | Device = None) array#
                  +full(shape: int | Sequence[int], vals: scalar | array, dtype: Dtype | None = None, *, stream: None | Stream | Device = None) array#

                  Construct an array with the given value.

                  Constructs an array of size shape filled with vals. If vals is an array it must be broadcastable to the given shape.

                  Parameters:
                    -
                  • shape (int or list(int)) – The shape of the output array.

                  • -
                  • vals (float or int or array) – Values to fill the array with.

                  • +
                  • shape (int or list(int)) – The shape of the output array.

                  • +
                  • vals (float or int or array) – Values to fill the array with.

                  • dtype (Dtype, optional) – Data type of the output array. If unspecified the output type is inferred from vals.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.gather_mm.html b/docs/build/html/python/_autosummary/mlx.core.gather_mm.html index 5177af6ea..cbe4ab918 100644 --- a/docs/build/html/python/_autosummary/mlx.core.gather_mm.html +++ b/docs/build/html/python/_autosummary/mlx.core.gather_mm.html @@ -8,7 +8,7 @@ - mlx.core.gather_mm — MLX 0.29.2 documentation + mlx.core.gather_mm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.gather_mm#

                  -gather_mm(a: array, b: array, /, lhs_indices: array, rhs_indices: array, *, sorted_indices: bool = False, stream: None | Stream | Device = None) array#
                  +gather_mm(a: array, b: array, /, lhs_indices: array, rhs_indices: array, *, sorted_indices: bool = False, stream: None | Stream | Device = None) array#

                  Matrix multiplication with matrix-level gather.

                  Performs a gather of the operands with the given indices followed by a (possibly batched) matrix multiplication of two arrays. This operation @@ -954,7 +954,7 @@ flag can be passed for a possible faster implementation.

                • b (array) – Input array.

                • lhs_indices (array, optional) – Integer indices for a. Default: None

                • rhs_indices (array, optional) – Integer indices for b. Default: None

                • -
                • sorted_indices (bool, optional) – May allow a faster implementation +

                • sorted_indices (bool, optional) – May allow a faster implementation if the passed indices are sorted. Default: False.

                diff --git a/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html b/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html index 988a99bec..d874da9c9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html +++ b/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html @@ -8,7 +8,7 @@ - mlx.core.gather_qmm — MLX 0.29.2 documentation + mlx.core.gather_qmm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                mlx.core.gather_qmm#

                -gather_qmm(x: array, w: array, /, scales: array, biases: array | None = None, lhs_indices: array | None = None, rhs_indices: array | None = None, transpose: bool = True, group_size: int = 64, bits: int = 4, mode: str = 'affine', *, sorted_indices: bool = False, stream: None | Stream | Device = None) array#
                +gather_qmm(x: array, w: array, /, scales: array, biases: array | None = None, lhs_indices: array | None = None, rhs_indices: array | None = None, transpose: bool = True, group_size: int = 64, bits: int = 4, mode: str = 'affine', *, sorted_indices: bool = False, stream: None | Stream | Device = None) array#

                Perform quantized matrix multiplication with matrix-level gather.

                This operation is the quantized equivalent to gather_mm(). Similar to gather_mm(), the indices lhs_indices and @@ -950,15 +950,15 @@ as w elements of w. Default: None.

              • lhs_indices (array, optional) – Integer indices for x. Default: None.

              • rhs_indices (array, optional) – Integer indices for w. Default: None.

              • -
              • transpose (bool, optional) – Defines whether to multiply with the +

              • transpose (bool, optional) – Defines whether to multiply with the transposed w or not, namely whether we are performing x @ w.T or x @ w. Default: True.

              • -
              • group_size (int, optional) – The size of the group in w that +

              • group_size (int, optional) – The size of the group in w that shares a scale and bias. Default: 64.

              • -
              • bits (int, optional) – The number of bits occupied by each element in +

              • bits (int, optional) – The number of bits occupied by each element in w. Default: 4.

              • -
              • mode (str, optional) – The quantization mode. Default: "affine".

              • -
              • sorted_indices (bool, optional) – May allow a faster implementation +

              • mode (str, optional) – The quantization mode. Default: "affine".

              • +
              • sorted_indices (bool, optional) – May allow a faster implementation if the passed indices are sorted. Default: False.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.get_active_memory.html b/docs/build/html/python/_autosummary/mlx.core.get_active_memory.html index ace245a87..21b0079c0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.get_active_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.get_active_memory.html @@ -8,7 +8,7 @@ - mlx.core.get_active_memory — MLX 0.29.2 documentation + mlx.core.get_active_memory — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.get_active_memory#

              -get_active_memory() int#
              +get_active_memory() int#

              Get the actively used memory in bytes.

              Note, this will not always match memory use reported by the system because it does not include cached memory buffers.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.get_cache_memory.html b/docs/build/html/python/_autosummary/mlx.core.get_cache_memory.html index 4315bf809..c52fa7c90 100644 --- a/docs/build/html/python/_autosummary/mlx.core.get_cache_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.get_cache_memory.html @@ -8,7 +8,7 @@ - mlx.core.get_cache_memory — MLX 0.29.2 documentation + mlx.core.get_cache_memory — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.get_cache_memory#

              -get_cache_memory() int#
              +get_cache_memory() int#

              Get the cache size in bytes.

              The cache includes memory not currently used that has not been returned to the system allocator.

              diff --git a/docs/build/html/python/_autosummary/mlx.core.get_peak_memory.html b/docs/build/html/python/_autosummary/mlx.core.get_peak_memory.html index 641313459..b5a2ce622 100644 --- a/docs/build/html/python/_autosummary/mlx.core.get_peak_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.get_peak_memory.html @@ -8,7 +8,7 @@ - mlx.core.get_peak_memory — MLX 0.29.2 documentation + mlx.core.get_peak_memory — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.get_peak_memory#

              -get_peak_memory() int#
              +get_peak_memory() int#

              Get the peak amount of used memory in bytes.

              The maximum memory used recorded from the beginning of the program execution or since the last call to reset_peak_memory().

              diff --git a/docs/build/html/python/_autosummary/mlx.core.grad.html b/docs/build/html/python/_autosummary/mlx.core.grad.html index 84740f43a..27ba1b5ac 100644 --- a/docs/build/html/python/_autosummary/mlx.core.grad.html +++ b/docs/build/html/python/_autosummary/mlx.core.grad.html @@ -8,7 +8,7 @@ - mlx.core.grad — MLX 0.29.2 documentation + mlx.core.grad — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

              mlx.core.grad#

              -grad(fun: Callable, argnums: int | Sequence[int] | None = None, argnames: str | Sequence[str] = []) Callable#
              +grad(fun: Callable, argnums: int | Sequence[int] | None = None, argnames: str | Sequence[str] = []) Callable#

              Returns a function which computes the gradient of fun.

              Parameters:
              @@ -940,12 +940,12 @@ document.write(`
            • fun (Callable) – A function which takes a variable number of array or trees of array and returns a scalar output array.

            • -
            • argnums (int or list(int), optional) – Specify the index (or indices) +

            • argnums (int or list(int), optional) – Specify the index (or indices) of the positional arguments of fun to compute the gradient with respect to. If neither argnums nor argnames are provided argnums defaults to 0 indicating fun’s first argument.

            • -
            • argnames (str or list(str), optional) – Specify keyword arguments of +

            • argnames (str or list(str), optional) – Specify keyword arguments of fun to compute gradients with respect to. It defaults to [] so no gradients for keyword arguments by default.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.greater.html b/docs/build/html/python/_autosummary/mlx.core.greater.html index 8a6ac2020..293bb7d2e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.greater.html +++ b/docs/build/html/python/_autosummary/mlx.core.greater.html @@ -8,7 +8,7 @@ - mlx.core.greater — MLX 0.29.2 documentation + mlx.core.greater — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.greater#

            -greater(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
            +greater(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

            Element-wise greater than.

            Strict greater than on two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.greater_equal.html b/docs/build/html/python/_autosummary/mlx.core.greater_equal.html index ee3fceac4..75c28b61b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.greater_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.greater_equal.html @@ -8,7 +8,7 @@ - mlx.core.greater_equal — MLX 0.29.2 documentation + mlx.core.greater_equal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.greater_equal#

            -greater_equal(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
            +greater_equal(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

            Element-wise greater or equal.

            Greater than or equal on two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html b/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html index a563a8378..b4c821455 100644 --- a/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html +++ b/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html @@ -8,7 +8,7 @@ - mlx.core.hadamard_transform — MLX 0.29.2 documentation + mlx.core.hadamard_transform — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.hadamard_transform#

            -hadamard_transform(a: array, scale: float | None = None, stream: None | Stream | Device = None) array#
            +hadamard_transform(a: array, scale: float | None = None, stream: None | Stream | Device = None) array#

            Perform the Walsh-Hadamard transform along the final axis.

            Equivalent to:

            from scipy.linalg import hadamard
            @@ -946,7 +946,7 @@ document.write(`
             
            Parameters:
            • a (array) – Input array or scalar.

            • -
            • scale (float) – Scale the output by this factor. +

            • scale (float) – Scale the output by this factor. Defaults to 1/sqrt(a.shape[-1]) so that the Hadamard matrix is orthonormal.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.identity.html b/docs/build/html/python/_autosummary/mlx.core.identity.html index ae0c9cb5c..31f8b3d4e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.identity.html +++ b/docs/build/html/python/_autosummary/mlx.core.identity.html @@ -8,7 +8,7 @@ - mlx.core.identity — MLX 0.29.2 documentation + mlx.core.identity — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home +
            @@ -932,12 +932,12 @@ document.write(`

            mlx.core.identity#

            -identity(n: int, dtype: Dtype | None = float32, *, stream: None | Stream | Device = None) array#
            +identity(n: int, dtype: Dtype | None = float32, *, stream: None | Stream | Device = None) array#

            Create a square identity matrix.

            Parameters:
              -
            • n (int) – The number of rows and columns in the output.

            • +
            • n (int) – The number of rows and columns in the output.

            • dtype (Dtype, optional) – Data type of the output array. Defaults to float32.

            • stream (Stream, optional) – Stream or device. Defaults to None.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.imag.html b/docs/build/html/python/_autosummary/mlx.core.imag.html index ea12037a5..75a035766 100644 --- a/docs/build/html/python/_autosummary/mlx.core.imag.html +++ b/docs/build/html/python/_autosummary/mlx.core.imag.html @@ -8,7 +8,7 @@ - mlx.core.imag — MLX 0.29.2 documentation + mlx.core.imag — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home +
            @@ -932,7 +932,7 @@ document.write(`

            mlx.core.imag#

            -imag(a: array, /, *, stream: None | Stream | Device = None) array#
            +imag(a: array, /, *, stream: None | Stream | Device = None) array#

            Returns the imaginary part of a complex array.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.import_function.html b/docs/build/html/python/_autosummary/mlx.core.import_function.html index 837604be3..c72399374 100644 --- a/docs/build/html/python/_autosummary/mlx.core.import_function.html +++ b/docs/build/html/python/_autosummary/mlx.core.import_function.html @@ -8,7 +8,7 @@ - mlx.core.import_function — MLX 0.29.2 documentation + mlx.core.import_function — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.import_function#

            -import_function(file: str) Callable#
            +import_function(file: str) Callable#

            Import a function from a file.

            The imported function can be called either with *args and **kwargs or with a tuple of arrays and/or dictionary of string @@ -946,7 +946,7 @@ versions of MLX may not be compatible with future versions.

            Parameters:
            -

            file (str) – The file path to import the function from.

            +

            file (str) – The file path to import the function from.

            Returns:

            The imported function.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.inner.html b/docs/build/html/python/_autosummary/mlx.core.inner.html index 849f0bc61..c3a3cd024 100644 --- a/docs/build/html/python/_autosummary/mlx.core.inner.html +++ b/docs/build/html/python/_autosummary/mlx.core.inner.html @@ -8,7 +8,7 @@ - mlx.core.inner — MLX 0.29.2 documentation + mlx.core.inner — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.inner#

            -inner(a: array, b: array, /, *, stream: None | Stream | Device = None) array#
            +inner(a: array, b: array, /, *, stream: None | Stream | Device = None) array#

            Ordinary inner product of vectors for 1-D arrays, in higher dimensions a sum product over the last axes.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.isclose.html b/docs/build/html/python/_autosummary/mlx.core.isclose.html index f2b530dfc..2cc0e8052 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isclose.html +++ b/docs/build/html/python/_autosummary/mlx.core.isclose.html @@ -8,7 +8,7 @@ - mlx.core.isclose — MLX 0.29.2 documentation + mlx.core.isclose — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.isclose#

            -isclose(a: array, b: array, /, rtol: float = 1e-05, atol: float = 1e-08, *, equal_nan: bool = False, stream: None | Stream | Device = None) array#
            +isclose(a: array, b: array, /, rtol: float = 1e-05, atol: float = 1e-08, *, equal_nan: bool = False, stream: None | Stream | Device = None) array#

            Returns a boolean array where two arrays are element-wise equal within a tolerance.

            Infinite values are considered equal if they have the same sign, NaN values are not equal unless equal_nan is True.

            @@ -947,9 +947,9 @@ broadcasting.

            • a (array) – Input array.

            • b (array) – Input array.

            • -
            • rtol (float) – Relative tolerance.

            • -
            • atol (float) – Absolute tolerance.

            • -
            • equal_nan (bool) – If True, NaNs are considered equal. +

            • rtol (float) – Relative tolerance.

            • +
            • atol (float) – Absolute tolerance.

            • +
            • equal_nan (bool) – If True, NaNs are considered equal. Defaults to False.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.isfinite.html b/docs/build/html/python/_autosummary/mlx.core.isfinite.html index e63e2c533..670396471 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isfinite.html +++ b/docs/build/html/python/_autosummary/mlx.core.isfinite.html @@ -8,7 +8,7 @@ - mlx.core.isfinite — MLX 0.29.2 documentation + mlx.core.isfinite — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.isfinite#

            -isfinite(a: array, stream: None | Stream | Device = None) array#
            +isfinite(a: array, stream: None | Stream | Device = None) array#

            Return a boolean array indicating which elements are finite.

            An element is finite if it is not infinite or NaN.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.isinf.html b/docs/build/html/python/_autosummary/mlx.core.isinf.html index 9dbc16f0c..93e32616d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isinf.html +++ b/docs/build/html/python/_autosummary/mlx.core.isinf.html @@ -8,7 +8,7 @@ - mlx.core.isinf — MLX 0.29.2 documentation + mlx.core.isinf — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.isinf#

            -isinf(a: array, stream: None | Stream | Device = None) array#
            +isinf(a: array, stream: None | Stream | Device = None) array#

            Return a boolean array indicating which elements are +/- inifnity.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.isnan.html b/docs/build/html/python/_autosummary/mlx.core.isnan.html index 9353113f4..7d181a833 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isnan.html +++ b/docs/build/html/python/_autosummary/mlx.core.isnan.html @@ -8,7 +8,7 @@ - mlx.core.isnan — MLX 0.29.2 documentation + mlx.core.isnan — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.isnan#

            -isnan(a: array, stream: None | Stream | Device = None) array#
            +isnan(a: array, stream: None | Stream | Device = None) array#

            Return a boolean array indicating which elements are NaN.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.isneginf.html b/docs/build/html/python/_autosummary/mlx.core.isneginf.html index da9025184..abb25eafb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isneginf.html +++ b/docs/build/html/python/_autosummary/mlx.core.isneginf.html @@ -8,7 +8,7 @@ - mlx.core.isneginf — MLX 0.29.2 documentation + mlx.core.isneginf — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.isneginf#

            -isneginf(a: array, stream: None | Stream | Device = None) array#
            +isneginf(a: array, stream: None | Stream | Device = None) array#

            Return a boolean array indicating which elements are negative infinity.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.isposinf.html b/docs/build/html/python/_autosummary/mlx.core.isposinf.html index 115e1e582..cff948f44 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isposinf.html +++ b/docs/build/html/python/_autosummary/mlx.core.isposinf.html @@ -8,7 +8,7 @@ - mlx.core.isposinf — MLX 0.29.2 documentation + mlx.core.isposinf — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.isposinf#

            -isposinf(a: array, stream: None | Stream | Device = None) array#
            +isposinf(a: array, stream: None | Stream | Device = None) array#

            Return a boolean array indicating which elements are positive infinity.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.issubdtype.html b/docs/build/html/python/_autosummary/mlx.core.issubdtype.html index 27b348e49..17e7005c9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.issubdtype.html +++ b/docs/build/html/python/_autosummary/mlx.core.issubdtype.html @@ -8,7 +8,7 @@ - mlx.core.issubdtype — MLX 0.29.2 documentation + mlx.core.issubdtype — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.issubdtype#

            -issubdtype(arg1: Dtype | DtypeCategory, arg2: Dtype | DtypeCategory) bool#
            +issubdtype(arg1: Dtype | DtypeCategory, arg2: Dtype | DtypeCategory) bool#

            Check if a Dtype or DtypeCategory is a subtype of another.

            @@ -949,7 +949,7 @@ of another.

            second input.

            Return type:
            -

            bool

            +

            bool

            Example

            diff --git a/docs/build/html/python/_autosummary/mlx.core.jvp.html b/docs/build/html/python/_autosummary/mlx.core.jvp.html index d93f830ce..8aa82976c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.jvp.html +++ b/docs/build/html/python/_autosummary/mlx.core.jvp.html @@ -8,7 +8,7 @@ - mlx.core.jvp — MLX 0.29.2 documentation + mlx.core.jvp — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.jvp#

            -jvp(fun: Callable, primals: list[array], tangents: list[array]) tuple[list[array], list[array]]#
            +jvp(fun: Callable, primals: list[array], tangents: list[array]) tuple[list[array], list[array]]#

            Compute the Jacobian-vector product.

            This computes the product of the Jacobian of a function fun evaluated at primals with the tangents.

            @@ -941,9 +941,9 @@ at primals
            • fun (Callable) – A function which takes a variable number of array and returns a single array or list of array.

            • -
            • primals (list(array)) – A list of array at which to +

            • primals (list(array)) – A list of array at which to evaluate the Jacobian.

            • -
            • tangents (list(array)) – A list of array which are the +

            • tangents (list(array)) – A list of array which are the “vector” in the Jacobian-vector product. The tangents should be the same in number, shape, and type as the inputs of fun (i.e. the primals).

            @@ -953,7 +953,7 @@ same in number, shape, and type as the inputs of fun.

            Return type:
            -

            list(array)

            +

            list(array)

            diff --git a/docs/build/html/python/_autosummary/mlx.core.kron.html b/docs/build/html/python/_autosummary/mlx.core.kron.html index 93873557c..c6a005fd3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.kron.html +++ b/docs/build/html/python/_autosummary/mlx.core.kron.html @@ -8,7 +8,7 @@ - mlx.core.kron — MLX 0.29.2 documentation + mlx.core.kron — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.kron#

            -kron(a: array, b: array, *, stream: None | Stream | Device = None) array#
            +kron(a: array, b: array, *, stream: None | Stream | Device = None) array#

            Compute the Kronecker product of two arrays a and b.

            Parameters:
            diff --git a/docs/build/html/python/_autosummary/mlx.core.left_shift.html b/docs/build/html/python/_autosummary/mlx.core.left_shift.html index 84bbba492..a09e9e13b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.left_shift.html +++ b/docs/build/html/python/_autosummary/mlx.core.left_shift.html @@ -8,7 +8,7 @@ - mlx.core.left_shift — MLX 0.29.2 documentation + mlx.core.left_shift — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.left_shift#

            -left_shift(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
            +left_shift(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

            Element-wise left shift.

            Shift the bits of the first input to the left by the second using numpy-style broadcasting semantics. Either or both input arrays can diff --git a/docs/build/html/python/_autosummary/mlx.core.less.html b/docs/build/html/python/_autosummary/mlx.core.less.html index 4481dd051..f1504fa97 100644 --- a/docs/build/html/python/_autosummary/mlx.core.less.html +++ b/docs/build/html/python/_autosummary/mlx.core.less.html @@ -8,7 +8,7 @@ - mlx.core.less — MLX 0.29.2 documentation + mlx.core.less — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.less#

            -less(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
            +less(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

            Element-wise less than.

            Strict less than on two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.less_equal.html b/docs/build/html/python/_autosummary/mlx.core.less_equal.html index e85949843..5e3c738db 100644 --- a/docs/build/html/python/_autosummary/mlx.core.less_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.less_equal.html @@ -8,7 +8,7 @@ - mlx.core.less_equal — MLX 0.29.2 documentation + mlx.core.less_equal — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.less_equal#

            -less_equal(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#
            +less_equal(a: scalar | array, b: scalar | array, stream: None | Stream | Device = None) array#

            Element-wise less than or equal.

            Less than or equal on two arrays with numpy-style broadcasting semantics. Either or both input arrays can also be scalars.

            diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html index 3ee013dc0..df3942c28 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html @@ -8,7 +8,7 @@ - mlx.core.linalg.cholesky — MLX 0.29.2 documentation + mlx.core.linalg.cholesky — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

            mlx.core.linalg.cholesky#

            -cholesky(a: array, upper: bool = False, *, stream: None | Stream | Device = None) array#
            +cholesky(a: array, upper: bool = False, *, stream: None | Stream | Device = None) array#

            Compute the Cholesky decomposition of a real symmetric positive semi-definite matrix.

            This function supports arrays with at least 2 dimensions. When the input has more than two dimensions, the Cholesky decomposition is computed for each matrix @@ -942,7 +942,7 @@ in the last two dimensions of Parameters:

            • a (array) – Input array.

            • -
            • upper (bool, optional) – If True, return the upper triangular Cholesky factor. +

            • upper (bool, optional) – If True, return the upper triangular Cholesky factor. If False, return the lower triangular Cholesky factor. Default: False.

            • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

            • diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html index 79d27ed31..c66e9c38c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.cholesky_inv — MLX 0.29.2 documentation + mlx.core.linalg.cholesky_inv — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -141,8 +141,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`

              mlx.core.linalg.cholesky_inv#

              -cholesky_inv(L: array, upper: bool = False, *, stream: None | Stream | Device = None) array#
              +cholesky_inv(L: array, upper: bool = False, *, stream: None | Stream | Device = None) array#

              Compute the inverse of a real symmetric positive semi-definite matrix using it’s Cholesky decomposition.

              Let \(\mathbf{A}\) be a real symmetric positive semi-definite matrix and \(\mathbf{L}\) its Cholesky decomposition such that:

              @@ -949,7 +949,7 @@ in the last two dimensions of \(\math
              Parameters:
              • L (array) – Input array.

              • -
              • upper (bool, optional) – If True, return the upper triangular Cholesky factor. +

              • upper (bool, optional) – If True, return the upper triangular Cholesky factor. If False, return the lower triangular Cholesky factor. Default: False.

              • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

              • diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html b/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html index ef3fadb19..86bc153fe 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html @@ -8,7 +8,7 @@ - mlx.core.linalg.cross — MLX 0.29.2 documentation + mlx.core.linalg.cross — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                mlx.core.linalg.cross#

                -cross(a: array, b: array, axis: int = -1, *, stream: None | Stream | Device = None) array#
                +cross(a: array, b: array, axis: int = -1, *, stream: None | Stream | Device = None) array#

                Compute the cross product of two arrays along a specified axis.

                The cross product is defined for arrays with size 2 or 3 in the specified axis. If the size is 2 then the third value is assumed @@ -942,7 +942,7 @@ to be zero.

                • a (array) – Input array.

                • b (array) – Input array.

                • -
                • axis (int, optional) – Axis along which to compute the cross +

                • axis (int, optional) – Axis along which to compute the cross product. Default: -1.

                • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                • diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.eig.html b/docs/build/html/python/_autosummary/mlx.core.linalg.eig.html index e4b11bcea..2ffd38d9f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.eig.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.eig.html @@ -8,7 +8,7 @@ - mlx.core.linalg.eig — MLX 0.29.2 documentation + mlx.core.linalg.eig — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.linalg.eig#

                  -eig(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#
                  +eig(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#

                  Compute the eigenvalues and eigenvectors of a square matrix.

                  This function differs from numpy.linalg.eig() in that the return type is always complex even if the eigenvalues are all real.

                  diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html b/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html index 31874bb1e..a7580ae21 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html @@ -8,7 +8,7 @@ - mlx.core.linalg.eigh — MLX 0.29.2 documentation + mlx.core.linalg.eigh — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                  mlx.core.linalg.eigh#

                  -eigh(a: array, UPLO: str = 'L', *, stream: None | Stream | Device = None) Tuple[array, array]#
                  +eigh(a: array, UPLO: str = 'L', *, stream: None | Stream | Device = None) Tuple[array, array]#

                  Compute the eigenvalues and eigenvectors of a complex Hermitian or real symmetric matrix.

                  This function supports arrays with at least 2 dimensions. When the input @@ -943,7 +943,7 @@ computed for each matrix in the last two dimensions.

                  • a (array) – Input array. Must be a real symmetric or complex Hermitian matrix.

                  • -
                  • UPLO (str, optional) – Whether to use the upper ("U") or +

                  • UPLO (str, optional) – Whether to use the upper ("U") or lower ("L") triangle of the matrix. Default: "L".

                  • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                  • diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.eigvals.html b/docs/build/html/python/_autosummary/mlx.core.linalg.eigvals.html index f99462e7c..2f1b5acff 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.eigvals.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.eigvals.html @@ -8,7 +8,7 @@ - mlx.core.linalg.eigvals — MLX 0.29.2 documentation + mlx.core.linalg.eigvals — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                    mlx.core.linalg.eigvals#

                    -eigvals(a: array, *, stream: Optional[Union[Stream, Device]] = None) array#
                    +eigvals(a: array, *, stream: Optional[Union[Stream, Device]] = None) array#

                    Compute the eigenvalues of a square matrix.

                    This function differs from numpy.linalg.eigvals() in that the return type is always complex even if the eigenvalues are all real.

                    diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html b/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html index dc6d200f3..2eee81579 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html @@ -8,7 +8,7 @@ - mlx.core.linalg.eigvalsh — MLX 0.29.2 documentation + mlx.core.linalg.eigvalsh — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                    mlx.core.linalg.eigvalsh#

                    -eigvalsh(a: array, UPLO: str = 'L', *, stream: Optional[Union[Stream, Device]] = None) array#
                    +eigvalsh(a: array, UPLO: str = 'L', *, stream: Optional[Union[Stream, Device]] = None) array#

                    Compute the eigenvalues of a complex Hermitian or real symmetric matrix.

                    This function supports arrays with at least 2 dimensions. When the input has more than two dimensions, the eigenvalues are computed for @@ -942,7 +942,7 @@ each matrix in the last two dimensions.

                    • a (array) – Input array. Must be a real symmetric or complex Hermitian matrix.

                    • -
                    • UPLO (str, optional) – Whether to use the upper ("U") or +

                    • UPLO (str, optional) – Whether to use the upper ("U") or lower ("L") triangle of the matrix. Default: "L".

                    • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                    • diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html index a171f6236..5f15b8068 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.inv — MLX 0.29.2 documentation + mlx.core.linalg.inv — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                      mlx.core.linalg.inv#

                      -inv(a: array, *, stream: None | Stream | Device = None) array#
                      +inv(a: array, *, stream: None | Stream | Device = None) array#

                      Compute the inverse of a square matrix.

                      This function supports arrays with at least 2 dimensions. When the input has more than two dimensions, the inverse is computed for each matrix diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.lu.html b/docs/build/html/python/_autosummary/mlx.core.linalg.lu.html index d450df564..77584b72a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.lu.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.lu.html @@ -8,7 +8,7 @@ - mlx.core.linalg.lu — MLX 0.29.2 documentation + mlx.core.linalg.lu — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                      mlx.core.linalg.lu#

                      -lu(a: array, *, stream: None | Stream | Device = None) Tuple[array, array, array]#
                      +lu(a: array, *, stream: None | Stream | Device = None) Tuple[array, array, array]#

                      Compute the LU factorization of the given matrix A.

                      Note, unlike the default behavior of scipy.linalg.lu, the pivots are indices. To reconstruct the input use L[P, :] @ U for 2 @@ -954,7 +954,7 @@ in which case the default stream of the default device is used.

                      The p, L, and U arrays, such that A = L[P, :] @ U

                      Return type:
                      -

                      tuple(array, array, array)

                      +

                      tuple(array, array, array)

                      diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.lu_factor.html b/docs/build/html/python/_autosummary/mlx.core.linalg.lu_factor.html index e96bee587..95372ce3e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.lu_factor.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.lu_factor.html @@ -8,7 +8,7 @@ - mlx.core.linalg.lu_factor — MLX 0.29.2 documentation + mlx.core.linalg.lu_factor — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                      mlx.core.linalg.lu_factor#

                      -lu_factor(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#
                      +lu_factor(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#

                      Computes a compact representation of the LU factorization.

                      Parameters:
                      @@ -946,7 +946,7 @@ in which case the default stream of the default device is used.

                      The LU matrix and pivots array.

                      Return type:
                      -

                      tuple(array, array)

                      +

                      tuple(array, array)

                      diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html b/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html index b750d3353..1d69a9730 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html @@ -8,7 +8,7 @@ - mlx.core.linalg.norm — MLX 0.29.2 documentation + mlx.core.linalg.norm — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -141,8 +141,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -933,7 +933,7 @@ document.write(`

                      mlx.core.linalg.norm#

                      -norm(a: array, /, ord: None | int | float | str = None, axis: None | int | list[int] = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#
                      +norm(a: array, /, ord: None | int | float | str = None, axis: None | int | list[int] = None, keepdims: bool = False, *, stream: None | Stream | Device = None) array#

                      Matrix or vector norm.

                      This function computes vector or matrix norms depending on the value of the ord and axis parameters.

                      @@ -943,16 +943,16 @@ the ord

                      a (array) – Input array. If axis is None, a must be 1-D or 2-D, unless ord is None. If both axis and ord are None, the 2-norm of a.flatten will be returned.

                      -
                    • ord (int, float or str, optional) – Order of the norm (see table under Notes). +

                    • ord (int, float or str, optional) – Order of the norm (see table under Notes). If None, the 2-norm (or Frobenius norm for matrices) will be computed along the given axis. Default: None.

                    • -
                    • axis (int or list(int), optional) – If axis is an integer, it specifies the +

                    • axis (int or list(int), optional) – If axis is an integer, it specifies the axis of a along which to compute the vector norms. If axis is a 2-tuple, it specifies the axes that hold 2-D matrices, and the matrix norms of these matrices are computed. If axis is None then either a vector norm (when a is 1-D) or a matrix norm (when a is 2-D) is returned. Default: None.

                    • -
                    • keepdims (bool, optional) – If True, the axes which are normed over are +

                    • keepdims (bool, optional) – If True, the axes which are normed over are left in the result as dimensions with size one. Default False.

                    diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.pinv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.pinv.html index f245331c3..cf9735f0e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.pinv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.pinv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.pinv — MLX 0.29.2 documentation + mlx.core.linalg.pinv — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                    mlx.core.linalg.pinv#

                    -pinv(a: array, *, stream: None | Stream | Device = None) array#
                    +pinv(a: array, *, stream: None | Stream | Device = None) array#

                    Compute the (Moore-Penrose) pseudo-inverse of a matrix.

                    This function calculates a generalized inverse of a matrix using its singular-value decomposition. This function supports arrays with at least 2 dimensions. diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html b/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html index d111a9c84..a954dae28 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html @@ -8,7 +8,7 @@ - mlx.core.linalg.qr — MLX 0.29.2 documentation + mlx.core.linalg.qr — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                    mlx.core.linalg.qr#

                    -qr(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#
                    +qr(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#

                    The QR factorization of the input matrix.

                    This function supports arrays with at least 2 dimensions. The matrices which are factorized are assumed to be in the last two dimensions of @@ -949,7 +949,7 @@ in which case the default stream of the default device is used.

                    Q and R matrices such that Q @ R = a.

                    Return type:
                    -

                    tuple(array, array)

                    +

                    tuple(array, array)

                    Example

                    diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.solve.html b/docs/build/html/python/_autosummary/mlx.core.linalg.solve.html index c23a87d95..45dabdf90 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.solve.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.solve.html @@ -8,7 +8,7 @@ - mlx.core.linalg.solve — MLX 0.29.2 documentation + mlx.core.linalg.solve — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                    mlx.core.linalg.solve#

                    -solve(a: array, b: array, *, stream: None | Stream | Device = None) array#
                    +solve(a: array, b: array, *, stream: None | Stream | Device = None) array#

                    Compute the solution to a system of linear equations AX = B.

                    Parameters:
                    diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.solve_triangular.html b/docs/build/html/python/_autosummary/mlx.core.linalg.solve_triangular.html index 30e103ae4..9b48f06b1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.solve_triangular.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.solve_triangular.html @@ -8,7 +8,7 @@ - mlx.core.linalg.solve_triangular — MLX 0.29.2 documentation + mlx.core.linalg.solve_triangular — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,14 +932,14 @@ document.write(`

                    mlx.core.linalg.solve_triangular#

                    -solve_triangular(a: array, b: array, *, upper: bool = False, stream: None | Stream | Device = None) array#
                    +solve_triangular(a: array, b: array, *, upper: bool = False, stream: None | Stream | Device = None) array#

                    Computes the solution of a triangular system of linear equations AX = B.

                    Parameters:
                    • a (array) – Input array.

                    • b (array) – Input array.

                    • -
                    • upper (bool, optional) – Whether the array is upper or lower +

                    • upper (bool, optional) – Whether the array is upper or lower triangular. Default: False.

                    • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                    • diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html b/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html index cef24b647..87a8f7849 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html @@ -8,7 +8,7 @@ - mlx.core.linalg.svd — MLX 0.29.2 documentation + mlx.core.linalg.svd — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                      mlx.core.linalg.svd#

                      -svd(a: array, compute_uv: bool = True, *, stream: None | Stream | Device = None) Tuple[array, array, array]#
                      +svd(a: array, compute_uv: bool = True, *, stream: None | Stream | Device = None) Tuple[array, array, array]#

                      The Singular Value Decomposition (SVD) of the input matrix.

                      This function supports arrays with at least 2 dimensions. When the input has more than two dimensions, the function iterates over all indices of the first @@ -941,7 +941,7 @@ a.ndim - 2 dimensions and for each combination SVD is applied to the last two in

                      Parameters:
                      • a (array) – Input array.

                      • -
                      • compute_uv (bool, optional) – If True, return the U, S, and Vt components. +

                      • compute_uv (bool, optional) – If True, return the U, S, and Vt components. If False, return only the S array. Default: True.

                      • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                      • @@ -952,7 +952,7 @@ in which case the default stream of the default device is used.

                        A = U @ diag(S) @ Vt. If compute_uv is False returns singular values array S.

                      Return type:
                      -

                      Union[tuple(array, …), array]

                      +

                      Union[tuple(array, …), array]

                    diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html index fec897f23..72e30fa47 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.tri_inv — MLX 0.29.2 documentation + mlx.core.linalg.tri_inv — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,7 +932,7 @@ document.write(`

                    mlx.core.linalg.tri_inv#

                    -tri_inv(a: array, upper: bool = False, *, stream: None | Stream | Device = None) array#
                    +tri_inv(a: array, upper: bool = False, *, stream: None | Stream | Device = None) array#

                    Compute the inverse of a triangular square matrix.

                    This function supports arrays with at least 2 dimensions. When the input has more than two dimensions, the inverse is computed for each matrix @@ -941,7 +941,7 @@ in the last two dimensions of Parameters:

                    • a (array) – Input array.

                    • -
                    • upper (bool, optional) – Whether the array is upper or lower triangular. Defaults to False.

                    • +
                    • upper (bool, optional) – Whether the array is upper or lower triangular. Defaults to False.

                    • stream (Stream, optional) – Stream or device. Defaults to None in which case the default stream of the default device is used.

                    diff --git a/docs/build/html/python/_autosummary/mlx.core.linspace.html b/docs/build/html/python/_autosummary/mlx.core.linspace.html index f18745dbf..ff746f752 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linspace.html +++ b/docs/build/html/python/_autosummary/mlx.core.linspace.html @@ -8,7 +8,7 @@ - mlx.core.linspace — MLX 0.29.2 documentation + mlx.core.linspace — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,14 +932,14 @@ document.write(`

                    mlx.core.linspace#

                    -linspace(start, stop, num: int | None = 50, dtype: Dtype | None = float32, stream: None | Stream | Device = None) array#
                    +linspace(start, stop, num: int | None = 50, dtype: Dtype | None = float32, stream: None | Stream | Device = None) array#

                    Generate num evenly spaced numbers over interval [start, stop].

                    Parameters:
                    • start (scalar) – Starting value.

                    • stop (scalar) – Stopping value.

                    • -
                    • num (int, optional) – Number of samples, defaults to 50.

                    • +
                    • num (int, optional) – Number of samples, defaults to 50.

                    • dtype (Dtype, optional) – Specifies the data type of the output, default to float32.

                    diff --git a/docs/build/html/python/_autosummary/mlx.core.load.html b/docs/build/html/python/_autosummary/mlx.core.load.html index c2510e32c..9ea6a5d72 100644 --- a/docs/build/html/python/_autosummary/mlx.core.load.html +++ b/docs/build/html/python/_autosummary/mlx.core.load.html @@ -8,7 +8,7 @@ - mlx.core.load — MLX 0.29.2 documentation + mlx.core.load — MLX 0.29.3 documentation @@ -37,7 +37,7 @@ - + @@ -140,8 +140,8 @@ - MLX 0.29.2 documentation - Home - + MLX 0.29.3 documentation - Home + @@ -932,18 +932,18 @@ document.write(`

                    mlx.core.load#

                    -load(file: file | str | Path, /, format: str | None = None, return_metadata: bool = False, *, stream: None | Stream | Device = None) array | dict[str, array]#
                    +load(file: file | str | Path, /, format: str | None = None, return_metadata: bool = False, *, stream: None | Stream | Device = None) array | dict[str, array]#

                    Load array(s) from a binary file.

                    The supported formats are .npy, .npz, .safetensors, and .gguf.

                    Parameters:
                      -
                    • file (file, str, Path) – File in which the array is saved.

                    • -
                    • format (str, optional) – Format of the file. If None, the +

                    • file (file, str, Path) – File in which the array is saved.

                    • +
                    • format (str, optional) – Format of the file. If None, the format is inferred from the file extension. Supported formats: npy, npz, and safetensors. Default: None.

                    • -
                    • return_metadata (bool, optional) – Load the metadata for formats +

                    • return_metadata (bool, optional) – Load the metadata for formats which support matadata. The metadata will be returned as an additional dictionary. Default: False.

                    @@ -955,7 +955,7 @@ mapping names to arrays if loading from a