Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
Bug Fixes/Re-organization:

	- Special Function Group Riemann Sphere Spanner (25, 26, 27)
	- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Nothing (28)
	- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Riemann Sphere (29)
	- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Complex Plane (30)
	- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Upper Half Plane (31)
	- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Map Array (32, 33)
	- Special Function Group Riemann Sphere Spanner - Constructor (34, 35, 36)
	- Special Function Group Riemann Sphere Spanner - Is Conformal (37, 38)
	- Special Function Group Riemann Sphere Spanner - Tile Indicator (39, 40, 41)
	- Special Function Group Schwarz Triangle Map (42, 43, 44)
	- Special Function Group Schwarz Christoffel Vertex (45, 46, 47)
	- Special Function Group Schwarz Christoffel Vertex - Arc Angle (48, 49)
	- Special Function Group Schwarz Christoffel Vertex - Mobius Form (50, 51)
	- Special Function Group Schwarz Christoffel Vertex - Singularity Asymptote (52, 53)
	- Special Function Group Schwarz Christoffel Vertex - Constructor (54, 55)
	- Special Function Group Schwarz Triangle Map - Singularity (56, 57)
	- Special Function Group Schwarz Triangle Map - Connection Coefficient (58, 59)
	- Special Function Group Schwarz Triangle Map - Singularity Solution 0 (60)


Samples:

IdeaDRIP:

	- Characterizing the Variations in Credit Spread (1-24)
  • Loading branch information
lakshmiDRIP committed Feb 24, 2024
1 parent 414fb77 commit a2189ba
Show file tree
Hide file tree
Showing 5 changed files with 180 additions and 96 deletions.
30 changes: 30 additions & 0 deletions ReleaseNotes/07_18_2023.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

Features:

Bug Fixes/Re-organization:

- Special Function Group Riemann Sphere Spanner (25, 26, 27)
- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Nothing (28)
- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Riemann Sphere (29)
- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Complex Plane (30)
- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Tiles Upper Half Plane (31)
- Special Function Group Riemann Sphere Spanner - Schwarz Triangle Map Array (32, 33)
- Special Function Group Riemann Sphere Spanner - Constructor (34, 35, 36)
- Special Function Group Riemann Sphere Spanner - Is Conformal (37, 38)
- Special Function Group Riemann Sphere Spanner - Tile Indicator (39, 40, 41)
- Special Function Group Schwarz Triangle Map (42, 43, 44)
- Special Function Group Schwarz Christoffel Vertex (45, 46, 47)
- Special Function Group Schwarz Christoffel Vertex - Arc Angle (48, 49)
- Special Function Group Schwarz Christoffel Vertex - Mobius Form (50, 51)
- Special Function Group Schwarz Christoffel Vertex - Singularity Asymptote (52, 53)
- Special Function Group Schwarz Christoffel Vertex - Constructor (54, 55)
- Special Function Group Schwarz Triangle Map - Singularity (56, 57)
- Special Function Group Schwarz Triangle Map - Connection Coefficient (58, 59)
- Special Function Group Schwarz Triangle Map - Singularity Solution 0 (60)


Samples:

IdeaDRIP:

- Characterizing the Variations in Credit Spread (1-24)
Binary file modified ScheduleSheet.xlsx
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@

package org.drip.specialfunction.group;

import org.drip.numerical.common.NumberUtil;

/*
* -*- mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*/

