<commit_before>= Tensorics Core
<NAME> <<EMAIL>>, <NAME> <<EMAIL>>
2014-07-12
:icons: font
:sectanchors:
:source-highlighter: highlightjs
:examplesource: src/examples/org/tensorics/core/examples
:sourcecodedir: src/java/org/tensorics/core
:javadoc-baseurl: file://c:/Users/kaifox/Documents/work/workspace/tensorics-core/build/docs/javadoc/org/tensorics/core/tensor


Tensorics is a java framework for data processing of multidimensional data. 
The core object is a Tensor which represents a collection of values of arbitrary
types, which are addressed by coordinates in an N-dimensional space. The framework
provides several core features, which make it easy to work with big amounts of 
numerical data and drastically simplify repetitive tasks:

---
* Tensors of arbitrary dimensionality as central object.
* Tensors can have elements of any (java) type.
* Structural and numerical operations on tensors.
* Java internal DSL (fluent API) for all operations on scalars and tensors.
* Quantities (value - unit pair).
* Full support for Tensors of quantities.
* Error and Validity propagation for quantities and tensors of quantities.
* Scripting of all functionality with deferred execution, which opens the 
possibilities for parallel processing and massive distribution of calculations. 

---
 
IMPORTANT: Both, the current implementation as well as this document, are work in progress. 
The main purpose of the actual version is provide some functionality of every of the above 
mentioned categories and proofing the concepts of their interplay. Still, already the available 
subset of features should have useful applications in many contexts. Almost no effort put on 
profiling and performance optimization. Therefore, it might well be that some operations are 
quite inefficient and/or memory consuming for big objects. Such improvements are definitely planned 
for later iterations. Any contributions are welcome.<commit_msg>Update README.asciidoc<commit_after>= Tensorics Core
<NAME> <<EMAIL>>, <NAME> <<EMAIL>>
2014-07-12
:icons: font
:sectanchors:
:source-highlighter: highlightjs
:examplesource: src/examples/org/tensorics/core/examples
:sourcecodedir: src/java/org/tensorics/core

Tensorics is a java framework which uses a tensor as a central object and provides methods to create, transform and performing calculations with those tensors. 

Just as a quick glimpse, another way to see a tensor (in the sense of tensorics) is a map from a set of partial keys (which is denoted as position) to a value. Into this it can be transformed:
[source, java]
----
Tensor<Double> aTensor = /* whatever it might be */;
Map<Position, Double> map = aTensor.asMap();
----

However, in the original form (as tensor), tensorics provides a big featureset of operations, for example:

---
* Structural operations (extractions, slicing) for any value type of tensors
* Fluent API for all operations on scalars and tensors.
* Mathematical operations based on algebraic structures (e.g. Field). Mathematical operations are possible any value for which those structures are defined. A default implementation is currently provided for doubles.
* Physical Quantities (value - unit pair), currently by the use of jscience.
* Tensors of quantities.
* Error and Validity propagation for quantities and tensors of quantities.
* Expression language for deferred execution, which opens the 
possibility for parallel processing and massive distribution of calculations. 
---
 
IMPORTANT: The current implementation is work in progress. The main purpose of the actual version is provide basic functionality of every of the above mentioned categories and proofing the concepts of their interplay. 
However, the available has useful applications in many contexts and is used in many applications. 
Almost no effort was put up to now on profiling and performance optimization. Therefore, it might well be that some operations are quite inefficient and/or memory consuming for big objects. Such improvements are definitely planned
for future iterations. Any contributions are welcome.
{'fraction_non_alphanumeric': 0.05788177339901478, 'fraction_numerical': 0.003940886699507389, 'mean_word_length': 4.911208151382824, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2524938', 'n_tokens_mistral': 1003, 'n_tokens_neox': 940, 'n_words': 527}