var searchIndex = {}; searchIndex["diffgeom"] = {"doc":"**diffgeom** is a crate aiming to leverage the Rust type system to provide\na type-safe API for tensor calculus on arbitrary manifolds.","items":[[0,"coordinates","diffgeom","Module containing basic types representing coordinate systems.",null,null],[3,"Point","diffgeom::coordinates","Struct representing a point on the manifold. The information about the coordinate system is saved in the type parameter,\nso that only operations on objects belonging to the same coordinate system will be allowed.",null,null],[8,"CoordinateSystem","","`CoordinateSystem` marks a struct (usually a unit struct) as representing a coordinate system.",null,null],[16,"Dimension","","An associated type representing the dimension of the coordinate system",0,null],[11,"small","","Function returning a small value for purposes of numerical differentiation.\nWhat is considered a small value may depend on the point, hence the parameter.\nReturns just 0.01 by default.",0,{"inputs":[{"name":"point"}],"output":{"name":"f64"}}],[11,"dimension","","Function returning the dimension",0,{"inputs":[],"output":{"name":"usize"}}],[8,"ConversionTo","","Trait used for conversions between different coordinate systems. Implementing `ConversionTo<T>` for a `CoordinateSystem`\nwill allow objects in that system to be converted to the system `T` (note that `T` also has to be a `CoordinateSystem`).",null,null],[10,"convert_point","","Function converting the coordinates of a point.",1,{"inputs":[{"name":"point"}],"output":{"name":"point"}}],[11,"jacobian","","Function calculating a Jacobian at a point - that is, the matrix of derivatives of the coordinate conversions.",1,{"inputs":[{"name":"point"}],"output":{"name":"matrix"}}],[11,"inv_jacobian","","The inverse matrix of the Jacobian at a point.",1,{"inputs":[{"name":"point"}],"output":{"name":"tensor"}}],[11,"new","","Creates a new point with coordinates described by the array",2,{"inputs":[{"name":"genericarray"}],"output":{"name":"point"}}],[11,"from_slice","","Creates a new point with coordinates passed in the slice",2,null],[11,"clone","","",2,null],[11,"index","","",2,null],[11,"index_mut","","",2,null],[11,"eq","","",2,null],[0,"tensors","diffgeom","Module containing definitions of tensors and operations on them.",null,null],[3,"ContravariantIndex","diffgeom::tensors","Type representing a contravariant (upper) tensor index.",null,null],[3,"CovariantIndex","","Type representing a covariant (lower) tensor index.",null,null],[3,"Tensor","","Struct representing a tensor.",null,null],[4,"IndexType","","This enum serves to represent the type of a tensor. A tensor can have any number of indices, and each one can be either\ncovariant (a lower index), or contravariant (an upper index). For example, a vector is a tensor with only one contravariant index.",null,null],[13,"Covariant","","",3,null],[13,"Contravariant","","",3,null],[11,"clone","","",4,null],[11,"get_point","","Returns the point at which the tensor is defined.",4,null],[11,"get_coord","","Converts a set of tensor indices passed as a slice into a single index for the internal array.",4,null],[11,"get_variance","","Returns the variance of the tensor, that is, the list of the index types.\nA vector would return vec![Contravariant], a metric tensor: vec![Covariant, Covariant].",4,{"inputs":[],"output":{"name":"vec"}}],[11,"get_rank","","Returns the rank of the tensor",4,{"inputs":[],"output":{"name":"usize"}}],[11,"get_num_coords","","Returns the number of coordinates of the tensor (equal to [Dimension]^[Rank])",4,{"inputs":[],"output":{"name":"usize"}}],[11,"new","","Creates a new, zero tensor at a given point",4,{"inputs":[{"name":"point"}],"output":{"name":"tensor"}}],[11,"from_slice","","Creates a tensor at a given point with the coordinates defined by the slice.",4,null],[11,"trace","","Contracts two indices",4,null],[11,"iter_coords","","Returns an iterator over the coordinates of the tensor.",4,null],[11,"index","","",4,null],[11,"index_mut","","",4,null],[11,"index","","",4,null],[11,"index_mut","","",4,null],[11,"add","","",4,null],[11,"sub","","",4,null],[11,"mul","","",4,null],[11,"div","","",4,null],[11,"mul","","",4,null],[11,"inner_product","","",4,null],[11,"unit","","Returns a unit matrix (1 on the diagonal, 0 everywhere else)",4,{"inputs":[{"name":"point"}],"output":{"name":"tensor"}}],[11,"transpose","","Transposes the matrix",4,null],[11,"inverse","","Function calculating the inverse of `self` using the LU ddecomposition.",4,null],[11,"fmt","","",3,null],[11,"eq","","",3,null],[11,"clone","","",3,null],[11,"index_type","","",5,{"inputs":[],"output":{"name":"indextype"}}],[11,"index_type","","",6,{"inputs":[],"output":{"name":"indextype"}}],[11,"variance","","",5,{"inputs":[],"output":{"name":"vec"}}],[11,"variance","","",6,{"inputs":[],"output":{"name":"vec"}}],[6,"Joined","","Helper type for variance concatenation.",null,null],[6,"Contracted","","Helper type for contraction",null,null],[6,"Vector","","A vector type (rank 1 contravariant tensor)",null,null],[6,"Covector","","A covector type (rank 1 covariant tensor)",null,null],[6,"Matrix","","A matrix type (rank 2 contravariant-covariant tensor)",null,null],[6,"TwoForm","","A bilinear form type (rank 2 doubly covariant tensor)",null,null],[6,"InvTwoForm","","A rank 2 doubly contravariant tensor",null,null],[8,"TensorIndex","","Trait identifying a type as representing a tensor index. It is implemented\nfor `CovariantIndex` and `ContravariantIndex`.",null,null],[10,"index_type","","",7,{"inputs":[],"output":{"name":"indextype"}}],[8,"OtherIndex","","Trait representing the other index type",null,null],[16,"Output","","",8,null],[8,"Variance","","Trait identifying a type as representing a tensor variance. It is implemented for\n`CovariantIndex`, `ContravariantIndex` and tuples (Index, Variance).",null,null],[16,"Rank","","",9,null],[11,"rank","","",9,{"inputs":[],"output":{"name":"usize"}}],[10,"variance","","",9,{"inputs":[],"output":{"name":"vec"}}],[8,"Concat","","Operator trait used for concatenating two variances.",null,null],[16,"Output","","",10,null],[8,"Contract","","An operator trait representing tensor contraction",null,null],[16,"Output","","",11,null],[8,"InnerProduct","","Trait representing the inner product of two tensors.",null,null],[16,"Output","","",12,null],[10,"inner_product","","",12,null],[11,"rank","","",9,{"inputs":[],"output":{"name":"usize"}}]],"paths":[[8,"CoordinateSystem"],[8,"ConversionTo"],[3,"Point"],[4,"IndexType"],[3,"Tensor"],[3,"ContravariantIndex"],[3,"CovariantIndex"],[8,"TensorIndex"],[8,"OtherIndex"],[8,"Variance"],[8,"Concat"],[8,"Contract"],[8,"InnerProduct"]]}; initSearch(searchIndex);