/*!
* Copyright (C) 2025 Lakshmi Krishnamurthy
* Copyright (C) 2024 Lakshmi Krishnamurthy
* Copyright (C) 2023 Lakshmi Krishnamurthy
* Copyright (C) 2022 Lakshmi Krishnamurthy
* Copyright (C) 2021 Lakshmi Krishnamurthy
* Copyright (C) 2020 Lakshmi Krishnamurthy
Expand Down Expand Up @@ -78,7 +83,7 @@

/**
* <i>RiemannSphereSpanner</i> determines the Conformality and Tile Scheme of the Schwarz Singular Triangle
* Maps over the Riemann Sphere. The References are:
* Maps over the Riemann Sphere. The References are:
*
* <br><br>
* <ul>
Expand All @@ -103,15 +108,34 @@
* Wikipedia (2019): Hyper-geometric Function https://en.wikipedia.org/wiki/Hypergeometric_function
* </li>
* </ul>
*
* It provides the following functionality:
*
* <br><br>
* <ul>
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
* <li><b>Library</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/FunctionAnalysisLibrary.md">Function Analysis Library</a></li>
* <li><b>Project</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/README.md">Special Function Implementation Analysis</a></li>
* <li><b>Package</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/group/README.md">Special Function Singularity Solution Group</a></li>
* <li>Schwarz Triangle Tiles Nothing</li>
* <li>Schwarz Triangle Riemann Nothing</li>
* <li>Schwarz Triangle Complex Nothing</li>
* <li>Schwarz Triangle Upper Half Nothing</li>
* <li><i>RiemannSphereSpanner</i> Constructor</li>
* <li>Retrieve the Schwarz Triangle Map Array</li>
* <li>Indicate if the Spanner is Conformal</li>
* <li>Indicate how the Schwarz Triangle Tiles the Riemann Sphere</li>
* </ul>
*
* <br>
* <style>table, td, th {
* padding: 1px; border: 2px solid #008000; border-radius: 8px; background-color: #dfff00;
* text-align: center; color: #0000ff;
* }
* </style>
*
* <table style="border:1px solid black;margin-left:auto;margin-right:auto;">
* <tr><td><b>Module </b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></td></tr>
* <tr><td><b>Library</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/FunctionAnalysisLibrary.md">Function Analysis Library</a></td></tr>
* <tr><td><b>Project</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/README.md">Special Function Implementation and Analysis</a></td></tr>
* <tr><td><b>Package</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/group/README.md">Special Function Singularity Solution Group</a></td></tr>
* </table>
*
* @author Lakshmi Krishnamurthy
*/

Expand Down Expand Up @@ -142,37 +166,33 @@ public class RiemannSphereSpanner

public static final int SCHWARZ_TRIANGLE_TILES_UPPER_HALF_PLANE = 3;

private org.drip.specialfunction.group.SchwarzTriangleMap[] _schwarzTriangleMapArray = null;
private SchwarzTriangleMap[] _schwarzTriangleMapArray = null;

/**
* RiemannSphereSpanner Constructor
* <i>RiemannSphereSpanner</i> Constructor
*
* @param schwarzTriangleMapArray The Schwarz Triangle Map Array
*
* @throws java.lang.Exception Thrown if the Inputs are Invalid
* @throws Exception Thrown if the Inputs are Invalid
*/

public RiemannSphereSpanner (
final org.drip.specialfunction.group.SchwarzTriangleMap[] schwarzTriangleMapArray)
throws java.lang.Exception
final SchwarzTriangleMap[] schwarzTriangleMapArray)
throws Exception
{
if (null == (_schwarzTriangleMapArray = schwarzTriangleMapArray))
{
throw new java.lang.Exception ("RiemannSphereSpanner Constructor => Invalid Inputs");
if (null == (_schwarzTriangleMapArray = schwarzTriangleMapArray)) {
throw new Exception ("RiemannSphereSpanner Constructor => Invalid Inputs");
}

int singularityCount = _schwarzTriangleMapArray.length;

if (0 == singularityCount)
{
throw new java.lang.Exception ("RiemannSphereSpanner Constructor => Invalid Inputs");
if (0 == singularityCount) {
throw new Exception ("RiemannSphereSpanner Constructor => Invalid Inputs");
}

for (int singularityIndex = 0; singularityIndex < singularityCount; ++singularityIndex)
{
if (null == _schwarzTriangleMapArray[singularityCount])
{
throw new java.lang.Exception ("RiemannSphereSpanner Constructor => Invalid Inputs");
for (int singularityIndex = 0; singularityIndex < singularityCount; ++singularityIndex) {
if (null == _schwarzTriangleMapArray[singularityCount]) {
throw new Exception ("RiemannSphereSpanner Constructor => Invalid Inputs");
}
}
}
Expand All @@ -183,7 +203,7 @@ public RiemannSphereSpanner (
* @return The Schwarz Triangle Map Array
*/

public org.drip.specialfunction.group.SchwarzTriangleMap[] schwarzTriangleMapArray()
public SchwarzTriangleMap[] schwarzTriangleMapArray()
{
return _schwarzTriangleMapArray;
}
Expand All @@ -196,10 +216,8 @@ public org.drip.specialfunction.group.SchwarzTriangleMap[] schwarzTriangleMapArr

public boolean isConformal()
{
for (org.drip.specialfunction.group.SchwarzTriangleMap schwarzTriangleMap : _schwarzTriangleMapArray)
{
if (!schwarzTriangleMap.isConformal())
{
for (SchwarzTriangleMap schwarzTriangleMap : _schwarzTriangleMapArray) {
if (!schwarzTriangleMap.isConformal()) {
return false;
}
}
Expand All @@ -212,34 +230,28 @@ public boolean isConformal()
*
* @return Indicator of how the Schwarz Triangle Tiles the Riemann Sphere
*
* @throws java.lang.Exception Thrown if the Inputs are Invalid
* @throws Exception Thrown if the Inputs are Invalid
*/

public int tileIndicator()
throws java.lang.Exception
throws Exception
{
double connectionCoefficientCumulative = 0.;
int singularityCount = _schwarzTriangleMapArray.length;

for (int singularityIndex = 0; singularityIndex < singularityCount; ++singularityIndex)
{
for (int singularityIndex = 0; singularityIndex < singularityCount; ++singularityIndex) {
double connectionCoefficient =
_schwarzTriangleMapArray[singularityIndex].connectionCoefficient();

if (!org.drip.numerical.common.NumberUtil.IsInteger (1. / connectionCoefficient))
{
if (!NumberUtil.IsInteger (1. / connectionCoefficient)) {
return SCHWARZ_TRIANGLE_TILES_NOTHING;
}

connectionCoefficientCumulative = connectionCoefficientCumulative + connectionCoefficient;
}

if (0. == connectionCoefficientCumulative)
{
return SCHWARZ_TRIANGLE_TILES_COMPLEX_PLANE;
}

return 0. > connectionCoefficientCumulative ? SCHWARZ_TRIANGLE_TILES_UPPER_HALF_PLANE :
return 0. == connectionCoefficientCumulative ? SCHWARZ_TRIANGLE_TILES_COMPLEX_PLANE :
0. > connectionCoefficientCumulative ? SCHWARZ_TRIANGLE_TILES_UPPER_HALF_PLANE :
SCHWARZ_TRIANGLE_TILES_COMPLEX_PLANE;
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@

package org.drip.specialfunction.group;

import org.drip.function.definition.R1ToR1;
import org.drip.numerical.common.NumberUtil;

/*
* -*- mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*/

/*!
* Copyright (C) 2025 Lakshmi Krishnamurthy
* Copyright (C) 2024 Lakshmi Krishnamurthy
* Copyright (C) 2023 Lakshmi Krishnamurthy
* Copyright (C) 2022 Lakshmi Krishnamurthy
* Copyright (C) 2021 Lakshmi Krishnamurthy
* Copyright (C) 2020 Lakshmi Krishnamurthy
Expand Down Expand Up @@ -78,7 +84,7 @@

/**
* <i>SchwarzChristoffelVertex</i> holds the Mobius Form of the s-Function and its Singularity Asymptote. The
* References are:
* References are:
*
* <br><br>
* <ul>
Expand All @@ -103,45 +109,60 @@
* Wikipedia (2019): Hyper-geometric Function https://en.wikipedia.org/wiki/Hypergeometric_function
* </li>
* </ul>
*
* It provides the following functionality:
*
* <br><br>
* <ul>
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
* <li><b>Library</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/FunctionAnalysisLibrary.md">Function Analysis Library</a></li>
* <li><b>Project</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/README.md">Special Function Implementation Analysis</a></li>
* <li><b>Package</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/group/README.md">Special Function Singularity Solution Group</a></li>
* <li><i>SchwarzChristoffelVertex</i> Constructor</li>
* <li>Retrieve the Mobius Form of the s-Function</li>
* <li>Retrieve the Singularity Asymptote of the s-Function</li>
* <li>Retrieve the Circular Arc Angle of a Conformal s-Function</li>
* </ul>
*
* <br>
* <style>table, td, th {
* padding: 1px; border: 2px solid #008000; border-radius: 8px; background-color: #dfff00;
* text-align: center; color: #0000ff;
* }
* </style>
*
* <table style="border:1px solid black;margin-left:auto;margin-right:auto;">
* <tr><td><b>Module </b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></td></tr>
* <tr><td><b>Library</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/FunctionAnalysisLibrary.md">Function Analysis Library</a></td></tr>
* <tr><td><b>Project</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/README.md">Special Function Implementation and Analysis</a></td></tr>
* <tr><td><b>Package</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/specialfunction/group/README.md">Special Function Singularity Solution Group</a></td></tr>
* </table>
*
* @author Lakshmi Krishnamurthy
*/

public class SchwarzChristoffelVertex
{
private double _arcAngle = java.lang.Double.NaN;
private org.drip.function.definition.R1ToR1 _mobiusForm = null;
private org.drip.function.definition.R1ToR1 _singularityAsymptote = null;
private R1ToR1 _mobiusForm = null;
private double _arcAngle = Double.NaN;
private R1ToR1 _singularityAsymptote = null;

/**
* SchwarzChristoffelVertex Constructor
* <i>SchwarzChristoffelVertex</i> Constructor
*
* @param mobiusForm Mobius Form of the s-Function
* @param singularityAsymptote Singularity Asymptote of the s-Function
* @param arcAngle Circular Arc Angle of a Conformal s-Function
*
* @throws java.lang.Exception Thrown if the Inputs are Invalid
* @throws Exception Thrown if the Inputs are Invalid
*/

public SchwarzChristoffelVertex (
final org.drip.function.definition.R1ToR1 mobiusForm,
final org.drip.function.definition.R1ToR1 singularityAsymptote,
final R1ToR1 mobiusForm,
final R1ToR1 singularityAsymptote,
final double arcAngle)
throws java.lang.Exception
throws Exception
{
if (null == (_mobiusForm = mobiusForm) ||
null == (_singularityAsymptote = singularityAsymptote) ||
!org.drip.numerical.common.NumberUtil.IsValid (_arcAngle = arcAngle))
!NumberUtil.IsValid (_arcAngle = arcAngle))
{
throw new java.lang.Exception ("SchwarzChristoffelVertex Constructor => Invalid Inputs");
throw new Exception ("SchwarzChristoffelVertex Constructor => Invalid Inputs");
}
}

Expand All @@ -151,7 +172,7 @@ public SchwarzChristoffelVertex (
* @return Mobius Form of the s-Function
*/

public org.drip.function.definition.R1ToR1 mobiusForm()
public R1ToR1 mobiusForm()
{
return _mobiusForm;
}
Expand All @@ -162,7 +183,7 @@ public org.drip.function.definition.R1ToR1 mobiusForm()
* @return Singularity Asymptote of the s-Function
*/

public org.drip.function.definition.R1ToR1 singularityAsymptote()
public R1ToR1 singularityAsymptote()
{
return _singularityAsymptote;
}
Expand Down
Loading

0 comments on commit a2189ba

Please sign in to comment.